将 NuGet .pdb 复制到输出目录

Copy NuGet .pdb to output directory

当我构建一个 ASP.NET 核心项目时,它只将它自己的 .pdb 文件和任何已安装的 NuGet 包的所有 .dll 复制到输出目录。但是,它不会复制他们的 .pdb 文件。我必须从 %UserProfile%\.nuget\packages 目录手动 select 它们。

我想知道是否有一个选项可以让 NuGet 包 .pdb 复制到输出目录?

执行此操作的新方法越来越多地使用 SourceLink,它允许在调试时按需下载源代码。

NOTE: At the time of this writing there are still missing features, as pointed out by Martin Ullrich.

NuGet 符号包和符号服务器

传统上,NuGet .nupkg 文件中没有 .pdb 文件。

相反,.pdb 个文件被放入 NuGet symbol packages (ending in .symbols.nupkg)

然后可以将它们托管在 symbol servers (or the local file system), which can in turn be used by the Visual Studio IDE by configuring it accordingly. See also Specify symbol (.pdb) and source files in the Visual Studio debugger

请注意,并非所有 NuGet 包发布者都创建符号包或使用 SourceLink - 如果您需要调试一个没有任何符号包的开源库,也许您应该考虑贡献它们。