我按照迁移指南将项目从asp.net core 2.2迁移到了3.0。
解决了几个问题后,以dotnet run
开头就可以了。
但是,当我尝试使用IIS Express运行/调试时,出现以下错误:
HTTP错误500.30-ANCM进程内启动失败
此问题的常见解决方案:
- 应用程序无法启动
- 应用程序启动但随后停止
- 该应用程序已启动,但在启动过程中引发了异常
故障排除步骤:
- 检查系统事件日志以获取错误消息
- 启用记录应用程序进程的标准输出消息
- 将调试器附加到应用程序进程并进行检查
Visual Studio中“ ASP.NET Core Web Server”的输出窗口显示以下错误:
错误:未知命令'%LAUNCHER_ARGS%'
Windows事件查看器中的错误条目也是如此
<EventData>
<Data>Application '/LM/W3SVC/2/ROOT' with physical root 'C:\Path\To\Project\' has exited from Program.Main with exit code = '1'. First 30KB characters of captured stdout and stderr logs: ERROR: Unknown command '%LAUNCHER_ARGS%'</Data>
<Data>Process Id: 7092.</Data>
<Data>File Version: 13.0.19258.0. Description: IIS ASP.NET Core Module V2 Request Handler. Commit: aee5e4080331553ea9dfb7fb388b6d72f715bf6a</Data>
</EventData>
紧随其后:
<EventData>
<Data>Application '/LM/W3SVC/2/ROOT' with physical root 'C:\Path\To\Project\' failed to load coreclr. Exception message: CLR worker thread exited prematurely</Data>
<Data>Process Id: 7092.</Data>
<Data>File Version: 13.0.19258.0. Description: IIS ASP.NET Core Module V2 Request Handler. Commit: aee5e4080331553ea9dfb7fb388b6d72f715bf6a</Data>
</EventData>
我最初的想法是我的系统设置有问题,但是一个新的ASP.NET Core 3.0项目在IIS Express中运行没有问题。我比较了项目的两个applicationhost.config
文件,它们是相同的(除了项目名称之类的差异之外)。在其他项目文件(Project.csproj
,appsettings.json
,launchSettings.json
)中,我也找不到任何有意义的区别。我还尝试删除.vs
文件夹和.user
文件。
错误消息表明我的代码不是问题。毫无例外,附加的调试器会中断,并且使用dotnet run
似乎一切正常。通过模板创建的新项目运行时没有这些问题。
答案 0 :(得分:0)
我能够确定问题所在。我犯的一个错误是,实际上是我们的应用程序抱怨时,将ERROR: Unknown command
消息归因于ASP.NET。
%LAUNCHER_ARGS%
参数仍传递给应用程序,但不再在进程内托管上下文中设置。