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

cnh2zyt3  于 2023-04-21  发布在  其他
关注(0)|答案(1)|浏览(484)

我在Windows Server 2016下运行IIS,并尝试运行ASP.Net Core 3.1应用程序,但无法克服此错误:500.19 error
(The图片中的语言是匈牙利语,但它不包含任何有用的信息,只是一个例子)这里是我的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>

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

zyfwsgd6

zyfwsgd61#

问题背后的原因:该错误消息继续说明您的配置文件的具体错误,因此您应该参考“配置错误”和“配置源”部分。出现此问题的原因是ApplicationHost.config文件或Web.config文件包含格式错误或不受支持的XML元素。
如果使用url重写规则,请安装url重写iis扩展。启用ANCM日志记录,即设置stdoutLogEnabled=“true”stdoutLogFile=".\logs\stdout\”(我觉得路径需要以反斜杠结尾),然后运行web应用,看看有没有什么东西被登录到stdout文件夹,验证log目录是否存在于web config引用的路径,如果不存在创建它。配置中显示的路径会将“logs”目录放置在已部署站点的根文件夹中。验证应用程序池是否具有对logs目录的写访问权限。
请确保您安装了.net包。检查您是否安装了下面的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内容,问题仍然存在,我建议您访问站点中不同文件夹中的其他页面,以查看问题是否仍然存在。
您可以参考下面的链接,了解如何asp.net在iis中发布www.example.com核心站点:
https://learn.microsoft.com/en-us/aspnet/core/tutorials/publish-to-iis?view=aspnetcore-3.1&tabs=visual-studio

相关问题