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

时间:2017-10-06 10:13:44

标签: iis asp.net-core

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

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

<aspNetCore processPath="dotnet" arguments=".\MyApp.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" />

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

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

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

  • 已安装IIS功能:相同
  • WAS和W3SVC:都在Local System
  • 下启动并运行
  • 应用程序池:都有.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-->

1 个答案:

答案 0 :(得分:4)

我也遇到了同样的问题,那是因为机器 缺少NET Core Windows Server Hosting捆绑包。如果未安装,则IIS无法识别aspNetCore

中的web.config部分

您可以从以下位置安装捆绑包。

NET Core Windows Server Hosting bundle