.Net Core 2.1 webapi服务的web.config

时间:2018-10-21 14:58:13

标签: c# iis asp.net-core-webapi

我有一个小型的webapi服务,该服务可在Visual Studio下运行,但不能在IIS下运行。 我做了下一个:

  1. 新应用程序已添加到IIS控制台中的默认网站。
  2. 应用程序已通过文件系统从VS发布到VS的应用程序文件夹中 (选择了依赖于框架的选项和“便携式”选项。)

当我尝试使用我的应用访问文件夹(例如http://localhost/example/)时,收到500.19错误,代码为0x8007000d。我读到如果ApplicationHost.configWeb.config的XML选项错误,就会发生此错误。我使用VS生成的默认Web.config文件(我不使用ApplicationHost.config),但我不知道其中有什么不好。这是我的Web.config文件:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <location path="." inheritInChildApplications="false">
    <system.webServer>
      <handlers>
        <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
      </handlers>
      <aspNetCore processPath="dotnet" arguments=".\Service.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" />
    </system.webServer>
  </location>
</configuration>

2 个答案:

答案 0 :(得分:1)

Lex Li写了一篇很棒的文章:https://blog.lextudio.com/the-horrible-story-of-publishing-net-core-web-apps-for-beginners-6121662dd8c4,其中描述了发布.NET Core Web Apps的问题。

就我而言,我没有安装ASP.NET Core主机捆绑包。一个简单的解决方案很难找到,因为很难理解应该搜索什么。

答案 1 :(得分:0)

我遇到了完全相同的问题,除了标出正确答案之外,这对我也有帮助:

我安装了ASP.NET Core主机捆绑包,但仍然收到相同的错误。

修复,安装解决了我的问题。

Programs and Features -> Repair "Windows Server Hosting"

”如果在IIS之前安装了主机捆绑包,则必须修复捆绑包安装。在安装IIS之后,再次运行主机捆绑包安装程序。 如果在安装64位(x64)版本的.NET Core之后安装了主机捆绑包,则可能似乎缺少SDK(未检测到.NET Core SDK)。要解决此问题,请参阅对ASP.NET Core项目进行故障排除。” -Install the .NET Core Hosting Bundle