我的 ASP.NET Core 应用程序说它无法读取 web.config

Posted

技术标签:

【中文标题】我的 ASP.NET Core 应用程序说它无法读取 web.config【英文标题】:My ASP.NET Core app says it can't read web.config 【发布时间】:2018-08-30 17:20:08 【问题描述】:

当我访问我发布到本地 IIS 的应用时出现此错误:

HTTP 错误 500.19 - 内部服务器错误 请求的页面无法访问,因为该页面的相关配置数据无效。

我的 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=".\TreesOnMars.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" />
    </system.webServer>
  </location>
</configuration>
<!--ProjectGuid: 14bfa9ba-0bd6-4ae2-a6f4-6e3e91d35263-->

可能出了什么问题?我尝试授予所有用户阅读我的c:\inetpub\wwwroot 文件夹的权限... web.config 中没有任何明显的错误!我在this question 尝试了一些解决方案,但没有奏效...

【问题讨论】:

为什么有 元素?你自己加的吗?您是否查看了服务器的事件日志以查看是否有更多信息? 是核心吗?核心有json文件 是的,它是核心。它在带有 web.config 的 Visual Studio 中运行得很好;如何创建用于 IIS 的 JSON 文件? 我没有添加&lt;location&gt;元素;这是 Visual Studio 生成的默认配置。 错误页面应该包含一个行号。那是什么?如果为 0,则您忘记安装服务器包(包含 ASP.NET Core 模块)。 【参考方案1】:

您需要安装 .NET Core 托管捆绑包才能在 IIS 中托管 .NET Core 应用程序。该捆绑包安装 .NET Core 运行时、.NET Core 库和 ASP.NET Core 模块。 .NET Core 2.1 托管包的链接在这里:https://www.microsoft.com/net/download/thank-you/dotnet-runtime-2.1.3-windows-hosting-bundle-installer

还要确保启用了以下 Windows 功能:

更多信息可以在这里找到:

https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/iis/?view=aspnetcore-2.1&tabs=aspnetcore2x

【讨论】:

这是当前版本:microsoft.com/net/permalink/… 别忘了安装iis.net/downloads/microsoft/url-rewrite @BartDeBoeck url-rewrite 是做什么用的? @Grace weblog.west-wind.com/posts/2017/Apr/27/…

以上是关于我的 ASP.NET Core 应用程序说它无法读取 web.config的主要内容,如果未能解决你的问题,请参考以下文章

Mediatr 无法解析 ASP.Net Core 中的 UserManager

我可以使用我的 JWT 进行身份验证,但我的名称声明在我的 ASP.NET Core 应用程序中无法识别

属性路由在 asp.net core 3.0 中无法正常工作

ASP.NET Core MVC 项目无法加载程序集

为啥我的 SelectListItem 无法编辑 ASP.NET Core MVC

Asp.net core HttpsRedirectionMiddleware 无法确定重定向的 https 端口