4

这与“仅我的代码”调试设置无关,或标记优化代码,或未标记调试代码......所有这些情况都已排除。

我有一个使用库的 .net 项目。为了调试,我创建了一个小项目,然后为库添加了项目。我在测试项目中添加了库项目的引用。我运行了启动测试项目的解决方案,我看到我的断点变为空心红点。同样的设置在 Visual Studio 2005 中完美运行。

但是,我记得我在 GAC 中安装了相同的库,然后我删除了,现在,我的断点被正确命中。

有人知道这种行为在 VS 2012 中是否是新的吗?或任何遭受它的人?

4

1 回答 1

3

当调试器找不到您的程序集的符号信息时,就会发生这种情况。由于 PDB 文件不会出现在 GAC 中,因此这种情况有点可能发生。使用 Debug + Windows + Modules 并在列表中找到程序集。右键单击它并选择符号加载信息以查看调试器在何处查找 PDB 文件。

请避免在您的开发机器上使用 GAC,这是一个纯粹的部署细节。它只会在您编程时造成事故。就像在处理 pdb 文件时遇到问题并获取加载的程序集的陈旧副本一样。调试时必须使用 GAC 应该只发生在奇数互操作场景中。

于 2012-12-30T19:08:39.567 回答