Open rolfbjarne opened 2 years ago
Isn't that build of the SDK one of the final candidate builds, meaning that it doesn't publish packages to the normal feeds but only to a specific feed? I believe the corresponding one is https://dev.azure.com/dnceng/public/_packaging?_a=feed&feed=6.0.100-rc.1.21458.32-shipping (though I'm not quite sure about the least significant version part there; 32 versus 2). I do see a matching FSharp.Core package there: https://dev.azure.com/dnceng/public/_packaging?_a=package&feed=6.0.100-rc.1.21458.32-shipping&package=FSharp.Core&protocolType=NuGet&version=6.0.0-beta.21457.3.
I believe this will be resolved when RC1 is fully released and the packages are available on nuget.org.
@mmitche does that ☝🏻 sound right to you? Should Maestro have flowed a new feed?
@rainersigwald The fact that the package is found when restoring the F# library project by itself, but not when restoring the C# project that references the F# project, suggest that there's another problem.
Also if I change the C# project to an F# project (that references another F# project), then the restore works too.
@mmitche does that ☝🏻 sound right to you? Should Maestro have flowed a new feed?
That would be the case for final stable builds, but not for RC builds. Reason being that final stable builds will try and create the same package over and over again as we iterate on new functionality. We can't and don't want to overwrite packages in a feed, so we have to create a new feed for each new build, and that has to automatically flow using Maestro.
For RC/Preview builds, there is no stabilization, so we publish to the "main" feeds on each build. They key bit here is that tooling (C#, F#, msbuild, nuget, etc.) publish to dotnet-tools
and not dotnet6
. The reason is that tooling is not necessarily dotnet version specific (especially since a lot of the tooling supports Framework too). So publishing to the dotnet6
feed doesn't really make sense. Instead we use dotnet-tools
.
The https://dev.azure.com/dnceng/public/_packaging?_a=feed&feed=6.0.100-rc.1.21458.32-shipping
feed serves two main purposes:
dotnet6
feed is mostly unsigned. When we sign the packages, we end up with a package with different content but the same name+version, which cannot be published back to the dotnet6
feed. So we use this feed as the home of the signed packages.You don't necessarily need this feed for testing and validation, but it is one option. The other option is to add dotnet-tools
.
Issue Description
Steps to Reproduce
Repro: fsharplibrary-a9884c8.zip
dotnet restore main/*.csproj
Expected Behavior
Successful restore.
Actual Behavior
A couple of notes:
dotnet restore lib/*.fsproj
Versions & Configurations
This happened between 6.0.100-rc.1.21455.2 and 6.0.100-rc.1.21458.1.
Maestro bump that triggered this: https://github.com/xamarin/xamarin-macios/pull/12663/commits/9f8ea0330e8c1cc68a5efafbec9a8e21af392463
Attach a binlog
msbuild.binlog.zip