Adam Boniecki reported a problem through VS: FeedbackTicket 2607996 VS stuck in a nuget restore loop
The root cause is that the Arcade SDK is adding a PackageReference using the above property name as the package version:
|
<PackageReference Include="Microsoft.VSSDK.BuildTools" Version="$(MicrosoftVSSDKBuildToolsVersion)" PrivateAssets="all" IsImplicitlyDefined="true" /> |
But the package itself is redefining the same property name to a different value: https://dev.azure.com/devdiv/DevDiv/_git/VSExtensibility?path=/src/nuget/extensibility/Microsoft.VSSDK.BuildTools/Microsoft.VSSDK.BuildTools.csproj&version=GBdevelop&line=477&lineEnd=478&lineStartColumn=1&lineEndColumn=1&lineStyle=plain&_a=contents
Due to design and performance decisions, this version overwriting causes NuGet restores to go in a loop. I think either the property name that Arcade uses needs to change, or work with the VS extensibility team to get them to change the property name they use in the package. Looking at the git diff, it looks like they started doing it only last year.
But right now there's a property name conflict causing the VS restore loop problem, and it'll probably affect all repos using Arcade and a VSSDK BuildTools package above a certain version number.
Adam Boniecki reported a problem through VS: FeedbackTicket 2607996 VS stuck in a nuget restore loop
The root cause is that the Arcade SDK is adding a PackageReference using the above property name as the package version:
arcade/src/Microsoft.DotNet.Arcade.Sdk/tools/VisualStudio.targets
Line 28 in 44fcbae
But the package itself is redefining the same property name to a different value: https://dev.azure.com/devdiv/DevDiv/_git/VSExtensibility?path=/src/nuget/extensibility/Microsoft.VSSDK.BuildTools/Microsoft.VSSDK.BuildTools.csproj&version=GBdevelop&line=477&lineEnd=478&lineStartColumn=1&lineEndColumn=1&lineStyle=plain&_a=contents
Due to design and performance decisions, this version overwriting causes NuGet restores to go in a loop. I think either the property name that Arcade uses needs to change, or work with the VS extensibility team to get them to change the property name they use in the package. Looking at the git diff, it looks like they started doing it only last year.
But right now there's a property name conflict causing the VS restore loop problem, and it'll probably affect all repos using Arcade and a VSSDK BuildTools package above a certain version number.