Visual Studio 尝试从 Z:\Builds\work 加载 FakeItEasy 符号

Visual Studio tries to load FakeItEasy symbols from Z:\Builds\work

我今天 运行 在 Visual Studio 中使用 FakeItEasy 进行单元测试。我处于离线状态,发现以下符号加载正在发生并且需要很长时间:

我的问题是,路径 Z:\Builds\work\... 来自哪里,为什么 Visual Studio 试图从该路径加载符号。难道这条路径对应于构建二进制文件的 CI 吗?如果是这样,是库的维护者应该修复的东西,还是我必须在本地配置的东西?我正在使用通过 NuGet 获取的 FakeItEasy 1.25.2 二进制文件。

我知道您可以禁用符号加载(例如 see this question),但实际上我希望尽可能加载符号。

是的,Z:\Builds\work\…TeamCity builds FakeItEasy 的路径。

我不是一个大符号用户,所以我不确定你想要什么 "fixed"。你为什么要加载符号,在这种情况下你会期望什么行为? 如果我们 push the symbols to SymbolSource.org 您仍然需要在线才能访问它们,不是吗?

您能否举一个符合您要求的 NuGet 包的示例? 它在您的情况下表现如何?

可以为调试配置和发布配置构建 PDB,将它们保留用于调试目的通常是个好主意。 FakeItEasy 或任何其他 DLL 或 EXE,包含编译时它所在的 PDB 文件的完整路径。如果该路径是 DLL(或 EXE)的一部分,Visual Studio 将尝试从那里加载符号。

要查看该信息,请获取 DebugDir 和 运行 debugdir <path to>\FakeItEasy.dll。或者,在任何十六进制编辑器中,搜索 pdb.

您将找到 PDB 的完整路径以及一些其他信息。由于不是您构建了 DLL,因此 PDB 不在您的磁盘上,您需要从符号服务器下载它。

Sourforge clone of DebugDir 包含支持命令行参数 clean 可以删除调试信息。如果你想摆脱 Visual Studio 访问不存在的 Z: 驱动器,你可以删除 PDB 文件的路径。