我在Visual Studio 2017中创建的.net核心API工作正常。当我去部署它时,我收到错误消息HTTP Error 500.19,错误代码为0x8007000d。我在网上找到了多个解决方案,例如确保安装了Windows功能,删除了.net CLR版本,更改了应用程序池标识,更改了web.config和applicationHost.config,但没有任何效果。有没有办法明确地找到问题所在或者我是否因为无数可能的解决方案而无法进行反复试验?您知道的任何具体解决方案?
以下是IIS设置和我的Windows功能的屏幕截图:
这是我的web.config文件:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<!--
Configure your application settings in appsettings.json. Learn more at http://go.microsoft.com/fwlink/?LinkId=786380
-->
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*"
modules="AspNetCoreModule" resourceType="Unspecified" />
</handlers>
<aspNetCore processPath="dotnet"
arguments=".\DishbooksAPI.dll"
stdoutLogEnabled="false"
stdoutLogFile=".\logs\stdout"
forwardWindowsAuthToken="false" />
</system.webServer>
</configuration>
这是IIS错误:
我尝试过的一些stackoverflow页面(这不是一个详尽的列表):
HTTP Error 500.19 when publish .net core project into iis
ASP.NET: HTTP Error 500.19 – Internal Server Error 0x8007000d
HTTP Error 500.19 - Internal Server Error web config .net core web api
asp.net core web api published in IIS after moved to different IIS server pc gives error 500.19
答案 0 :(得分:2)
首先,您需要在网络服务器中安装 ASP.NET Core Module 。 这是download link。
然后在网络服务器中安装 SDK or Runtime 。
故障排除
如果仍然无效,请打开命令提示符。导航到Web应用程序文件夹,然后键入dotnet YOUR_APP.dll
。你应该看到这样的东西 -
C:\APIs> dotnet YOUR_APP.dll
Hosting environment: Production
Content root path: C:\APIs
Now listening on: http://localhost:5000
Application started: Press Ctrl+C to shut down.
这意味着您的应用程序可以在没有IIS的Web服务器中运行。然后你需要麻烦在IIS或其他一些东西拍摄。
答案 1 :(得分:0)
您需要将托管捆绑软件安装在IIS上
https://dotnet.microsoft.com/download/dotnet-core
步骤:
为什么需要托管包?检查以下文章 https://dotnetcoretutorials.com/2019/12/23/hosting-an-asp-net-core-web-application-in-iis/
如何检查主机是否已安装? How to determine if asp.net core has been installed on a windows server