作为构建执行的一部分,我能够成功地将符号发布到VSTS符号服务器。
按照此link设置视觉工作室,一切都很好,直到这一点。我的符号设置如下所示:
尝试调试时,visual studio命中VSTS符号服务器,但返回错误消息“无法找到或打开PDB文件”
答案 0 :(得分:1)
从2017年11月15日开始,Visual Studio Online(现在也称为Azure DevOps)的Index Sources and Publish Symbols
构建步骤将处理dotnet build
您应勾选Publish symbols
并选择您的订阅。免费套餐有5个用户。您需要为每个用户分配对符号服务器的访问权限。
勾选Index Sources
复选框没有任何意义,因为源文件位于构建服务器上,通常位于C:\agent\_work\34\s\...
这样的晦涩位置,与您的本地(或网络路径)不匹配。源文件。
为帮助Visual Studio查找源文件,您可以执行此操作...(您可以通过使用SourceLink来避免此问题,如下所述)
开始调试时,所有符号都会下载,您现在就可以进入源代码。
这并不需要仅禁用我的代码,您也不需要启用源服务器。
除非您正在使用或想使用源服务器。现在添加一些软件包非常容易...
通过AzureDev操作,您可以按照本指南修改构建管道,以利用存储在GIT中的soruce文件。
先决条件是.NET Core SDK 2.1.300或桌面msbuild版本 15.7。
在您的软件包项目项目中,您需要添加NuGet软件包“ SourceLink.Create.CommandLine”,这将使您的构建服务器(和本地构建计算机)能够重写便携式PDB的某些部分,而无需更改构建管道中的任何内容。 / p>
您还需要将包添加到正确的源控件。 As described in this article.-我使用的是VSTS,所以我只安装“ Microsoft.SourceLink.Vsts.Git”包(必须在撰写本文时启用Include Prelease)
要验证此功能是否奏效,您需要做的就是构建项目,并在\obj\{config}\{tfm}\
中查找名为*.sourcelink.json
的文件,并在其中包含正确的URL。
然后按常规打包并发布。
在Visual Studio中,您只需要启用
答案 1 :(得分:0)
您需要运行构建在相同构建中的应用程序作为构建以将符号发布到VSTS Symbol服务器,不同构建中的标识将不同。
您可以在符号加载信息中找到GUID( 0CD368C47775439 ... ),也可以查看发布符号任务的构建日志,还有GUID。在构建中,GUID将是相同的,并且在调试期间将正确加载符号。
答案 2 :(得分:0)
您是否在VS.NET调试选项中启用了源服务器支持? 您也可以在VS.NET调试选项中取消选中“启用我的代码”。
我最近写过blogpost,其中我解释了如何设置和使用符号服务器;可能会找到一些可能对您的问题有所帮助的提示。