Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[main] Update dependencies from dotnet/aspnetcore #4061

Merged
merged 6 commits into from
Jun 12, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions NuGet.config
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
<add key="dotnet-eng" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-eng/nuget/v3/index.json" />
<add key="dotnet-tools" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json" />
<add key="dotnet8" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet8/nuget/v3/index.json" />
<add key="dotnet7" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet7/nuget/v3/index.json" />
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why are we adding this? We shouldn't have any dependencies on .NET 7 feed.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

image

@vitek-karas could you help us understand why we have .NET 7 dependency for .NET Core 3.1?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@sbomer would know

Copy link
Member

@RussKie RussKie Jun 15, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This change now causes downstream repos to stop building unless those add a dependency on dotnet7 feed (which is a very undesirable thing):

D:\a\_work\1\s\src\Microsoft.Azure.Extensions.Messaging.StorageQueues\Microsoft.Azure.Extensions.Messaging.StorageQueues.csproj : error NU1603: Microsoft.Azure.Extensions.Messaging.StorageQueues depends on Microsoft.NET.ILLink.Analyzers (>= 7.0.100-1.23211.1) but Microsoft.NET.ILLink.Analyzers 7.0.100-1.23211.1 was not found. An approximate best match of Microsoft.NET.ILLink.Analyzers 8.0.100-1.22608.1 was resolved. [TargetFramework=net8.0]
##[error]src\Microsoft.Azure.Extensions.Messaging.StorageQueues\Microsoft.Azure.Extensions.Messaging.StorageQueues.csproj(0,0): error NU1603: (NETCORE_ENGINEERING_TELEMETRY=Build) Microsoft.Azure.Extensions.Messaging.StorageQueues depends on Microsoft.NET.ILLink.Analyzers (>= 7.0.100-1.23211.1) but Microsoft.NET.ILLink.Analyzers 7.0.100-1.23211.1 was not found. An approximate best match of Microsoft.NET.ILLink.Analyzers 8.0.100-1.22608.1 was resolved.

https://dev.azure.com/dnceng-public/public/_build/results?buildId=307960&view=logs&j=0bc77094-9fcd-5c38-f6e4-27d2ae131589&t=a78ba58e-354d-5443-f28e-fcee6d8f5be6&l=17

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, the file @joperezr pointed to says that when targeting netcoreapp3.1, we need to use the net7.0 version of this package (targeting net7.0 has the same requirement). There's normally some process to keep the 7.0 versions required by the 8.0 SDK in sync - so that the 8.0 SDK depends on 7.0 servicing versions released at a similar cadence.

What seems to have gone wrong here is that the 7.0 packages didn't get published. I checked that the 7.0.304 SDK uses the 7.0.100-1.23211.1 version of ILLink.Tasks, but it hasn't been published for use by the 8.0 SDK. I will follow up with the folks responsible for publishing these packages offline.

Copy link
Member

@RussKie RussKie Jun 15, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you @sbomer. Should the packages be published to dotnet8 (or perhaps dotnet-public) feed, or is there an expectation that consumers will be required to pull from dotnet7 feed?
We can't pull from non-managed feeds (like nuget.org).

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@marcpopMSFT what's the normal location for downlevel packages that the SDK depends on when targeting downlevel TFMs? Do those go to the dotnet-public feed?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I may of course be wrong here so I'll wait for @marcpopMSFT to answer the above question, but IMO any packages that are produced by .NET and may be required by the .NET 8 SDK and is not already in the dotnet-public feed (meaning it's not yet in NuGet), then I believe it should be in the dotnet8 feed. It doesn't "feel right" to have to depend on the dotnet7 feed when using the latest .NET 8 SDK.

<add key="dotnet8-transport" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet8-transport/nuget/v3/index.json" />
<!-- Used for the Rich Navigation indexing task -->
<add key="richnav" value="https://pkgs.dev.azure.com/azure-public/vside/_packaging/vs-buildservices/nuget/v3/index.json" />
Expand All @@ -26,6 +27,9 @@
<packageSource key="dotnet8">
<package pattern="*" />
</packageSource>
<packageSource key="dotnet7">
<package pattern="*" />
</packageSource>
<packageSource key="dotnet8-transport">
<package pattern="*" />
</packageSource>
Expand Down
Loading