繁体   English   中英

IIS 和 NET Core HTTP 错误 500.30 - ANCM 进程中启动失败 .net 核心 3.1

[英]IIS and NET Core HTTP Error 500.30 - ANCM In-Process Start Failure .net core 3.1

我已经从模板在 .NET Core 中创建了应用程序 - 使用 Angular 和身份验证。 .NET Core 3.1 在属性->调试->中,对于 IIS 配置文件,我已将托管 Model 设置为进程外。 但在 Web.config 中,我仍在处理中。 我已经从这个站点安装了 ASP Core Runtime: https://dotnet.microsoft.com/download/dotnet/current当我以 IIS Express 运行我的项目时,它可以工作。 但是当我将发布的文件复制到 IIS 文件夹时,我有错误:

HTTP Error 500.30 - ANCM In-Process Start Failure
Common solutions to this issue:
The application failed to start
The application started but then stopped
The application started but threw an exception during startup
Troubleshooting steps:
Check the system event log for error messages
Enable logging the application process' stdout messages
Attach a debugger to the application process and inspect
For more information visit: https://go.microsoft.com/fwlink/?LinkID=2028265 

我已经尝试了许多来自互联网的解决方案,因为错误是众所周知的,但没有结果。

我的 dotnet 信息:

C:\tasks\TestApp\WebApplication2\WebApplication2>dotnet --info
.NET Core SDK (reflecting any global.json):
 Version:   3.1.300
 Commit:    b2475c1295

Runtime Environment:
 OS Name:     Windows
 OS Version:  10.0.17763
 OS Platform: Windows
 RID:         win10-x64
 Base Path:   C:\Program Files\dotnet\sdk\3.1.300\

Host (useful for support):
  Version: 3.1.4
  Commit:  0c2e69caa6

.NET Core SDKs installed:
  1.1.0 [C:\Program Files\dotnet\sdk]
  2.0.2 [C:\Program Files\dotnet\sdk]
  2.1.4 [C:\Program Files\dotnet\sdk]
  2.1.202 [C:\Program Files\dotnet\sdk]
  2.1.507 [C:\Program Files\dotnet\sdk]
  2.1.508 [C:\Program Files\dotnet\sdk]
  2.2.103 [C:\Program Files\dotnet\sdk]
  3.0.100 [C:\Program Files\dotnet\sdk]
  3.1.300 [C:\Program Files\dotnet\sdk]

.NET Core runtimes installed:
  Microsoft.AspNetCore.All 2.1.11 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.1.12 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.1.18 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.2.1 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.App 2.1.11 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.1.12 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.1.18 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.2.1 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 3.0.0 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 3.1.4 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 1.0.5 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 1.1.2 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.0.0 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.0.5 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.0.9 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.11 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.12 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.18 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.2.1 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 3.0.0 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 3.1.4 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.WindowsDesktop.App 3.0.0 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
  Microsoft.WindowsDesktop.App 3.1.4 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]

To install additional .NET Core runtimes or SDKs:
  https://aka.ms/dotnet-download

我已将 InProcess 更改为 OutOfProcess,现在我的配置如下所示:

<system.webServer>
    <handlers>
      <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
    </handlers>
    <aspNetCore processPath="dotnet" arguments=".\WebApplication2.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="OutOfProcess" />
  </system.webServer>

我得到错误:

An error occurred while starting the application.

在整整 1 天后,我找到了一个很好的解决方案,请注意以下几点:-

  1. go 通过 cmd 到您的项目文件夹。
  2. 键入 dotnet publish --e/:output (注意这将在 e 驱动器 output 文件夹中发布代码)
  3. go 到 output 文件夹通过 cmd
  4. 键入 dotnet <project-name.dll>(这将在 localhost:5003 中运行应用程序)
  5. 如果上述步骤出现任何问题,这将显示在 cmd 中,我曾遇到过缺少一个文件夹的问题。 一旦我添加了文件夹,问题就解决了。

在此处输入图像描述

您可以在 ASP.NET 核心应用程序文件夹中编辑web.config 默认情况下,它位于wwwroot文件夹内。

AspNetCoreHostingModelhostingModel的值更改为OutOfProcess

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
  <location path="." inheritInChildApplications="false"> 
    <system.webServer>
      <handlers> 
        <add name="aspNetCore" path="" verb="" modules="AspNetCoreModule" resourceType="Unspecified" /> 
      </handlers> 
      <aspNetCore processPath=".\fad.exe" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="OutOfProcess" /> 
    </system.webServer> 
  </location> 
</configuration> 
<!--ProjectGuid: 4904ffb5-a4a6-4e5a-bc46-51d1171d82b0-->

您是否注意到您的发布配置文件显示为在此处输入图像描述

所以请把 go 放到你项目的根目录下,然后用记事本打开.csproj。

然后修改<AspNetCoreHostingModel>InProcess</AspNetCoreHostingModel>

<AspNetCoreHostingModel>OutOfProcess</AspNetCoreHostingModel>

并重新发布。

或者您可以尝试将发布配置文件从<MSDeployPublishMethod>InProcess</MSDeployPublishMethod>修改为<MSDeployPublishMethod>OutofProcess</MSDeployPublishMethod>然后修改

从 IIS web.config 中的 asp.net 核心处理程序中的 hostingModel="inprocess hostingModel="inprocess"hostingModel="OutOfProcess"

现在我知道 dotnet 命令生成的项目有效:

dotnet new mvc
dotnet restore
dotnet build
dotnet publish

当我将文件从发布文件夹复制到文件夹 wwwroot/myapp 时,它可以工作但是当我在 Visual Studio 中打开这个项目并保存项目时,它会创建 .sln 文件。 然后我从 Visual Studio 发布,它不起作用。 dotnet发布和 Visual Studio 发布有什么区别?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM