gpt4 book ai didi

c# - Visual Studio 不会从我的 nupkg 中读取 .pdb

转载 作者:行者123 更新时间:2023-12-05 07:23:44 25 4
gpt4 key购买 nike

我生成了一些包含 .pdbs 的 nuget 包,内容如下:

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

我已验证 .pdb 位于 dll 旁边的 lib/*/文件夹中生成的 .nupkg 中。

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

我做错了什么?

最佳答案

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

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

更新:

  1. 如果 nuget 包项目和使用它的项目在同一台机器上。 AllowedOutputExtensionsInPackageBuildOutputFolder 属性就足够了。因为你在同一台机器上有源文件,调试引擎可以很容易地找到它,这样你就可以进入它。

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

在这种情况下,AllowedOutputExtensionsInPackageBuildOutputFolder 可能不起作用。我找不到使用它嵌入源文件的方法。您可能需要使用 nuget pack 命令,例如 this issue .实际上,Stephan 打包项目的方式是正确的。我已经检查过它是否工作并将源文件和 .dll 和 .pdb 嵌入到 .nupkg 中。当然,这种方式需要通过Solution=>Properties=>Debug Source files添加源文件repo的路径: enter image description here

此外:您可以在 post-build event 中添加 nuget pack 命令,这样每次你构建项目成功,它都会为你打包。

另外,你可以考虑source links作为源代码管理,这样您就不会通过 Solution=>properties 配置源路径。

关于c# - Visual Studio 不会从我的 nupkg 中读取 .pdb,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55835965/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com