web.config中的Asp.Net Core标记导致失败

Kla*_*aek 8 iis asp.net-core

我有一个.NET Core应用程序,可以在一台机器上运行,但在另一台机器上运行

问题是应用程序无法加载,因为IIS无法识别以下内容

<aspNetCore processPath="dotnet" arguments=".\MyApp.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" />
Run Code Online (Sandbox Code Playgroud)

结果是当我单击IIS身份验证配置时,出现错误.如果我删除aspNetCore标签,我可以查看身份验证设置,但实际上应用程序并没有启动.

在开始提供有关不使用web.config.NET Core的建议之前,请记住它可以在我的其他计算机上运行.此外,我需要使用Windows安全和ASP.NET模拟.

两台机器都运行Windows 10 Pro,我检查了以下内容

  • 安装的IIS功能:相同
  • WAS和W3SVC:在本地系统下启动和运行
  • 应用程序池:都具有.Net 4.0 CLR,经典模式
  • 文件夹和文件安全性:相同
  • 应用程序和所有dll的二进制比较:相同

我通常不使用IIS和.NET,所以我很困惑我的应用程序在两个看似相同的安装之一中断.我已经用完了要检查的东西.任何帮助或指针将不胜感激.

这是完整的 web.config

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.web>
    <authentication mode="Windows" />
    <authorization>
      <deny users="?" />
    </authorization>
    <identity impersonate="true" />
  </system.web>
  <system.webServer>
    <handlers>
      <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
    </handlers>
    <aspNetCore processPath="dotnet" arguments=".\MyApp.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" />
  </system.webServer>
</configuration>
<!--ProjectGuid: a447f5e7-6aee-4d26-bef4-c7111a88c409-->
Run Code Online (Sandbox Code Playgroud)

Kir*_*n B 6

我也遇到了同样的问题,这是因为计算机缺少NET Core Windows Server Hosting捆绑包。如果未安装,则IIS无法识别该aspNetCore部分。web.config

您可以从下面的位置安装捆绑软件。

NET Core Windows Server主机捆绑包

  • 这正是我的问题,尽管博客 https://blogs.msdn.microsoft.com/rohithrajan/2018/03/13/500-19-error-or-502-5-error-when-hosting-asp -net-core-2-application-inside-iis/ 实际上链接到旧版本。https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/iis/?view=aspnetcore-3.1#install-the-net-core-hosting-bundle 声称是最新的。 (2认同)
  • 此外,错误版本的 Hosting Bundle 也会出现此错误。 (2认同)