1、如果从Visual Studio运行应用程序时遇到此错误,请在“解决方案资源管理器”中右键单击项目文件,然后单击“编辑项目文件”(如果看不到此选项,请转到文件夹并在任何编辑器中编辑项目文件),它将在Visual Studio中打开.csproj文件(如果使用C#)。
<PropertyGroup>
<TargetFramework>netcoreapp2.2</TargetFramework>
<AspNetCoreHostingModel>InProcess</AspNetCoreHostingModel>
</PropertyGroup>
在.csproj文件中,将AspNetCoreHostingModel值从InProcess更改为OutProcess,然后重新运行应用程序。
2、如果仍然无法解决您的问题,请在<PropertyGroup>中添加以下代码:
<AspNetCoreModuleName>AspNetCoreModule</AspNetCoreModuleName>
3、如果在.csproj文件中找不到<PropertyGroup>,请在“解决方案资源管理器”中右键单击项目,单击“属性”,转到“调试”部分,您将在“Web服务器设置”下找到“托管模型”选项,选择“进程外”,保存它并重新运行项目。
现在让我们看看这个错误意味着什么。这是一个非常常见的错误,错误本身表明,当您使用visualstudio中的“InProcess”选项运行项目时,这是“启动失败”。因此,出现这种错误的原因可能很少。
ASP.NET Core 2.2应用程序在Visual Studio的IIS Express上运行。要启用输出进程宿主,将添加csproj元素AspNetCoreHostingModel以在.csproj文件或web.config文件文件。此外,还有web.config文件指向一个名为AspNetCoreModuleV2的新模块,该模块对于进程内托管是必需的,而对于进程外托管,则需要AspNetCoreModule。
您正在部署的服务器没有ANCMV2,您不能使用IIS进程内托管。在这种情况下,正确的行为是在服务器上安装dotnet宿主包,或者降级到AspNetCoreModule。