Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 无法单步进入加载了符号的Nuget库_C#_Debugging_Azure Devops_Visual Studio 2019_Nuget Package - Fatal编程技术网

C# 无法单步进入加载了符号的Nuget库

C# 无法单步进入加载了符号的Nuget库,c#,debugging,azure-devops,visual-studio-2019,nuget-package,C#,Debugging,Azure Devops,Visual Studio 2019,Nuget Package,我已将我的Nuget库上载到Azure Devops工件中。它还将符号文件(.PDB)发布到Azure Devops符号服务器。我在VisualStudio中添加了设置,以便按照前面提到的说明从Azure Devops符号服务器加载符号 在运行时,当我尝试单步进入(Nuget库的)代码时,我会得到一个错误,说找不到.cs文件的路径。我尝试过各种解决方案,比如取消选中启用即时代码、启用.Net Framework源代码步进等,但没有成功 问题是: 我已经使用版本配置构建了nuget包。这就是我无

我已将我的Nuget库上载到Azure Devops工件中。它还将符号文件(.PDB)发布到Azure Devops符号服务器。我在VisualStudio中添加了设置,以便按照前面提到的说明从Azure Devops符号服务器加载符号

在运行时,当我尝试单步进入(Nuget库的)代码时,我会得到一个错误,说找不到.cs文件的路径。我尝试过各种解决方案,比如取消选中启用即时代码、启用.Net Framework源代码步进等,但没有成功

问题是:

  • 我已经使用版本配置构建了nuget包。这就是我无法进入代码的原因吗?我认为在VS中加载PDB文件应该有助于克服这一问题。请告知
我已经使用构建配置构建了nuget包 释放。这就是我无法进入代码的原因吗?我 认为在VS中加载PDB文件有助于克服这一问题

这不是你不能进入代码的原因。即使您使用的是从
Release
模式构建的nuget包,它也应该可以工作。请查看以下三个提示:

1.确保在使用
索引源和将符号发布到任务时选择与我相同的设置

2.在Visual Studio中,添加新的符号服务器(拥有管道并承载工件提要的组织):

3.取消选中debug=>general中的enable just my code:


然后在我这方面效果很好。希望我的步骤能有所帮助。有关此主题的更多信息,您可以参考。

调试您的程序并打开“模块”窗口(调试)► 窗户► 模块)。查找此表中与DLL对应的行,“符号文件”列是否已填充?进一步-如果没有为DLL填充“符号文件”列,则获取DLL的路径,并在资源管理器中浏览到包含DLL的目录,PDB文件在那里吗?我在调试时检查了模块窗口,它显示符号已加载。我检查了pdb文件的路径,在该路径中找到了实际的.pdb文件。哦,我错过了你将包构建为“发布”-是的,尝试一个“调试”构建。我尝试过调试构建,它成功了。但是我如何使用调试构建进行生产呢?这很有魅力。谢谢我丢失了启用源服务器支持复选框。我再次收到错误。这次它说-文件“d:\a\1\s\\.cs”不存在。这是CI管道托管代理的路径。我有上面提到的所有设置。奇怪的是,当我用.NETFrameworkNuget软件包测试时。它弹出了一个窗口,询问是否从sourceserver下载,在我选择了服务器之后,它工作正常。然而,当我尝试使用.NetStandard项目nuget包进行调试时,它没有给我下载的选项,只是给了我上述错误。请检查:
当前未为可移植的.pdb文件启用源索引,因为SourceLink不支持经过身份验证的源存储库。目前的解决方法是将生成配置为生成完整的.pdb文件。
只是猜测,我认为您的问题与此有关,因为.net核心项目将默认使用门户模式生成!解决方法是将调试信息设置为完整。(Project=>Properties=>Build=>Advanced=>Debug-information)注意:如果要使用发行版包进行调试,需要确保使用完整模式而不是调试完整模式生成发行版。(项目=>属性=>发布配置=>上述类似步骤)