Visual studio 无法进入Nuget包

Visual studio 无法进入Nuget包,visual-studio,visual-studio-2017,nuget,symbols,symbol-server,Visual Studio,Visual Studio 2017,Nuget,Symbols,Symbol Server,我有一个公共项目,我从中构建和创建nuget包,用于在其他应用程序中使用 公共项目的构建过程创建一个nuget包,将其部署到我们的私有nuget repo,并将符号推送到我们的内部符号服务器 在我的“其他应用程序”中,在本例中是一个ASP.NET网站,我从我们的repo中提取nuget包,但当我尝试在该程序集中单步执行代码时,它只是跳过了它。我清除了本地符号缓存,一旦我开始调试VS,就会从符号服务器中提取所有符号,这样我就知道bit正在工作 有人能帮我吗 您需要发布带有符号的Nuget软件包,并

我有一个公共项目,我从中构建和创建nuget包,用于在其他应用程序中使用

公共项目的构建过程创建一个nuget包,将其部署到我们的私有nuget repo,并将符号推送到我们的内部符号服务器

在我的“其他应用程序”中,在本例中是一个ASP.NET网站,我从我们的repo中提取nuget包,但当我尝试在该程序集中单步执行代码时,它只是跳过了它。我清除了本地符号缓存,一旦我开始调试VS,就会从符号服务器中提取所有符号,这样我就知道bit正在工作

有人能帮我吗


您需要发布带有符号的Nuget软件包,并使用工具->选项->调试->符号下的符号引用它们

其他成员也曾问过类似问题:

更新:

由于您希望单步执行程序集中的代码,因此仍然需要在NuGet包中与dll一起提供源代码文件

我们知道:

符号是包含元数据的文件,元数据表示 您的原始源代码和已发布的机器代码 由编译器翻译

在Microsoft世界中,符号由
.PDB
(程序数据库)文件表示。它是调试过程的核心,因为有了这些元数据,调试工具能够将应用程序中执行的指令与原始源代码关联起来,并提供断点或变量观察器等功能

因此,如果您只提供dll和.pdb文件,您仍然没有进入代码,您还需要提供源代码,然后将源代码添加到引用包的解决方案的调试源文件

有关提供源代码的更多详细信息:

如果当前打包时没有使用Nuspec,则需要创建Nuspec,然后将pdb添加到lib文件夹中的文件列表和src文件夹中的源文件列表中。“NuGet spec”可能是一个有用的命令,用于生成NuGet文档中定义的初始规范。下面是我的.nuspec文件,您可以检查它:


MyTestPackage
1.0.3

给我们看看符号加载跟踪,@HansPassant谢谢,我没想到要看这里。我的DLL的符号已正确加载。谢谢您的评论。。。符号已经创建并发布,随后通过您提到的方法被拉入我的本地符号缓存。@Chris,谢谢您的回复。您是否在nuget包中添加了源代码?如果没有,请参考我的更新答案了解详细信息,检查它是否适合你。狮子座-谢谢更新。我没有设置
调试源文件
文件夹,所以现在我已经这样做了,但它不起作用。我唯一没有做的另一件事是在我的nuspec文件中指定pdb,但我确实将pdb发布到符号服务器(从VSTS),并且这些pdb已加载,因此无法想象这就是问题所在?@Chris,它仍然不起作用?错误是什么?找不到源文件?或者无法进入源代码?在我的nuspec文件中指定pdb如何?我似乎没有得到任何错误,它只是沿着直线移动,好像我按了F10而不是F11。我相应地更新了我的nuspec,但没有什么不同。如果我打开“模块”窗口,则这些库的所有PDB都已正确加载。唯一值得一提的潜在问题是,这是一个异步方法,我试图进入?