HTTP错误500.19 - 内部服务器错误0x80070003 无法读取配置文件

12
当我将应用程序从开发服务器发布到生产服务器时,出现了上述错误。以下是错误详细信息:

详细的错误信息

模块 IIS Web Core

通知 BeginRequest

处理程序 尚未确定

错误代码 0x80070003

配置错误 无法读取配置文件

配置文件 \?\C:\inetpub\wwwroot\WorkmenCompTest\web.config

请求的 URL http://localhost:80/wictest

物理路径 C:\inetpub\wwwroot\WorkmenCompTest

登录方法 尚未确定

登录用户 尚未确定

此网站以前可以正常工作,但最近由于这个错误导致发布版本停止工作。据我所知,唯一的更改是通过NuGet安装了iTextSharp和iTextSharp xmlworker。
我尝试过以下方法,但没有成功:
  1. 将站点文件夹的修改权限授予Everyone
  2. 检查web.config文件,并使用较旧的web.config文件(从网站工作时的版本)。
  3. 卸载iTextSharp和iTextSharp XMLWorker
该项目仍然可以在Visual Studio中正常运行。

你把代码发布版放在哪里了?桌面?还是下载文件夹? - Sujit.Warrier
@Mysterio11 C:\inetpub\wwwroot\WorkmenCompTest - potNPan
1
更正。实际上我把它放在了C:\inetpub\wwwroot\WorkmenComp-Test,错误基本上是IIS说在WorkmenCompTest路径中找不到任何东西。 - potNPan
1
那就是为什么我问它放在哪里了。 - Sujit.Warrier
命名错误在我提问时并不明显,所以我没有想到。直到后来我才注意到它。不过,因为方向正确,我还是点了个赞。 - potNPan
6个回答

26

问题已经解决了。错误的原因是文件夹名称与虚拟目录路径不匹配。哦,我觉得自己很蠢。


1
我曾经遇到过完全相同的问题,花了几个小时寻找答案...你知道为什么物理路径和虚拟路径必须匹配吗?我认为这在IIS6上不是必须的,但显然在IIS8上是必须的。 - dragonfly02
2
我也遇到了同样的问题,感觉自己很蠢。在我的情况下,是因为我重命名了路径中的一个文件夹。我希望错误信息能够显示“找不到文件”或“路径不存在”之类的内容,这样可能会更容易解决这些ID_10_T/PEBCAC错误。 - Anthony R

4

检查应用程序根目录下 .vs\lpsWeb-UI\config 文件夹中的 applicationhost.config 文件。

在配置文件的 sites 部分中,检查 物理路径 指向何处。

如果您修改这些内容,则应该能够解决问题。


1
这是因为IIS中存在不同的物理路径。要更改应用程序内容的物理路径,您可以通过使用用户界面(UI)、在命令行窗口中运行Appcmd.exe命令、直接编辑配置文件或编写WMI脚本来执行此过程。 用户界面 要使用UI:
Open IIS Manager. For information about opening IIS Manager, see Open IIS Manager (IIS 7).

In the Connections pane, expand the Sites node and click to select the site in which your application runs.

In the Actions pane, click View Applications.

On the Applications feature page, select an application from the list and then click Basic Settings in the Actions pane.

In the Physical path box, change the path of the application content.

Click OK.

0

DefaultAppPool 应用程序池在 Network Service 帐户下运行。该帐户是本地计算机的帐户,不存在于其他计算机上。请确保您配置 DefaultAppPool 应用程序池以使用域用户帐户。然后,您可以在 WorkmenComp 文件服务器上使用相同的帐户。或者,您可以在 WorkmenComp 文件服务器上创建一个工作组帐户。


0

当我在IIS中将物理路径设置为Z:\App_Live时,我遇到了HTTP错误500.19。

error path

我使用网络路径 \\server\share\live_folder 代替了 z:\,作为 IIS 物理路径 - 类似于这样的 \\server\share\wwwroot\inetpub\wwwroot

Network path

同时,您可能需要在“连接为”中指定用户名/密码。


0
只需删除.vs文件夹并重新构建解决方案。这对我起作用了。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接