我有一个.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和.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-->
答案 0 :(得分:4)
我也遇到了同样的问题,那是因为机器
缺少NET Core Windows Server Hosting捆绑包。如果未安装,则IIS无法识别aspNetCore
web.config
部分
您可以从以下位置安装捆绑包。