Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.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# Azure Devops中带有Linux构建代理的Nuget符号_C#_Visual Studio_Azure Devops_Nuget_Azure Artifacts - Fatal编程技术网

C# Azure Devops中带有Linux构建代理的Nuget符号

C# Azure Devops中带有Linux构建代理的Nuget符号,c#,visual-studio,azure-devops,nuget,azure-artifacts,C#,Visual Studio,Azure Devops,Nuget,Azure Artifacts,我目前正在尝试启用nuget库,以便在CI/CD进程中进行本地调试 当前形势 我在Azure Devops上有一个使用Ubuntu代理的构建配置。构建发布工件,发布管道将nuget包打包/推送到Azure工件 首先,我尝试使用snupkg格式发布pdb文件,但Azure工件中不支持这些文件 我试着学习这个教程 第一个障碍是发布符号发布的任务在Linux上不起作用,而仅在Windows上起作用 因此,我没有太多的运气使用符号服务器。通过在.csproj文件中添加以下内容,我找到了一个解决方法 tr

我目前正在尝试启用nuget库,以便在CI/CD进程中进行本地调试

当前形势

我在Azure Devops上有一个使用Ubuntu代理的构建配置。构建发布工件,发布管道将nuget包打包/推送到Azure工件

首先,我尝试使用snupkg格式发布pdb文件,但Azure工件中不支持这些文件

我试着学习这个教程

第一个障碍是发布符号发布的任务在Linux上不起作用,而仅在Windows上起作用

因此,我没有太多的运气使用符号服务器。通过在
.csproj
文件中添加以下内容,我找到了一个解决方法

true
真的
$(AllowedOutputExtensionsInPackageBuildOutputFolder);。pdb
现在,符号已打包在nuget文件中,但在VisualStudio中使用该包时仍不会自动加载。(我未选中仅启用VS中的代码)

当我在VisualStudio的“模块”窗口中手动添加它们时,它可以正常工作

有没有办法在Azure Devpos中使用Linux代理构建CI/CD进程以使符号正常工作?或者,VS可以在加载nuget包时自动加载符号吗

我的项目是.net标准2.1/.net框架5。 构建:Azure Devops(Ubuntu代理) Nuget存储库:Azure工件 Visual studio:VS 2019 16.8.4

非常感谢大家对我们的帮助

谢谢

现在,符号已打包在nuget文件中,但仍未加载 在visual studio中使用包时自动执行。(一) 未选中仅在VS中启用我的代码)

对于此问题,这是预期的行为。通常我们使用
索引源和发布符号
任务将符号发布到Azure工件中的符号服务器(Azure工件提供专用符号服务器来发布符号)。然后在VisualStudio中,添加新的符号服务器(拥有管道并承载工件提要的组织)。配置后,Visual Studio将建立与符号服务器的连接,并尝试查找符号

因为您只将符号打包到nuget文件中,而不将符号发布到符号服务器。因此,符号不会自动加载到VS中

因此,您需要在VisualStudio的“模块”窗口中手动添加它们以使其正常工作


如果您希望VS自动加载符号,在azure管道中,您可以尝试使用两个代理作业,在第二个代理作业中使用windows代理运行
索引源和发布符号
任务,将符号发布到azure工件中的符号服务器。

感谢Hugh的回答,我得出的结论基本相同。。。目前在Linux客户机中无法实现这一点,而专用的Windows阶段将是唯一的解决方案。至少就目前而言,这一单独的阶段是矫枉过正的。我将坚持使用本地解决方法,从nuget缓存手动加载符号。再次感谢您的确认。