添加 SourceLink nuget 包导致构建错误

Adding SourceLink nuget package causes build error

我一直在关注 this documentation 以启用 SourceLink,以便能够调试托管在我们的 Azure DevOps 帐户上的私有 nuget 包,但 运行 遇到了问题。

仅安装适当的 nuget 包 (Microsoft.SourceLink.Vsts.Git) 就会导致构建失败并出现以下错误:

1>vbc : error BC2001: file 'C:\Users\USER\AppData\Local\Temp\.NETStandard' could not be found
1>vbc : error BC2001: file 'C:\Projects\TheApp\TheLibrary\TheLibrary\Version=v2.0.AssemblyAttributes.vb' could not be found

这让我觉得我缺少一些 SDK 或 VS2017 的版本错误,但一切似乎都正常:我使用的是 VS2017 15.8.7,安装了 .NET Core SDK 2.1.403 并且项目是 .NET Standard 2.0 库。

删除 nuget 包使构建再次通过,但显然也删除了 SourceLink 支持。

事实证明问题出在 VB 编译器上。 SourceLink 指南告诉您可以选择在项目文件中包含 <EmbedUntrackedSources>true</EmbedUntrackedSources>,但这会导致构建失败。已经创建了一个问题来在编译器中解决这个问题,但现在微软建议我不要包含那个开关。删除它让我的构建通过,SourceLink 现在可以像宣传的那样工作。