1

我已经广泛搜索了解决此问题的方法,但找不到。

我已将 TeamCity 配置为将包含符号和源代码的包发布到 ProGet。此过程效果很好,ProGet 可以正确识别符号。

我已经按照 ProGet 知识库的说明设置了 Visual Studio,即

  • 在 options->Debugging->Symbols 中添加符号位置
  • 启用源服务器支持选项->调试->常规

我已经签入了 Fiddler,并且当我在调试中启动我们的应用程序时下载了这些符号。

然后,当进入我们包中的一种方法时,它会打开错误的文件。然而,它打开的文件名称相同(我们在每个包中都有一个名为 Component 的文件,并且在拉入包的本地解决方案中也有一个文件)。

如果我更改文件名并重新打包并将其发布到 ProGet,问题就会消失,我可以在调试期间介入文件,但这似乎是一个 hack。

有谁知道如何让 Visual Studio 优先使用符号服务器上的文件而不是解决方案中具有相同名称的任何本地文件?

4

2 回答 2

2

项目目录中的符号文件总是被加载,对于这个问题,一个示例可以帮助我们轻松理解加载的符号。如果您的本地缓存文件夹有之前从符号服务器下载的符号文件,我知道在您调试应用程序期间它不会再次下载它。所以我的理解是,由于您的符号文件具有相同的名称,因此 VS 调试将首先从您的本地项目文件夹中搜索并加载符号,然后如果您的本地计算机没有符号服务器或其他服务器,则将其下载。这就是您遇到此问题的原因。

我能想到的解决方法:

(1) 如果您真的想使用两个同名文件,请从调试模块窗口手动加载符号。

(2) 使用不同的名称会更好。

于 2016-10-07T01:39:55.557 回答
0

右键单击包含要打开的文件的项目,然后选择“设置为启动项目”。现在,当您尝试调试时,它将运行正确的文件。

于 2020-02-11T13:01:23.090 回答