繁体   English   中英

IIS 错误 500.19 读取 web.config 时出错

[英]IIS error 500.19 error when reading web.config

我在 Windows Server 2016 下运行 IIS 并且我正在尝试运行 ASP.Net core 3.1 应用程序,但我无法克服这个错误: 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="AspNetCoreModuleV2" resourceType="Unspecified" />
      </handlers>
      <aspNetCore processPath=".\Minibizz.Routing.Web.exe" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="inprocess" />
    </system.webServer>
  </location>
</configuration>

我错过了什么? PS:web.config 是由 Visual Studio 2019 创建的。

问题背后的原因:该错误消息继续说明您的配置文件到底有什么问题,因此您应该参考“配置错误”和“配置源”部分。 出现此问题的原因是 ApplicationHost.config 文件或 Web.config 文件包含格式错误或不受支持的 XML 元素。

如果您正在使用 url rewrite 规则,则安装 url rewrite iis 扩展。 启用 ANCM 日志记录,即。 设置 stdoutLogEnabled="true" stdoutLogFile=".\\logs\\stdout\\"(我认为路径需要以反斜杠结尾),然后运行 ​​Web 应用程序并查看是否有内容记录到 stdout 文件夹中。 验证日志目录是否存在于 Web 配置引用的路径中。 如果没有,请创建它。 配置中显示的路径会将“logs”目录放置在已部署站点的根文件夹中。 验证应用程序池是否具有对日志目录的写访问权限。

确保你安装了 .net bundle。检查你在 iis 功能下面安装的:

在此处输入图片说明

您可能还需要验证 dotnet 可执行文件的路径是否存在于部署计算机的环境变量中。 要检查这一点,首先要找到 dotnet.exe 的安装路径。 它通常位于 C:\\Program Files\\dotnet 或 C:\\Program Files (x86)\\dotnet。 知道路径后,请确保该路径存在于您的环境变量中。

web.config 内容似乎是正确的。 如果您使用干净的 web.config 副本,问题是否仍然存在? 如果问题可以通过用干净的配置内容替换 web.config 来解决,那么问题就出在这个 web.config 上。 在这种情况下,我建议您删除部分 web.config 内容以缩小问题范围。 如果删除一个部分后页面显示正确,则问题出在该部分。 您需要仔细检查该部分有什么问题并更新正确的配置。

如果即使使用干净的 web.config 内容问题仍然存在,我建议您访问站点中不同文件夹中的其他页面,以查看问题是否仍然存在。

您可以参考以下链接,了解如何在 iis 中发布 asp.net 核心站点:

https://docs.microsoft.com/en-us/aspnet/core/tutorials/publish-to-iis?view=aspnetcore-3.1&tabs=visual-studio

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM