当我定位net451或net46框架时,我似乎无法将我的asp.net核心RC2应用程序部署到Azure。
当我尝试访问我的应用程序时出现以下错误
指定的CGI应用程序遇到错误,服务器终止了该过程。
部署到本地IIS时,一切正常。
Azure记录器给了我
无法使用命令行'%LAUNCHER_PATH %% LAUNCHER_ARGS%'启动流程,错误代码='0x80070002'。
我尝试在web.config中替换%LAUNCHER_PATH%
dotnet
和%LAUNCHER_ARGS%
myapp.exe
,但仍然会出现同样的错误。
这是我的project.json
{
"dependencies": {
"Microsoft.AspNetCore.Server.IISIntegration": "1.0.0-rc2-final",
"Microsoft.AspNetCore.Server.Kestrel": "1.0.0-rc2-final"
},
"tools": {
"Microsoft.AspNetCore.Server.IISIntegration.Tools": {
"version": "1.0.0-preview1-final",
"imports": "portable-net45+win8+dnxcore50"
}
},
"frameworks": {
"net46": {}
},
"buildOptions": {
"emitEntryPoint": true,
"preserveCompilationContext": true
},
"runtimeOptions": {
"gcServer": true
},
"publishOptions": {
"include": [
"wwwroot",
"web.config"
]
},
"scripts": {
"postpublish": [ "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%" ]
}
}
由于
答案 0 :(得分:2)
似乎更新我的web.config以指定processPath就可以了。
我还必须删除以前的发布尝试才能使其正常工作。
<aspNetCore processPath=".\myapp.exe" arguments="" forwardWindowsAuthToken="false" stdoutLogEnabled="true" stdoutLogFile="\\?\%home%\LogFiles\stdout"/>
答案 1 :(得分:0)
出现相同的症状,我检查了日志,@ Pawel建议。
日志包含FileNotFoundException,它通过向project.json
添加两个依赖项来解决。
"dependencies": {
...
"System.IO.FileSystem.Watcher": "4.0.0-rc2-24027",
"System.IO.FileSystem": "4.0.1-rc2-24027"
},
答案 2 :(得分:0)
Azure不支持net461并使用更好的net451。
"scripts": {
"postpublish": [ "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%" ]
}
发布适用于.NETFramework的SkyIsTheLimit,版本= v4.5.1 / win7-x64