我试图使用“ASP.NET核心Web应用程序”在Visual Studio 2019中使用dotnet core 3. 1创建一个简单的(默认)Web API。
创建(默认)应用程序后,我可以通过在Visual Studio中按F5在IIS Express上运行它。
然后我想发布,所以我去了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中进行传递身份验证测试时,我得到了以下信息:
我尝试了这么多不同的方式发布,他们都在最后得到上述错误信息。我们该如何解决这个问题?
3条答案
按热度按时间mkshixfv1#
1.确保相应的应用程序池未配置托管代码
1.确保您已安装.NET核心托管包
insrf1ej2#
IMO,我建议您看一下此演练:
https://learn.microsoft.com/en-us/aspnet/core/host-and-deploy/iis/?view=aspnetcore-3.1
尝试检查Windows Process Activation Service(WAS)是否已在系统(服务器)上激活。
设置stdoutLogEnabled=“true”以在日志文件中获取应用的更多详细错误信息。或者在Startup.cs类中打开开发人员错误页。
quhf5bfb3#
在我的案例中,我在IIS win server 2019上附加了.NET Core 3.1应用程序
我已经安装了.net core 3.1运行时和托管包,但出现了一些问题
当我在本地计算机上检查时,我错过了:
我安装后。net核心桌面运行时的错误消失。
可能运行时需要另一个安装程序。