无法加载文件或程序集'Microsoft.VisualStudio.Web.PageInspector.Loader'

87
无法加载文件或程序集'Microsoft.VisualStudio.Web.PageInspector.Loader, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' 或其依赖项之一。该模块预计包含程序集清单。
程序集管理器已从' C:\Windows\Microsoft.NET\Framework\v4.0.30319\clr.dll' 加载。 正在运行的可执行文件为'C:\Program Files (x86)\Common Files\Microsoft Shared\DevServer\11.0\WebDev.WebServer40.exe'。 以下是详细的错误日志:
=== 预绑定状态信息 === LOG: 用户 = TTLWIN2K\miralp LOG: 显示名称 = Microsoft.VisualStudio.Web.PageInspector.Loader, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a(完全指定) LOG: 应用程序基础目录 = file:///C:/SVN/temp/components/src/MasterpassProxy/src/Webservice/ LOG: 初始私有路径 = C:\SVN\temp\components\src\MasterpassProxy\src\Webservice\bin 调用程序集:(未知)。 === LOG: 此绑定在默认加载上下文中开始。 LOG: 使用应用程序配置文件:C:\SVN\temp\components\src\MasterpassProxy\src\Webservice\web.config LOG: 使用主机配置文件: LOG: 使用来自C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config的计算机配置文件。 LOG: 策略后引用:Microsoft.VisualStudio.Web.PageInspector.Loader,Version=1.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a。

德语消息显示为**Die Datei oder Assembly "Microsoft.VisualStudio.Web.PageInspector.Loader, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" oder eine Abhängigkeit davon wurde nicht gefunden. Das System kann die angegebene Datei nicht finden.**(以防有人在谷歌上搜索此内容)。 - Uwe Keim
1
错误发生在我安装Visual Studio 2019预览版后的VS 2017中。我通过从全局的“web.config”文件中删除所有与“Microsoft.VisualStudio.Web.PageInspector.Loader”有关的痕迹来摆脱它。我还从另一台没有安装Visual Studio 2019的PC上提取了“C:\Program Files (x86)\Microsoft Web Tools\Page Inspector”的内容,并将其复制回了我的本地PC。 - Uwe Keim
我也遇到了同样的问题,请查看这个答案 answer - Ashi
16个回答

193

我遇到了同样的问题,罪魁祸首是我卸载了 Visual Studio Express 2012。可能任何版本的 Visual Studio 都有这个问题,因为这个答案下面的评论指出这个问题仍然存在于 Visual Studio 2019。我的操作顺序如下:

  • 安装了 Visual Studio Express 2012(很久以前)
  • 开心地使用 Visual Studio Express 2012 多个月
  • 安装了 Visual Studio 2013 Premium
  • 开心地使用 Visual Studio 2013 Premium 几周
  • 卸载了 Visual Studio Express 2012
  • ERROR

我不确定它的原因,也不知道哪些 Visual Studio 版本的组合会展现这种行为。但对我来说解决方案是编辑框架目录下的根 web.config 文件:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\web.config
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\web.config

对于不同的框架版本,你可能有不同的文件夹。

并删除节点:

<remove assembly="Microsoft.VisualStudio.Web.PageInspector.Loader, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<add assembly="Microsoft.VisualStudio.Web.PageInspector.Loader, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />

请注意不要删除与这些节点处于同一行的任何开/闭父节点。

这对我解决了问题。


13
你的答案是正确的。错误突然发生的原因是卸载 VS2012 时会删除程序集 Microsoft.VisualStudio.Web.PageInspector.Loader,而 .NET Framework 的 web.config 仍在引用它 - 即使只是简单地说“不要使用此程序集”(参考:<remove />标签)!!! 注意:根据你所针对的 .NET 版本(2.0、3.5、4.0 和 32/64 位),你可能需要编辑 C:\Windows\Microsoft.NET\Framework[64]\[version]\Config\ 路径下的多个 web.config 文件。 - Chris Walsh
5
在卸载了VS 2015社区预览版之后,我尝试了这个方法,对我也起了作用。 - Yaron Levi
2
我也遇到了这些错误 - 安装了VS2015 Pro并卸载了VS2013 Pro; 对VS2015 Pro安装进行修复,但不幸的是问题没有得到解决。 - toebens
5
在安装了VS 2019 Preview并与VS 2017 Community同时存在后,我遇到了问题。顺便提一下,解决方法是从C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\web.config中删除<add assembly="Microsoft.VisualStudio.Web.PageInspector.Loader, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>这一行。 - dpant
2
在Visual Studio 2019中,关闭的</assemblies>标签与PageInspector引用位于同一行。请确保不要意外删除它,在删除引用之前将其移动到下一行! - Mahmoud Al-Qudsi
显示剩余14条评论

22

无需删除这些行
只需使用管理员权限关闭并重新打开Visual Studio。


3
我始终以管理员身份运行Visual Studio,但它仍然无法工作。按照David / Mike的建议删除那些行就解决了问题。 - Adrian Hedley
这对我有用,但是替换行的方式(被接受的答案)并没有奏效(它只是抛出一个错误,说缺少一个不同的程序集)。看起来这里的人们都有不同的问题,都与程序集引用有关.. 但所有的问题似乎略有不同,因此需要稍有不同的解决方案。 - Josh Harris

17

我遇到了同样的问题,但是不是在我的开发机上,而是在托管服务器上。

C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\web.config   C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\web.config

我通过将下面的代码添加到我的web.config文件中来解决了这个问题。

<compilation targetFramework="4.5"> 
    <assemblies> 
        <remove assembly="Microsoft.VisualStudio.Web.PageInspector.Loader,
    Version=1.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
    </assemblies> 
</compilation>

或者通过从框架目录下的web.config文件中删除对该程序集的引用来解决问题。

我从未在那里安装过VS,也从未在那里安装PageInspector。你有任何想法为什么这些配置与它们有关吗?


3
在安装了VS 2019 Preview之后,我开始遇到这个错误,而这个解决方案对我很有用。 - FishBasketGordo
我已经添加了这个部分,在我的开发机器上它可以正常工作。但是在测试服务器上部署后,它返回了一个错误,说找不到程序集“Microsoft.VisualStudio.Web.PageInspector.Loader”。 - Michael Freidgeim
谢谢 - 这个解决了我的问题(我尝试以管理员身份重新启动 VS,但并没有解决)。 - Christopher
只是为了澄清 - 我在一个新的/空白项目中遇到了这个烦人的错误,但是同样的修复方法并没有立即解决问题。我不得不折腾一下(以管理员身份重新启动 VS,尝试一些其他的<add>和<remove>模块行,来自此线程中的答案/评论等),最终问题消失了。非常烦人。 - Christopher

6

更新:根据此页面,已在Visual Studio 2019版本16.0.3中修复。

如果在升级到Visual Studio 2019 RC之后出现此问题,则以下解决方法可能有所帮助:

  1. 找到下载缓存目录enter image description here
  2. 使用资源管理器或更好的工具在该目录中查找AspNetDiagnosticPack.msi文件。
  3. 运行(双击)AspNetDiagnosticPack.msi文件(这将强制安装此MSI)。

在此处发现的解决方法


更新内容:已修复于Visual Studio 2019版本16.0.3中。 - Bernard Vander Beken

3
我安装了 Visual Studio 2019(同时还安装了2017版本),遇到了这个问题。原因是缺少一个组件 - AspNetDiagnosticPack.msi,无法将所需的软件包安装到 C:\ProgramData\Microsoft\VisualStudio\Packages\ 中。
对我有用的解决方案如下:
1. 关闭 Visual Studio。 2. 从以下网址下载该软件包:

https://download.visualstudio.microsoft.com/download/pr/e13d544f-5a3c-4bb3-9a7c-1e56b1f90e10/f8e5888ff01a7009ef8c2ef16aa02ab9/aspnetdiagnosticpack.msi

  • 运行安装程序并安装。

这应该可以解决问题。

更多信息可以在此处找到: https://developercommunity.visualstudio.com/content/problem/398640/could-not-load-file-or-assembly-microsoftvisualstu-7.html


2

我在卸载了 VS2015 预览版后,尝试在 VS2013 中运行 ASP.NET 项目时遇到了这个错误。修复 VS2013 安装似乎解决了问题。


2

1

我觉得这个答案对我非常完美

不需要删除那些行

只需以管理员权限关闭并重新打开Visual Studio即可。


<remove assembly="Microsoft.VisualStudio.Web.PageInspector.Loader, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> <add assembly="Microsoft.VisualStudio.Web.PageInspector.Loader, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> - Issam Alhashedi
在我的情况下,甚至不需要使用管理员权限打开。只需要简单地关闭并重新打开即可解决问题。 - Freerey

0
如果您在以下两个路径中都找不到web.config: C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\web.config C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\web.config 文件“Web”位于“C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\”,我真正想要向您展示的是Web.config,您应该使用notepad++打开它...并删除:
//<remove assembly="Microsoft.VisualStudio.Web.PageInspector.Loader,
    Version=1.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />"

我已经解决了我的问题。


0

我曾经遇到过类似的问题(在另一个程序集中),对我来说,问题出在机器上的web.config文件中缺少一行代码。我认为这行代码让Web服务器可以加载任何dll文件。 我不得不在web.config文件的编译程序集列表中添加“*”:

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\web.config

像这样

    <compilation>
      <assemblies>
        ...
        <add assembly="*" />
      </assemblies>
    </compilation>

为了找到它,我不得不将该文件与工作服务器上的一个文件进行比较。 因此,对我来说,它确实是一种负载故障,但要确定它失败的原因,我们需要像Sherlook H.那样。 通常我使用像ProcessMonitor这样的工具来查找我为什么会出现负载故障,但这次,当然,它没有给我任何有用的输出.. IIS从未尝试加载程序集!

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