IIS Express - 500.19无法读取配置文件 - 因为它正在查看错误的路径

时间:2015-10-22 08:47:09

标签: .net iis-express

我最近将我的根TFS文件夹从D:\TFS\systemstfs重命名为D:\TFS\sys,因为其中一个项目的路径对于Windows来说太长了。现在,当我尝试使用IIS Express(项目URL http://localhost:59729/Flowers/wsBusinessLayer/)在VS2013中运行不同的项目(D:\ TFS \ sys \ companydomain.com \ Dev \ Flowers \ wsBusinessLayer)时,我收到以下错误消息浏览器:

  

HTTP错误500.19 - 内部服务器错误
  无法访问请求的页面,因为页面的相关配置数据无效。

     

模块 - IIS Web核心
  通知 - BeginRequest
  错误代码 - 0x80070003
  配置错误 - 无法读取配置文件
  配置文件 - \?\ D:\ TFS \ systemstfs \ companydomain.com \ Dev \ Flowers \ web.config
  请求的网址 - http://localhost:59729/Flowers/wsBusinessLayer/InformationServices.asmx
  物理路径 - D:\ TFS \ sys \ companydomain.com \ Dev \ Flowers \ wsBusinessLayer \ InformationServices.asmx

(强调我的,D:是我机器上的第二个硬盘,而不是网络共享)

我很清楚问题是什么(配置文件路径错误)但我不知道如何修复它。我试过了:

  • 启用“抛出时中断CLR异常”
  • 从TFS重新获得解决方案
  • 重新启动
  • 切换为使用IIS,然后返回Express
  • 谷歌搜索500.19,0x80070003,路径错误,无法读取配置文件,以及这些术语的各种组合

但是没有运气。有没有人遇到过这个?

14 个答案:

答案 0 :(得分:86)

这是另一种可能不涉及fishing for the applicationhost.config file的解决方案:

  • 右键单击Web项目>网络>项目网址> (例如' localhost:5459')然后增加端口号,这将强制该文件中的新条目。

在我的情况下,我还需要更改身份验证模式,可以通过以下方式完成:

  • 选择网络项目>按F4>根据需要设置Windows身份验证(在我的情况下启用)。

答案 1 :(得分:26)

原来我必须按以下方式编辑_UNICODE -

%USERPROFILE%\Documents\IISExpress\config\applicationhost.config

我不知道这个文件是如何“正确”更改的,但手动编辑它可以正常工作。

答案 2 :(得分:14)

就我而言,以下更改解决了此错误:

applicationhost.config打开[SolutionFolder]>.vs[Hidden Folder]文件,并从 拒绝 更改overrideModeDefault部分中windowsAuthentication属性的值到 允许 。如下图所示。

答案 3 :(得分:9)

更改我的MVC项目上的端口号解决了我的问题。我走了一个多小时寻找答案。谢谢Sonic Soul。

当一个微小的调整可以修复可怕的东西时,它总是令我惊讶。

我增加了端口号,错误地解决了错误。

Project Properties > Web > Project Url 

使用Visual Studios 2015。

答案 4 :(得分:8)

在我的情况下,错误的路径记录在从同事收到的zip文件夹中的.vs文件夹中。通常情况下,我会通过源存储库获取源代码,其中未检入.vs。

删除.vs文件夹解决了我的问题。

答案 5 :(得分:1)

如果您使用的是本地IIS Web服务器,请重命名自定义虚拟目录,保存并重试。在此之后,您可以放回原始名称。

答案 6 :(得分:1)

在我的情况下,我收到了一台新机器,但是当我尝试运行源(从旧机器复制)时出现此错误。 从源代码目录下的.vs \ config文件夹中删除applicationhost.config文件修复了该问题。

答案 7 :(得分:0)

我在IIS 8.5上遇到了同样的错误(不是快递)

对我来说,这是因为我用一个副本替换了该文件夹,并在IIS运行时重命名了该文件夹。由于某种原因,它一直出错。我不得不从IIS中删除网站定义并重新添加它以使其工作。

答案 8 :(得分:0)

今天有同样的问题。

导致问题的更改

将功能从单独的控制器移动到家庭控制器。 我真的将视图及其背后的功能从 Controller' X' 移动到 HomeController

问题的性质

  1. 通过IIS express / Visual Studio
  2. 运行时,一切正常
  3. 当本地部署到IIS时,每件事都可以正常工作。
  4. 部署到部署计算机时,地狱破裂。
  5. 如果我在部署计算机的IIS中部署到'新网站,则可以正常工作。
  6. <强>修正

    1. 从IIS中删除站点/应用程序池实例。
    2. 重新创建它们。
    3. 部署。

答案 9 :(得分:0)

就我而言,我将路径中的..替换为普通文件夹路径。

TL; DR

我做了利用脚本文件的相对路径的“巧妙”技巧,因为我不想对我的文件夹地址进行硬编码。

"C:\Program Files\IIS Express\iisexpress.exe" /path:"%~dp0..\Lagardsdorren\bin\Debug\netcoreapp2.2\publish" /port:44342

我知道,但是花了一些时间才意识到,..在IIS(快捷方式)中不受欢迎,因为它可以将您自己移出站点的主目录。就我而言,它没有,但是我猜测 IIS(express)只是停止了其中带有..的任何内容。

我不知道该如何回到我聪明的相对道路,但这是另一个问题。

答案 10 :(得分:0)

如果将虚拟机与“共享文件夹”一起使用-我正在使用Workstation Pro共享文件夹。当项目位于主机PC上的“共享文件夹”中时,我无法运行该项目。解决了将项目移至“本地”驱动器的问题。

答案 11 :(得分:0)

我通过进入项目属性> Web>,然后单击“创建虚拟目录”来解​​决此问题,而不必更改端口。

答案 12 :(得分:0)

我的设置是一个托管为Azure云服务的.NET 4.6.1 MVC项目。使用Visual Studio 2019和IIS Express在本地运行时遇到此错误。我能够解决该错误。就我而言,该错误是红色鲱鱼,是另一个问题的征兆。对我来说,我必须删除对System.http.net,System.runtime和System.Runtime.InteropServices的引用。然后,我用Nuget重新添加了这三个参考的最新版本。

问题是我的代码找不到这三个软件包。每次我切换git分支时,查找软件包都有问题,但这是一个完全独立的错误,我仍在尝试解决。我发现问题的方式是运行代码并查看Visual Studio 2019中的“生成”和“调试”输出。我看到与代码有关的错误,无法找到System.Http.Net,因此我修复了该问题,然后查看了其他软件包的错误并进行了修复。真正的问题是我的代码正在获取异常并且无法正确运行,它恰好表现为此500.19错误。

另一个可能的影响因素是我当天早些时候禁用了“ just my code”。这似乎使我的代码在遇到异常时不会中断。一旦我重新打开它,代码就会在发生异常时中断,这也帮助我找出了问题的原因。要找到此选项,请进入“工具”>“选项”>“调试”>“常规”>“启用我的代码”。

原始错误: enter image description here

答案 13 :(得分:-1)

我在从同事那里获取代码时遇到此错误,它是在引用她的路径。我尝试检查整个应用程序文件夹中的路径,但是无法。因此,我再次从同事以外的其他来源获得了代码。