如何让 visual studio 调试器完全忽略原始源文件位置
How to get visual studio debugger to completely ignore original source file location
我开始将内部 class 库(.net 框架,C#)移动到一系列 nuget .net 标准包中,我们也将在内部提供这些包。我在研究阶段。
而且我正在尝试使用 VS (2017) 调试器进行研究,并努力为包的调试版本(带符号)和发布版本(不带符号)的位置创建约定。
我在一个解决方案中构建了一个小型虚拟 .net 标准包,并使用 nuget add 将其放置在文件共享中。我已经在不同的解决方案中成功地使用了它。
但是,当我尝试进入使用解决方案中的代码时,visual studio 以某种方式做了一些聪明的事情,实际上让我进入了原始位置的源代码。从某些方面来说这很好,但我想模拟不同开发人员在不同机器上使用包并且没有可用原始源的情况,这样进入打包代码的唯一方法是使用带有符号的调试版本。但是 visual studio 通过找出原始源位置来挫败我,我不知道它是怎么做到的。
如何让 VS 成为 "dumber" 以便我可以在我的机器上模拟在没有此包源的另一台机器上使用包的情况?
提前致谢。
How can I get VS to be "dumber" so I can simulate on my machine what it would be to consume packages on another machine that didn't have this package source?
您可以尝试指定要从自动加载中排除的 .net 标准项目的符号。
详情:
据我们所知:
The Program database (.pdb
) files, also called symbol files, map
identifiers and statements in your project's source code to
corresponding identifiers and instructions in compiled apps.
Symbol files also show the location of the source files, and
optionally, the server to retrieve them from.
而在Visual Studio中调试符号加载的默认设置是加载所有模块:
这就是为什么 Visual Studio 智能并实际在原始位置进入源代码的原因。
因此,要解决此问题,我们需要禁用 Visual Studio "Load all modules",我们可以为您的 .net 标准项目指定排除的模块。
为此,单击 window 上的 link,然后添加 .net 标准的名称:
然后Visual Studio变成"dumber",找不到原来的位置。
希望对您有所帮助。
我开始将内部 class 库(.net 框架,C#)移动到一系列 nuget .net 标准包中,我们也将在内部提供这些包。我在研究阶段。
而且我正在尝试使用 VS (2017) 调试器进行研究,并努力为包的调试版本(带符号)和发布版本(不带符号)的位置创建约定。
我在一个解决方案中构建了一个小型虚拟 .net 标准包,并使用 nuget add 将其放置在文件共享中。我已经在不同的解决方案中成功地使用了它。
但是,当我尝试进入使用解决方案中的代码时,visual studio 以某种方式做了一些聪明的事情,实际上让我进入了原始位置的源代码。从某些方面来说这很好,但我想模拟不同开发人员在不同机器上使用包并且没有可用原始源的情况,这样进入打包代码的唯一方法是使用带有符号的调试版本。但是 visual studio 通过找出原始源位置来挫败我,我不知道它是怎么做到的。
如何让 VS 成为 "dumber" 以便我可以在我的机器上模拟在没有此包源的另一台机器上使用包的情况?
提前致谢。
How can I get VS to be "dumber" so I can simulate on my machine what it would be to consume packages on another machine that didn't have this package source?
您可以尝试指定要从自动加载中排除的 .net 标准项目的符号。
详情:
据我们所知:
The Program database (
.pdb
) files, also called symbol files, map identifiers and statements in your project's source code to corresponding identifiers and instructions in compiled apps.Symbol files also show the location of the source files, and optionally, the server to retrieve them from.
而在Visual Studio中调试符号加载的默认设置是加载所有模块:
这就是为什么 Visual Studio 智能并实际在原始位置进入源代码的原因。
因此,要解决此问题,我们需要禁用 Visual Studio "Load all modules",我们可以为您的 .net 标准项目指定排除的模块。
为此,单击 window 上的 link,然后添加 .net 标准的名称:
然后Visual Studio变成"dumber",找不到原来的位置。
希望对您有所帮助。