为啥我的 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 密钥?