使用Microsoft.SourceLink.AzureRepos.Git

我正在尝试为我们的内部NuGet软件包启用SourceLink,但遇到一个无法解决的问题。

我的设置是:

  • Visual Studio 2019企业版(16.3.8)
  • Azure DevOps git存储库
  • .NET Framework 4.7.2类库,其中包含一个包含单个HelloWorld类的SDK样式项目
  • 使用最新版本(1.0.0-beta2-19554-01)到microsoft.SourceLink.AzureRepos.Git的PackageReference
  • 该项目生成一个包含DLL和PDB的程序包(我知道这样做是不鼓励的,但是我想让它以这种方式工作而不是使用符号服务器;这似乎也不是DLL的来源)问题,因为调试器找到了正确的PDB)

项目文件

<Project Sdk="microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>net472</TargetFramework>
    <GeneratePackageonBuild>true</GeneratePackageonBuild>
    <AllowedOutputExtensionsInPackageBuildOutputFolder>$(AllowedOutputExtensionsInPackageBuildOutputFolder);.pdb</AllowedOutputExtensionsInPackageBuildOutputFolder>
    <RepositoryUrl>https://<host>.visualstudio.com/<project>/_git/Lib</RepositoryUrl>
    <RepositoryType>git</RepositoryType>
    <AssemblyVersion>2.0.0.0</AssemblyVersion>
    <FileVersion>2.0.0.0</FileVersion>
    <Version>2.0.0</Version>
  </PropertyGroup>
  <ItemGroup>
    <PackageReference Include="microsoft.SourceLink.AzureRepos.Git" Version="1.0.0-beta2-19554-01">
      <PrivateAssets>all</PrivateAssets>
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
    </PackageReference>
  </ItemGroup>
</Project>
  • 我将对更改的提交到存储库并构建软件包。该软件包构建良好。当我检查生成的.nuspec文件时,它包含正确的提交哈希。
  • 我使用nuget add Lib.2.0.0.nupkg -Source C:\NuGet将其发布到本地的NuGet feed。
  • 我删除了本地HelloWorld源,因此调试器找不到这些源,并尝试从git存储库中下载它们
  • 我创建一个控制台应用程序,引用此NuGet包,然后在HelloWorld类上调用HelloWorld函数。在调试器中,我按F11进入HelloWorld调用。出现“ SourceLink将下载[...]”对话框,然后选择“下载源并继续调试”。

这不起作用。我收到以下错误消息

Source Link Error:
ERROR: Azure DevOps: Authentication failed for all accounts. Use 'File -> account Settings...' to add a new account or refresh credentials.

Source Link URL: https://<host>.visualstudio.com/<project>/_apis/git/repositories/Lib/items?api-version=1.0&versionType=commit&version=cf94d5a0f224b6983c3885a2a6ac29aa52cec418&path=/HelloWorld/HelloWorld.cs

现在,错误消息非常清楚,我只是不明白。当我转到错误消息中指出的URL时,我看到了期望的文件内容。我使用的浏览器是我从未使用过的浏览器,导航到该页面时,它要求我登录,并且使用与Visual Studio中相同的帐户进行登录。我还尝试注销Visual Studio,重新启动它,然后使用与浏览器中相同的帐户再次登录Visual Studio。还是一样的错误。

我有点迷茫。有人知道我还能尝试什么吗?

linyilun 回答:使用Microsoft.SourceLink.AzureRepos.Git

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3137375.html

大家都在问