繁体   English   中英

Visual Studio不会从我的nupkg读取.pdb

[英]Visual studio won't read .pdb from my nupkg

我已经生成了一些包含.pdbs的nuget包,其中包含以下内容:

<AllowedOutputExtensionsInPackageBuildOutputFolder>$(AllowedOutputExtensionsInPackageBuildOutputFolder);.pdb</AllowedOutputExtensionsInPackageBuildOutputFolder>

我已经验证.pdbs是在dll旁边的lib / * /文件夹中生成的.nupkg内。

但是,当我在Visual Studio 2017中使用这些nuget包时,它只提取.dll而不是.pdb。 让我无法调试到包中。

我做错了什么?

因为您可以确保.nupkg包含.pdb文件。 请确保两个项目都处于调试模式。

在本地使用nuget包有时与从nuget.org安装它有一些区别。 解决方案中找不到.pdb源代码。 默认情况下,.pdb将位于路径下,如: C:\\Users\\xxx\\.nuget\\packages\\PackageName\\xxx

更新:

  1. 如果nuget包项目和使用它的项目在同一台机器上。 AllowedOutputExtensionsInPackageBuildOutputFolder属性就足够了。 由于您在同一台计算机上有源文件,因此调试引擎可以轻松找到它,以便您可以进入它。

  2. 但是如果对于这样的场景:你开发了nuget包。 并将其分享给其他团队成员。 要使它们可以Step into你应该将xx.cs文件嵌入到.nupkg中。

在这种情况下, AllowedOutputExtensionsInPackageBuildOutputFolder可能无法正常工作。 我找不到使用它来嵌入源文件的方法。 您可能需要使用像此问题nuget pack command 实际上,斯蒂芬打包项目的方式是正确的。 我检查了它的工作,并将源文件和.dll和.pdb嵌入到.nupkg中。 当然,通过这种方式,您需要通过Solution => Properties => Debug Source files添加源文件repo的路径: 在此输入图像描述

另外:您可以在构建后事件中添加nuget pack命令,这样每次成功构建项目时,它都会为您打包。

此外,您可以将源链接视为源控件,以便您不会通过Solution => properties配置源路径。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM