启用S​​ourceLink

时间:2018-11-23 11:38:27

标签: c# visual-studio sourcelink

在VSTS上具有私有存储库(Azure DevOps),我尝试通过将以下内容添加到.csproj文件中来启用SourceLink:https://github.com/dotnet/sourcelink#azure-devops-visual-studio-team-services

这似乎在调试期间没有任何作用。本地NuGet程序包中引发了一个异常,由于无法为该项目加载pdb,因此无法使用“调用堆栈”窗口导航至该异常。

我在Visual Studio中禁用了“仅启用我的代码”并启用了SourceLink。

要启用SourceLink,还需要做哪些其他更改?

1 个答案:

答案 0 :(得分:0)

这可能不是直接的答案,但值得注意的是,您不需要SourceLink即可进行源代码级调试。 SourceLink是在git repo中将PDB中的链接放置到云中源代码的聪明方法。

获取可移植源代码级调试的另一种方法是将源代码直接嵌入PDB(+----------+-------+------+------------+------------+-----------+ | CLIENTID | GRPID | date | start_date | start_time | time_diff | +----------+-------+------+------------+------------+-----------+ | 2 | 1 | -2 | 10Nov2019 | 23:19:52 | 00:00:00 | | 3 | 1 | -2 | 10Nov2019 | 23:22:51 | 00:02:59 | | 4 | 1 | -2 | 10Nov2019 | 23:20:16 | 00:00:24 | | 5 | 1 | -2 | 10Nov2019 | 23:21:30 | 00:01:38 | | 6 | 1 | -2 | 10Nov2019 | 23:23:51 | 00:03:59 | | 23 | 2 | -2 | 11Nov2019 | 23:11:38 | 00:00:00 | | 24 | 2 | -2 | 11Nov2019 | 23:38:33 | 00:26:55 | | 25 | 2 | -2 | 11Nov2019 | 23:15:01 | 00:03:23 | | 26 | 2 | -2 | 11Nov2019 | 23:08:43 | -0:02:55 | +----------+-------+------+------------+------------+-----------+ )中,然后将PDB嵌入DLL(EmbedAllSources=True)中。它相当有效(.nupkg文件大20-30%),并且不受bug当前影响单独PDB的影响。

只需将其添加到您的项目文件中即可:

DebugType=embedded

,瞧,您将能够单步执行从中生成的NuGet文件。不需要其他解决方法,也不需要SourceLink软件包。