我的 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 尝试了一些解决方案,但没有奏效...
【问题讨论】:
为什么有<location>
元素;这是 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 中无法正常工作