为啥我的 Visual Studio 开始以这种方式运行? iisexpress 找不到或打开 PDB 文件

Posted

技术标签:

【中文标题】为啥我的 Visual Studio 开始以这种方式运行? iisexpress 找不到或打开 PDB 文件【英文标题】:Why did my Visual Studio start acting this way? iisexpress cannot find or open the PDB file为什么我的 Visual Studio 开始以这种方式运行? iisexpress 找不到或打开 PDB 文件 【发布时间】:2015-10-09 01:49:57 【问题描述】:

当我第一次创建项目并运行它时,我没有收到这些消息:

'iisexpress.exe' (CLR v4.0.30319: DefaultDomain): 加载'C:\Windows\Microsoft.Net\assembly\GAC_32\System.Web\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Web.dll' .无法找到或打开 PDB 文件。

那么我对我的 VS 配置做了什么,或者我的项目属性导致了这个问题?

在这种情况开始发生之前,运行应用程序需要一两分钟,现在我要等 5 分钟。这太疯狂了,我的配置有问题。

【问题讨论】:

***.com/questions/15937707/…。下次在谷歌搜索你的异常,几乎每次有人遇到你的问题。这项研究花了我不到 1 分钟的时间。这也将帮助您解决未来的问题。 【参考方案1】:

PDB(程序数据库)文件包含 Visual Studio 使用的调试信息。

我会先尝试清理您的解决方案,在调试模式下重建它,然后看看是否能解决您的问题。那应该为您重新创建 PDB。

此外,如果您在 Visual Studio 中转到工具->选项->调试->符号并选择 Microsoft 符号服务器,它将尝试为您下载正确的 PDB。然后尝试在调试模式下重建。

【讨论】:

为什么我的VS首先启动了这个过程?它以前没有这样做。另外,我为什么要为框架 DLL 使用 PDB?这没有意义。 PDB 文件包含项目调试信息。它们在调试时提供信息(例如断点所在的位置等)。请阅读以下内容:***.com/questions/3899573/what-is-a-pdb-file 即使对于 .NET dll,也会创建 PDB 文件以跟踪调试信息。这就是 Visual Studio 及其编译器为了调试目的而跟踪“状态”的方式。【参考方案2】:

您开始收到消息的最可能原因

"'iisexpress.exe' (CLR v4.0.30319: DefaultDomain): 加载'C:\Windows\Microsoft.Net\assembly\GAC_32\System.Web\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Web.dll '。找不到或打开 PDB 文件。是因为该 DLL 现在正在执行期间被加载,而之前没有被加载。

但是,丢失的 PDB 文件不是您的问题的一部分。您可以通过从 Microsoft 获取此 PDB 文件来消除警告消息。但我建议您专注于您为使其开始出现所做的工作(即,当您开始加载 System.Web.dll 时)。这可能有助于解释为什么加载需要更长的时间。

【讨论】:

以上是关于为啥我的 Visual Studio 开始以这种方式运行? iisexpress 找不到或打开 PDB 文件的主要内容,如果未能解决你的问题,请参考以下文章

为啥 Visual Studio 告诉我 AddJsonFile() 方法未定义?

为啥 Visual Studio 无法解析我的 CSS 类名称?

为啥 Visual Studio Code 想要访问我的私有 SSH 密钥?

Visual Studio 中的 DLL 响应太慢

为啥我的 .UWP 模拟器无法在 Visual Studio 中启动?

为啥我的Visual Studio 2010不能显示错误(是输入的错误哦),,,但生成解决方案就有错误了..