Release 配置下的 SourceLink

3

如何在使用发布配置发布Nuget包时启用源链接呢?

我们配置了一个本地Nuget服务器,其中存储了使用发布配置构建的框架dll。客户端应用程序引用这些dll,并希望从它们中调试框架。

我可以通过使用Debug配置打包框架代码使其正常工作,但是在Release模式下,.pdb 文件未加载,我可以在VS 2017的“模块”窗口中确认。

以下是我的源链接配置:

<Project>     
  <ItemGroup>
    <PackageReference Include="SourceLink.Embed.AllSourceFiles" Version="2.8.1" PrivateAssets="all" />
  </ItemGroup>
</Project>

编辑:我使用的是Visual Studio 2017版本15.7.3。我的目标是.NET Core 2.1。我确认pdb文件被嵌入到nupkg文件中,并且它们与dll文件在同一个目录下。尽管调试模式可以正常工作。

1个回答

3
是的,Release配置与源代码链接或嵌入式源文件完全兼容。虽然SourceLink.Embed.AllSourceFiles不是技术上的源代码链接,但是我的SourceLink工具支持它。您将源代码嵌入到pdb文件中。为什么pdb文件没有加载?它们是否与.dll文件相邻?您是否遇到https://github.com/ctaggart/SourceLink/issues/313,即从新项目系统针对.NET Framework时.pdb文件未被复制的问题?如果是这样,有一个简单的解决方法。如果您发布Visual Studio版本、使用的.NET版本以及是否针对.NET Framework或Core,将会非常有帮助。

你能用 dotnet sourcelink https://github.com/ctaggart/sourcelink/#test 测试 pdb 文件吗?在 Visual Studio 调试时,请确保这些 pdb(“符号”)已加载。 - Cameron Taggart
1
我已经检查了Test命令,并且在Release版本中也可以正常工作。我将进一步研究如何在Release版本中加载pdb文件。 - yakya

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接