在我使用的ASP.NET Core 1.0中:
“Microsoft.AspNetCore.Server.IISIntegration.Tools”:“1.0.0-preview2-final”
要运行dotnet发布命令,但在ASP.NET Core 1.1中,我开始收到以下错误:
包Microsoft.AspNetCore.Server.IISIntegration.Tools 1.1.0-preview4-final与net462(.NETFramework,Version = v4.6.2)不兼容 . 包Microsoft.AspNetCore.Server.IISIntegration.Tools 1.1.0-preview4-final支持:netcoreapp1.0(.NETCoreApp,Version = v1.0)
我怎样才能在ASP.NET Core和常规.NET框架中使用“dotnet-publish-iis”?
project.json:
{
"dependencies": {
"Dapper": "1.50.2",
"log4net": "2.0.5",
"Microsoft.AspNetCore.Authorization": "1.1.0",
"Microsoft.AspNetCore.Diagnostics": "1.1.0",
"Microsoft.AspNetCore.Routing": "1.1.0",
"Microsoft.AspNetCore.Server.IISIntegration": "1.1.0",
"Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.1.0-preview4-final",
"Microsoft.AspNetCore.Server.Kestrel": "1.1.0",
"Microsoft.AspNetCore.StaticFiles": "1.1.0",
"Microsoft.Extensions.Caching.Abstractions": "1.1.0",
"Microsoft.Extensions.Caching.Memory": "1.1.0",
"Microsoft.Extensions.Configuration.FileExtensions": "1.1.0",
"Microsoft.Extensions.Configuration.Json": "1.1.0",
"Microsoft.Extensions.Logging.Console": "1.1.0",
"Microsoft.Extensions.Logging.Debug": "1.1.0",
"Microsoft.Extensions.Options.ConfigurationExtensions": "1.1.0"
},
"tools": {
"Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.1.0-preview4-final"
},
"frameworks": {
"net462": {}
},
"buildOptions": {
"emitEntryPoint": true,
"preserveCompilationContext": true
},
"publishOptions": {
"include": [
"wwwroot",
"web.config",
"appsettings.json",
"log4net.xml",
]
},
"scripts": {
"prepublish": [ ],
"postpublish": [ "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%" ]
},
"configurations": {
"Debug": {
"buildOptions": {
"define": [
"DEBUG",
"TRACE"
]
}
},
"Integration": {
"buildOptions": {
"define": [
"DEBUG",
"TRACE"
]
}
},
"Production": {
"buildOptions": {
"define": [ "RELEASE", "TRACE" ],
"optimize": true
}
}
}
}
1 回答
1)将所有软件包更新到1.1.0版(以及工具的相应预览)
2)工具包应安装在
project.json
的tools
部分,而不是dependencies
.因此,请确保在
project.json
的工具部分下添加IISIntegration.Tools
,如下所示 -3)删除旧的
project.lock.json
并再次运行dotnet restore
.4)现在您可以使用 -
dotnet publish
发布看看这是否有帮助 .