-
Notifications
You must be signed in to change notification settings - Fork 4.9k
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
Use live dependencies for netcoreapp3.0 depencies (#48176) #48344
Use live dependencies for netcoreapp3.0 depencies (#48176) #48344
Conversation
Tagging subscribers to this area: @safern, @ViktorHofer Issue DetailsBackport of d77092d. Users are hitting an issue with needing to add an explicit reference to This is because the build of System.Text.Json for Reported in dotnet/aspnetcore#28354 and dotnet/aspnetcore#28632. Documented in dotnet/AspNetCore.Docs#21054. Customer ImpactReported by customers who want to use the System.Text.Json 5.0.x package in a netcoreapp3.1 project and need to add an additional PackageReference to Regression?Regressed between preview8 and rc1 of the 5.0.0 package. TestingPackages created locally and installed in a netcoreapp3.1 project. Transitive dependencies are coming along. NuSpec lists the dependencies. RiskLow/Medium. NuSpec and assembly metadata change.
|
Looks like the build breaks are due to Line 22 in 4823e7c
Odd that we don't hit this in master. Any idea why? |
No idea and absolutely confused about this. Unsafe's reference assembly uses nullable annotation for all configurations, so it can't be a tfm mismatch case between P2P and simple name reference. |
Do we end up using the reference assembly in the same failing configuration, or is something else winning giving the compiler a different asset? |
Failure is #48469. |
@Anipik is the 5.0 branch already open? |
not yet, i will take care of merging this when branch is open |
cool, thanks a lot. I think the package version and packageindex changes are also necessary before merging. |
correct |
@ViktorHofer any update on this one ? |
Yes on it right now |
c30edc8
to
d50e45d
Compare
<PackageVersion>5.0.1</PackageVersion> | ||
<AssemblyVersion Condition="$(TargetFramework.StartsWith('net4'))">5.0.0.1</AssemblyVersion> | ||
<PackageVersion>5.0.2</PackageVersion> | ||
<AssemblyVersion Condition="$(TargetFramework.StartsWith('net4'))">5.0.0.2</AssemblyVersion> | ||
<SkipValidatePackage>true</SkipValidatePackage> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@Anipik is that setting intentional?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Found out that this is necessary when incrementing the assembly version for only a subset of supported TargetFrameworks. Unfortunately the servicing docs don't mention that.
@Anipik the change is ready, please take a look. |
src/libraries/System.Reflection.MetadataLoadContext/Directory.Build.props
Show resolved
Hide resolved
@@ -928,11 +928,13 @@ | |||
"3.1.0", | |||
"3.1.1", | |||
"3.1.2", | |||
"5.0.0" | |||
"5.0.0", | |||
"5.0.1" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should you include baselineVersion here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If Microsoft.Extensions.Logging.EventSource is referencing the latest Primitives on all frameworks and build succeeds, then this is safe to merge.
We should follow up by making sure all packages we build are baselined, otherwise our selective version bumps in servicing can result in some packages shipping references to GA packages even when the dependency is serviced. I suspect the Extensions packages never added baselines since they were added in 5.0 and used P2P but now that we're selectively versioning it matters.
/azp run runtime |
Comment was made before the most recent commit for PR 48344 in repo dotnet/runtime |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks like it addressed my concern. Thanks!
Hello @ericstj! Because this pull request has the p.s. you can customize the way I help with merging this pull request, such as holding this pull request until a specific person approves. Simply @mention me (
|
Could it be that in |
|
So this appears to be happening because f27d337 updated the assembly version of S.T.E.W, and claims the updated version is part of .NET5.0 (which is not the case for GA). As a result we don't emit a PackageReference on .NET5.0 and the version referenced is unsatisfied. |
We can't really undo this assembly-version bump now since it's been exposed. So I suggest we just correct the index. This will cause S.T.J to include the reference to S.T.E.W even on .NET5.0. |
@Anipik -- please take note. That version change has made the ref-pack unserviceable. We would need to undo it for the |
Backport of d77092d.
Fixes #45560
Users are hitting an issue with needing to add an explicit reference to
System.Text.Encodings.Web
when they haveSystem.Text.Json
5.0.0 in a netcoreapp3.1 project.This is because the build of System.Text.Json for
netcoreapp3.0
doesn't have a reference to the "live" built System.Text.Encoding.Web, instead it references the version from the shared framework. This creates a compatibility problem because thenetstandard2.0
version references a higher version of the dependency than is inbox onnetcoreapp3.0
Reported in dotnet/aspnetcore#28354 and dotnet/aspnetcore#28632. Documented in dotnet/AspNetCore.Docs#21054.
Customer Impact
Reported by customers who want to use the System.Text.Json 5.0.x package in a netcoreapp3.1 project and need to add an additional PackageReference to
System.Text.Encodings.Web
.Regression?
Regressed between preview8 and rc1 of the 5.0.0 package.
Testing
Packages created locally and installed in a netcoreapp3.1 project. Transitive dependencies are coming along. NuSpec lists the dependencies.
Risk
Low/Medium. NuSpec and assembly metadata change.