我有一个ASP.Core RC2项目(使用的是.NET 4.5.1框架),应该作为x86 Web站点部署在Azure上。
在VS中的“发布设置”选项卡上,有以下值:
我想要改变的是" Target Runtime"到x86平台,但这个组合框是无效的(灰色)。
当前project.json:
{
"version": "1.0.0-*",
"dependencies": {
"Microsoft.NETCore.Platforms": "1.0.1-*",
"Microsoft.AspNetCore.Server.IISIntegration": "1.0.0-rc2-final",
"Microsoft.AspNetCore.Mvc": "1.0.0-rc2-final",
"Microsoft.AspNetCore.Server.Kestrel": "1.0.0-rc2-final",
"Microsoft.AspNetCore.StaticFiles": "1.0.0-rc2-final",
"Microsoft.AspNetCore.Diagnostics": "1.0.0-rc2-final"
},
"commands": {
"web": "Microsoft.AspNet.Server.Kestrel"
},
"buildOptions": {
"emitEntryPoint": true
},
"frameworks": {
"net451": { }
},
"publishOptions": {
"include": [
"appsettings.json",
"project.json",
"web.config",
"NlogWeb.config"
]
},
"tools": {
"Microsoft.AspNetCore.Server.IISIntegration.Tools": {
"version": "1.0.0-*",
"imports": "portable-net45+wp80+win8+wpa81+dnxcore50"
}
},
"scripts": {
"postpublish": "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%"
}
}
答案 0 :(得分:7)
当您开发自包含应用程序时,必须将所有必需的运行时添加到project.json
文件中,以便nuget / dotnet restore
可以在还原时下载运行时文件。
将win7-x86
运行时添加到project.json
应该可以解决问题。
"runtimes": {
"win7-x64": { },
"win7-x86": { }
}
当您定位便携式应用时,您不需要运行时部分,但您必须自己在目标计算机上安装运行时。有关可移植性类型如何工作和配置的更详细说明,请参阅.NET Core App Types文档。