ChatGPT解决这个技术问题 Extra ChatGPT

ASP.NET:HTTP 错误 500.19 – 内部服务器错误 0x8007000d

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

首先,我收到错误代码 0x80070021,与发布的 here 类似。我根据接受的答案更新了我的 web.config,然后我得到了以下错误代码(与发布的 here 类似)。

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

我已阅读 Microsoft support page 中的症状定义,错误原因是:

出现此问题的原因是 ApplicationHost.config 文件或 Web.config 文件包含格式错误的 XML 元素。

解决方案是

从 ApplicationHost.config 文件或 Web.config 文件中删除格式错误的 XML 元素。

但是,我使用的 web.config 在原始开发环境中运行良好。

这是我到目前为止检查并尝试过的内容:

通过调用 aspnet_regiis -i 安装 ASP.NET 将我的应用程序设置为使用不同的应用程序池(ASP.NET v4.0、.NET v4 等) ApplicationHost.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>

我在stackoverflow中阅读了类似/重复/关闭的帖子(大约13个)帖子,除了与Ajax相关的答案(是否相关)之外,我尝试了所有帖子,但仍然不知道错误是什么。

有人如何解决此错误吗? (如果可能的话,需要检查一个完整的列表,这样我们就可以减少类似的帖子。)我准备提供更多细节。

我刚刚解决了这个问题。虽然错误指向文件 web.config,但它也可能是 appsettings.config 的问题。如果其中任何一个格式不正确,您将收到相同的错误。
当您的 Web.config 引用了一个缺失的模块(例如:CORS、重写)或者您正在使用带有将使用其中一个模块的配置的 IIS Express 时,通常也会出现此错误代码(包括未显示源代码)。
仔细检查,如果您在机器上安装了托管包。在 .NET Core 下载页面上,有几个下载链接:Hosting Bundle、x64、x86。当您单击 x64 时,您没有下载 Hosting Bundle!

T
Tomas Kubes

错误 0x8007000d 表示 URL 重写模块(在 web.config 中引用)丢失或未安装正确的版本。

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

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


我希望 IIS 能给出一个更具描述性的错误消息,如果它说“无法识别的模块:UrlRewritingNet”我今天早上会节省两个小时。 +1结束我的痛苦:)
谢谢。通过 Web 平台安装程序添加了“Url Rewrite 2.0”,然后修复。
有同样的问题,花了很长时间查看“损坏”的 XML 文件,直到我偶然发现这个提到 URL 重写模块的评论。这足以让我回忆起几个月前解决这个完全相同的事情! (我这次写下来)谢谢!
好的,连Web平台都说已经“安装”了,但是IIS中没有显示,我去这里iis.net/downloads/microsoft/url-rewrite,下载正确的版本,删除当前版本并重新安装,关闭IIS并重新启动IIS,现在我可以看到“URL 重写”。
非常感谢。这个答案挽救了我的一天。我通过 IIS 10、Windows 2016 服务器上的 Web 平台安装程序安装了“URL 重写”,错误消失了。
A
Adrian Carr

在尝试设置 .NET Core 1.0 网站时,我遇到了这个错误,并尝试了所有其他我找不到的方法,包括检查 web.config 文件、IIS_IUSRS 权限、IIS URL 重写模块、等等。最后,我从这个页面安装了 DotNetCore.1.0.0-WindowsHosting.exehttps://www.microsoft.com/net/download 并立即开始工作。

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


谢啦!这是我的核心应用程序所需要的。想知道如何在iis中托管核心网站的可以去docs.microsoft.com/en-us/aspnet/core/publishing/iis
这适用于所有版本的 Core,而不仅仅是 1.0。 (核心需要安装在服务器上。)
在尝试了其他所有方法后,这对我有用。谢谢。
谢谢你,我可以通过运行我的 DotNetCore 安装修复来让它工作。
我的 web.config 中有“aspNetCore”和“dotnet.exe”之类的东西,我遇到了同样的问题,现在它适用于您的修复,谢谢。
m
max

就我而言,因为我已经重新安装了 iis,所以我需要使用以下命令向 dot net 4 注册 iis:

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

C
Chris Halcrow

安装 URL 重写:

更新 - 现在可以在此处获得(并且适用于 IIS 7-10):

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

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

https://i.stack.imgur.com/kaSc3.png


感谢您的链接!我从添加/删除功能安装了它,但这并没有解决它。只有从该链接下载它才有效。
V
VivekDev

是的,对于 .net 核心应用程序,install dotnet hosting。这对我有用。

https://i.stack.imgur.com/2xriG.png

还有here it is for .net6

现在if you need .net7


这是非常有用的答案。感谢分享
是的,它对我有用。我的配置:iis10,win2019,.net core 5.感谢分享解决方案
P
Pani

在我的情况下(.Net Core Web API)对于这个问题 HTTP 错误 500.19 – 内部服务器错误 0x8007000d

首先下载 dotnet-hosting-3.0.0-preview5-19227-01-win (.Net Core 3) 或 dotnetcore 2 hasting windows

https://download.visualstudio.microsoft.com/download/pr/5bed16f2-fd1a-4027-bee3-3d6a1b5844cc/dd22ca2820fadb57fd5378e1763d27cd/dotnet-hosting-3.1.4-win.exe

任何 .net core 3.1 应用程序,无论是 angular 还是 mvc 应用程序都需要这个。

第二次以管理员身份安装以管理员身份打开cmd,输入iisreset,回车

所以刷新你的本地应用程序

来自伊朗的最诚挚的问候 MTofighi


I
IAmCoder

修复 DotNetCore 托管捆绑包对我有用。 :/


N
Ned

安装 ASP.NET Core Runtime Hosting Bundle 为我解决了这个问题。来源:500.19 Internal Server Error (0x8007000d)


这原来是我的问题。 JFC,有有意义的错误消息会杀死微软吗?
b
barbatron

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

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

因此,虽然运行旧的 web.config 文件运行良好,但我只是对它们进行了比较,然后开始切掉新的块,直到我让页面开始加载。如果我将此视为答案,我会立即走这条路,因为我知道没有一个流行的解决方案是相关的。所以你去:)


这是我的问题。谢谢!
我也有这个问题。谢谢!
S
Saeed

我在“控制面板”->“程序和功能”->“打开或关闭 Windows 功能”中打开 .Net Framework 3.5 和 4.5 高级服务。它对我有用。


D
David

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

在 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"/>

将 Combres.DLL v2.1.0.0 使用的所需 FasterFlect.DLL 添加到应用程序 bin 文件夹(应从 Combres codeplex 下载完整的 zip,因为在 fastflect codeplex 中找不到所需的 fasterflect DLL V2.0.3732.24338)和其他DLL。为方便起见,请使用完整的 Combres.DLL (1,3MB)

使用工具检查 DLL 版本和公钥令牌是否在 web.config 中正确配置,例如 .NET Reflector


S
Sabbir Hassan

我了解,由于许多不同的原因,可能会发生此错误。就我而言,这是因为我从服务器角色中卸载了 WSUS 服务,并且整个 IIS 都关闭了。经过一番研究,我发现卸载 WSUS 会删除一些用于进行 http 压缩的 dll。由于这些 dll 丢失并且 IIS 仍在寻找它们,我在 CMD 中使用以下命令进行了重置:

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

答对了!现在问题已经解决了。不要忘记以管理员身份运行它。您可能还需要执行“iisreset”。以防万一。

希望它可以帮助别人。干杯


J
Jeff Moretti

对我来说,这一切都是为了设置我的 Web 服务器以使用最新最好的技术来支持我的 ASP.NET 5 应用程序!

以下 URL 为我提供了所需的所有提示:

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

希望这可以帮助 :)


你能描述一下链接中包含的一些要点吗?这样,如果链接断开或不可用,答案仍然有用。
a
aherocalledFrog

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


m
marlar

我有完全相同的错误。原来,这完全是由某事引起的。它在缓存文件夹中缺少写权限。但是 IIS 报告了错误 0x8007000d,这非常令人困惑。


K
Khalid

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

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

A
Agustin Berbegall

重新安装 ASP.NET Core 运行时 - Windows Hosting Bundle Installer 为我解决了问题……我相信“ASP.NET Core 模块”丢失了。


B
Bodkins

对我来说,我的根文件夹中有一个 web.config 文件,该配置文件用于实时服务器,因此删除它允许站点在开发服务器上运行。

所以也要检查文件夹中的任何 web.config 文件。