【发布时间】:2020-03-23 16:38:37
【问题描述】:
我试图使用“ASP.NET Core Web 应用程序”在 Visual Studio 2019 中使用 dotnet core 3.1 创建一个简单的(默认)Web API。
创建(默认)应用程序后,我可以在 IIS Express 上运行它,只需在 Visual Studio 中按 F5。
然后我想发布,所以我去了 windows 功能并打开了 IIS,然后通过安装 "WebPlatformInstaller_x64_en-US.msi" 和 "dotnet-hosting-3.1.2- 对其进行配置win.exe"(用于点网核心)。
然后我在命令提示符下运行以下命令:
net stop was /y
net start w3svc
我使用 "Default Web Site/Test" 配置进行了发布,该配置指向主机:http://localhost 和带有 DotNet Core 3.1 的自包含包。
还使用“无托管代码”
创建了一个应用程序池当我去http://localhost/Test 我收到以下错误消息:
这是我的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="dotnet" arguments=".\TestApp.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="inprocess" />
</system.webServer>
</location>
</configuration>
<!--ProjectGuid: 63addee1-2c1f-4679-94f4-df9dc952d8f9-->
我不确定这是否是相关信息,当我在 IIS 中进行直通身份验证测试时,我得到以下信息:
我尝试了很多不同的发布方式,最终都收到了上述错误消息。我们如何解决这个问题?
【问题讨论】:
-
您是否安装了 ASP.NET Core Hosting Bundle,并重新启动了 W3SVC 服务以刷新 PATH 变量?
-
我已经安装了最新版本,并通过在管理员模式下运行 CMD 执行了以下操作:net stop was /y then net start w3svc
-
JexusManager 在我尝试用它打开 web.config 时抛出了完全相同的问题。
-
原来是我们的服务器不允许开启IIS。它被配置为数据服务器。我必须获得运行 IIS 的特殊权限,然后一切似乎都正常。
标签: asp.net .net asp.net-core