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

问题描述 投票:6回答:1

我有一个.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:在本地系统下启动和运行
  • 应用程序池:都具有.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-->
iis asp.net-core
1个回答
5
投票

我也面临同样的问题,因为该机器缺少NET Core Windows Server Hosting捆绑包。如果未安装,则IIS无法识别aspNetCore中的web.config部分

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

NET Core Windows Server Hosting bundle

© www.soinside.com 2019 - 2024. All rights reserved.