在VSTS上具有私有存储库(Azure DevOps),我尝试通过将以下内容添加到.csproj文件中来启用SourceLink:https://github.com/dotnet/sourcelink#azure-devops-visual-studio-team-services
这似乎在调试期间没有任何作用。本地NuGet程序包中引发了一个异常,由于无法为该项目加载pdb,因此无法使用“调用堆栈”窗口导航至该异常。
我在Visual Studio中禁用了“仅启用我的代码”并启用了SourceLink。
要启用SourceLink,还需要做哪些其他更改?
答案 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软件包。