【问题标题】:Configure web.config dotnet IIS配置 web.config dotnet IIS
【发布时间】:2019-12-13 23:55:10
【问题描述】:

我正在开发一个 dotnet 应用程序,遵循参考的通过,在 Ubuntu 本地上一切正常,但是现在我尝试发布到我的 Windows 服务器,当访问路由时,我自己可以从以下错误中配置它们:

在参考资料中,他会告诉我删除 web.config 中格式错误的元素,但我不知道我做错了什么,有人可以帮助我吗?

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.webServer>
    <handlers>
      <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
    </handlers>
    <aspNetCore processPath="dotnet" arguments=".\connect-app.dll" stdoutLogEnabled="true" stdoutLogFile=".\logs\stdout" forwardWindowsAuthToken="false" hostingModel="inprocess" />
  </system.webServer>
</configuration>

【问题讨论】:

  • 点击底部“查看更多信息”链接
  • 我点击它,我看到信息告诉我删除我的 web.config 中的错误格式,但我不知道出了什么问题
  • &lt;add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" /&gt; &lt;/handlers&gt; tyr 这样删除 V2
  • V2 是因为我的框架是 dotnet 3.1,没有它发布会报错

标签: .net .net-core web-config web.config-transform


【解决方案1】:

有多种方式可能导致此错误。

  • 没有正确安装和配置 ASP.NET Core Module v2。

    • here 安装 ASP.NET Core 托管包
  • 验证 IIS 模块中的 AspNetCoreModuleV2
  • 有时,文件系统可能会限制对应用程序池的某些路径的访问

    • 尝试将应用程序池标识添加到相应的 文件/文件夹

      ICACLS C:\StatusApp\ /grant "IIS AppPool\YourAppPool:F"

  • 将您的主机设置为“进程外”并查看 .NET Core 应用程序已正确实例化。

【讨论】:

    【解决方案2】:

    确保您已为 IIS 启用 ASP.NET 功能

    Install IIS and ASP.NET modules in Windows 2016

    尝试卸载和安装 IIS 运行时支持(ASP.NET Core 模块 v2)

    【讨论】:

      【解决方案3】:

      1. URL重写配置不正确或安装不正确

      错误 0x8007000d 如果您的 URL 重写模块在 web.config 中丢失或未安装正确的版本,可能会发生。

      确保通过网络平台安装程序安装 URL 重写模块。(REFERENCE)

      2。检查标准日志

      您还可以查看在 web.config 中启用的 stdlog 文本文件,以了解究竟发生了什么。

      3.ASP.NET Core 模块 v2

      最后按照其他用户的建议,确保正确安装和配置了 ASP.NET Core Module v2

      【讨论】:

        【解决方案4】:

        我的问题是由于 IIS 的安装是在 ASP.NET Core Hosting Bundle 之后完成的。这没有正确安装 ASP.NET Core Module v2。

        你应该有文件夹 C:\Program Files\IIS

        我需要修复托管包的安装,然后安装了 ASP.NET Core Module v2。

        【讨论】:

          【解决方案5】:

          我使用您提供的 0x8007000d 错误代码搜索 500.19 IIS。我发现的文章指出,当模块丢失和/或尚未安装时会发生这种情况。

          仔细检查用于 IIS 的 ASP.NET Core 模块是否已安装在带有 web.config 的系统上,然后从那里开始。

          来源

          The Horrible Story of Publishing NET Core Web Apps for Beginners

          MSDN - Host ASP.NET Core on Windows with IIS

          ASP.NET Forums

          IIS Forums


          编辑:

          您的 ApplicationHost.config 文件中有什么内容?你有&lt;section name="aspNetCore" overrideModeDefault="Allow" /&gt;吗?

          来源Error 0x8007000d when running ASP.NET Core app in IIS despite AspNetCoreModule being installed

          【讨论】:

          • 我按照 Microsoft 的教程了解了这一点,并且我看到一些文章谈论这个错误日志有多糟糕。所以我在这里发帖看看是否有人对安装他们在我的代码中的参数有更具体的了解。
          猜你喜欢
          • 2021-01-09
          • 2018-01-18
          • 1970-01-01
          • 1970-01-01
          • 2014-07-20
          • 2021-09-13
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多