HTTP 错误 500.19 - 在 IIS 版本 10 上部署的 ASP.NET Core 3.1.0 MVC 应用程序的内部服务器错误

HTTP 错误 500.19 - 在 IIS 版本 10 上部署的 ASP.NET Core 3.1.0 MVC 应用程序的内部服务器错误

以下是有关我们的开发环境的详细信息:

  • DevExpress 20.2.3(我们正在使用 DevExtreme)
  • Microsoft Visual Studio Enterprise 2019(版本 16.4.6)
  • ASP.NET Core 3.1.0
  • AspNetCore.Mvc 3.1.0.0
  • Microsoft SQL Server 2008 R2 (RTM) –
  • dotnet –版本 3.1.300

我们的部署服务器环境详细信息如下:

  • Windows Server 2016 标准 64 位操作系统
  • dotnet –版本 3.1.300
  • IIS 版本 10

我们的目标是使用 dotnet 命令行来构建和部署/打包:

Microsoft Windows [版本 10.0.17763.1697] (c) 2018 Microsoft Corporation。保留所有权利。

C:\Windows\system32>D:

D:>%comspec%/ k“C:\ Program Files(x86)\ Microsoft Visual Studio \ 2019 \ Enterprise \ Common7 \ Tools \ VsDevCmd.bat”


** Visual Studio 2019 开发人员命令提示符 v16.8.2 ** 版权所有 (c) 2020 Microsoft Corporation


D:>cd D:\AppCodeArena\StrangeAcmeApplication\

D:\AppCodeArena\StrangeAcmeApplication>dotnet --version

3.1.300

D:\AppCodeArena\StrangeAcmeApplication>dotnet clean

…..输出...blah….blah….blah…..输出... 0 个错误

D:\AppCodeArena\StrangeAcmeApplication>dotnet build -c Release
--runtime win10-x64 .\StrangeAcmeApplication.Uploaders.sln

…..输出...blah….blah….blah…..输出... 0 个错误

D:\AppCodeArena\StrangeAcmeApplication>dotnet publish .\src\StrangeAcmeApplication.Uploaders\StrangeAcmeApplication.Uploaders.csproj --runtime win10-x64 --no-build -c Release --output .\PublishedDirectory /p:DebugType=None /p:DebugSymbols=false /p:EnvironmentName=Development --self-contained true Microsoft (R) Build Engine 版本 16.6.0+5ff7b0c9e for .NET Core 版权所有 (C) Microsoft Corporation。保留所有权利。

StrangeAcmeApplication.Uploaders->D:\AppCodeArena\StrangeAcmeApplication\PublishedDirectory\

.\PublishedDirectory\appsettings.json 中包含以下内容:

{ “Logging”:{ “LogLevel”:{ “Default”:“信息”, “Microsoft”:“警告”, “Microsoft.Hosting.Lifetime”:“信息” } },“AllowedHosts”:“*” }

.\PublishedDirectory\appsettings.Development.json 中包含以下内容:

{“Logging”:{“LogLevel”:{“Default”:“信息”,“Microsoft”:“警告”,“Microsoft.Hosting.Lifetime”:“信息”} },“ConnectionStrings”:{“dbConnectionString”:“数据源=BlahSQLServerBlah;初始目录=BlahDatabaseInstanceBlah;持久安全信息=True;用户ID=blahUserNameblah;密码=blahblah”

} }

最后在 .\PublishedDirectory\web.config 中,我们有以下内容:

< ?xml version="1.0" encoding="utf-8"?> <configuration>   <location path="." inheritInChildApplications="false" >
    < system.webServer>
      <handlers>
        <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
      </handlers>
      <aspNetCore processPath=".\InvestorCentral.Uploaders.exe" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="inprocess">
        <environmentVariables>
          <environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Development" />
        </environmentVariables>
      </aspNetCore>
    </system.webServer>   </location> </configuration> 

但是,当我部署到 IIS 服务器时,我不断收到以下错误:

HTTP 错误 500.19-内部服务器错误

无法访问所请求的页面,因为该页面的相关配置数据无效。

详细错误信息:

IIS Web Core 模块

通知未知

处理程序尚未确定

错误代码 0x8007000d

配置错误

配置文件
\?\D:\webSites\StrangeAcmeApplication.Published\web.config

请求的 URL http://localhost:32769/

物理路径

登录方式尚未确定

登录用户 尚未确定

配置来源:-1:0:

答案1

@lex-li 和 @yiyi-you 感谢您的评论。

我感觉有点傻,因为问题在于所讨论的服务器需要安装.NET Core Hosting Bundle(就我而言,它特别是用于 x64 位的 .Net Core 3.1.12 Hosting Bundle):

https://dotnet.microsoft.com/download/dotnet-core/3.1

相关内容