NET: HTTP 错误500.19-内部服务器错误0x8007000d

我正在复制 Web 应用程序部署,并发现了几个与 HTTP Error 500.19相关的问题。我的机器正在运行 视窗7,而工作开发正在使用 视窗8。我们正在使用 Visual Studio 2010开发 Web 应用程序。

首先,我得到了错误代码 0x80070021,类似于公布的 给你。 我根据接受的答案更新了 web.config,然后得到了下面的错误代码(类似于发布的 给你)。

HTTP Error 500.19 - Internal Server Error
Error Code 0x8007000d
Config Source -1: 0:

我已经阅读了 微软支持页面中的症状定义,错误的原因是:

发生此问题是因为 ApplicationHost.config 文件或 Web.config 文件包含一个格式不正确的 XML 元素

解决办法就是

从 ApplicationHost.config 文件或 Web.config 文件中删除格式不正确的 XML 元素。

但是,我使用的 web.config 在原始开发环境中工作得很好。

以下是我到目前为止所做的检查和尝试:

  1. 通过调用 aspnet _ regiis-i 安装 ASP.NET
  2. 将我的应用程序设置为使用不同的应用程序池(ASP.NET v4.0、 . NET v4等)
  3. Config 文件仍然使用 Windows 7中的默认值。

这是 Web.Config 的一部分

<system.webServer>
<section name="handlers" overrideModeDefault="Allow" />
<section name="modules" allowDefinition="MachineToApplication" overrideModeDefault="Allow" />
<validation validateIntegratedModeConfiguration="false" />
<modules runAllManagedModulesForAllRequests="true">
</modules>
<handlers>
<remove name="UrlRoutingHandler" />
<add name="ReportViewerWebControlHandler" preCondition="integratedMode" verb="*" path="Reserved.ReportViewerWebControl.axd" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</handlers>
<urlCompression doStaticCompression="true" doDynamicCompression="false"></urlCompression>
<directoryBrowse enabled="true" />
<defaultDocument>
<files>
<add value="Logon.aspx" />
</files>
</defaultDocument>
</system.webServer>

我读过堆栈溢出中类似的/重复的/关闭的帖子(大约13篇) ,除了与 Ajax 相关的答案(是否相关)之外都试过了,但仍然不知道错误是什么。

有人知道如何修复这个错误吗?(如果可能的话,我们需要检查一个全面的清单,这样我们就可以减少类似的帖子。)我准备提供更多细节。

234752 次浏览

问题解决了。以下是我尝试过的步骤:

  • 在 IIS-> 应用程序池-> 高级设置中启用32位应用程序
  • 将 System.EnterpriseServices.dll 和 System.EnterpriseServices.Wrapper.dll 从 C: Windows Microsoft.NET Framework v2.0.50727复制到应用程序 bin 文件夹
  • 对 web.config 上的节执行注释/取消注释,发现与引用的 DLL 相关的问题。

我注释了前面添加的配置:

<section name="handlers" overrideModeDefault="Allow" />
<section name="modules" allowDefinition="MachineToApplication" overrideModeDefault="Allow"/>
  • 将 Compres.DLL V2.1.0.0使用的所需 FasterFlect.DLL 添加到应用程序 bin 文件夹(应该从 Combres.codex.2.0.3732.24338下载完整的 zip,因为所需的 Fasterflect.DLL V2.0.3732.24338不能在 fasterflect co x 中找到)和其他 DLL。为了方便起见,请使用完整的 Combres.DLL (1,3 MB)
  • 检查在 web.config 中使用工具(例如.NET Refector)正确配置了 DLL 版本和公钥令牌

错误0x8007000d 意味着没有安装 缺少 URL 重写模块(在 web.config 中引用)或正确的版本。

只需通过网络平台安装程序安装 URL 重写模块。

我建议检查 web.config 中的所有依赖项并安装它们。

在我的示例中,因为我重新安装了 iis,所以需要使用以下命令将 iis 注册为.net 4:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i

安装 URL 重写:

更新-这是现在可在这里(和工程 IIS7-10) :

Https://www.iis.net/downloads/microsoft/url-rewrite

确保您的 IIS 服务器设置为“允许”:

enter image description here

这里的聚会有点晚了,但是我一直在纠结于完全相同的问题(症状) ,并诅咒缺乏错误详细报告。 它在 IIS 8 + 机器上工作得很好,但是 Win 7得到了这些 INSTANT HTTP 500.19错误。 对我来说,这就像在配置文件中有一个不受支持的配置元素一样愚蠢:

 <applicationInitialization doAppInitAfterRestart="true">
<add initializationPage="/" />
</applicationInitialization>

因此,虽然运行旧的 web.config 文件工作良好,我只是区分他们,并开始削减新的块,直到我得到的页面开始加载。如果我认为这是一个答案,我会立即走这条路,因为我知道没有一个流行的解决方案是相关的。就是这样:)

对我来说,这一切都是关于设置我的网络服务器,使用最新和最伟大的技术,以支持我的 ASP.NET 5应用程序!

下面的网址给了我所有我需要的提示:

Https://docs.asp.net/en/1.0.0-rc1/publishing/iis-with-msdeploy.html

希望这对你有帮助:)

当我试图设置一个 .NET Core 1.0网站时,我得到了这个错误,并尝试了所有我能找到的东西,但都没有找到,包括检查 web.config 文件、 IIS _ IUSRS 权限、 IIS URL 重写模块等。最后,我从这个页面安装了 DotNetCore.1.0.0-WindowsHosting.exe: https://www.microsoft.com/net/download,它马上就开始工作了。

具体下载链接: https://go.microsoft.com/fwlink/?LinkId=817246

我在使用一个全新的网络服务时遇到了这个问题。通过为服务所在的文件夹添加“属性上的每个人”的只读访问权限-> 安全性,解决了这个问题。

我明白这个错误可能因为许多不同的原因而发生。在我的情况下,这是因为我从服务器角色卸载了 WSUS 服务,整个 IIS 都崩溃了。在做了一些研究之后,我发现卸载 WSUS 会删除一些用于 HTTP压缩的 dls。由于这些 dlls 不见了,而 IIS 仍在寻找它们,我使用 CMD 中的以下命令进行了重置:

appcmd set config -section:system.webServer/httpCompression /-[name='xpress']

找到了!问题已经解决了。不要忘记以管理员身份运行它。您可能还需要执行“ iisreet”操作。以防万一。

希望能帮到别人。 干杯

我在 Control Panel-> Programs and Features-> Turn Windows features on or off.it 中打开.Net Framework 3.5和4.5高级服务。

对 DotNetCore 托管包的修复为我解决了这个问题。 :/

安装 NET 核心运行时托管包为我解决了这个问题

我也犯了同样的错误。事实证明,这完全是由某种东西引起的。在缓存文件夹中缺少写权限。但是 IIS 报告的错误0x8007000d 非常令人困惑。

是的,对于.net 核心应用程序,安装网络主机。这对我有用。

dotnet hosting installer exe

还有 这是给.net6的

现在是 如果你需要. net7

当我试图在我的本地 IIS 上发布 asp.net 核心5.0 web 应用时,我遇到了同样的问题,解决方案是在 web.config 文件中的 System.webserver 标记中添加以下内容

<applicationInitialization doAppInitAfterRestart="true">
<add initializationPage="/" />
</applicationInitialization>

重新安装 ASP.NET 核心运行时-Windows 托管捆绑安装程序为我做了技巧... 我相信“ ASP.NET 核心模块”丢失。

对我来说,我在一个根文件夹中有一个 web.config 文件,这个配置文件是用于活动服务器的,因此删除它可以让站点在开发服务器上运行。

因此,也要检查文件夹中的任何 web.config 文件。