如何配置 .net 核心 API 以在 IIS 中工作?

boi*_*222 6 deployment iis iis-7 .net-core asp.net-core

我在 Visual Studio 2017 中创建了一个运行良好的 .net 核心 API。当我去部署它时,我收到错误消息 HTTP 错误 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>
Run Code Online (Sandbox Code Playgroud)

这是 IIS 错误:

在此处输入图片说明

我尝试过的一些 stackoverflow 页面(这不是一个详尽的列表):

将 .net 核心项目发布到 iis 时出现 HTTP 错误 500.19

部署 .net 核心应用程序时出现 HTTP 错误 500.19,错误代码为 0x8007000d Visual Studio 2017

ASP.NET:HTTP 错误 500.19 – 内部服务器错误 0x8007000d

HTTP 错误 500.19 - 内部服务器错误 web config .net core web api

移动到不同的 IIS 服务器后,在 IIS 中发布的 asp.net core web api 给出错误 500.19

Win*_*Win 5

首先,您需要在 Web 服务器中安装ASP.NET Core 模块。这是下载链接

然后在 Web 服务器中安装SDK 或 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.
Run Code Online (Sandbox Code Playgroud)

这意味着您的应用程序可以在没有 IIS 的 Web 服务器中运行。然后你需要在 IIS 或其他一些事情中进行故障排除。


归档时间:

查看次数:

4820 次

最近记录:

5 年,8 月 前