Skip to content

Update Windows.Compatibility external packages #4884

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

Merged
merged 4 commits into from
Jan 30, 2025

Conversation

ericstj
Copy link
Member

@ericstj ericstj commented Jan 27, 2025

@cheenamalhotra - SQLClient
@HongGit @StephenMolloy @mconnew - WCF client

Please review if these dependency changes are correct for .NET 10.0.

Also please comment on what changes, if any, would be appropriate to backport to net9.0 or net.8.0.

@ericstj ericstj requested a review from a team as a code owner January 27, 2025 23:04
@mconnew
Copy link
Member

mconnew commented Jan 27, 2025

Before .NET 10 is released, we will have a 10.x version. But for now that's the correct version. We'll be releasing the 10.x version nearer to the release of .NET 10.

@ericstj
Copy link
Member Author

ericstj commented Jan 27, 2025

Do these packages retain support for .NETStandard and .NETFramework?

@ericstj
Copy link
Member Author

ericstj commented Jan 28, 2025

Also seems the latest version of System.ServiceModel.Security and System.ServiceModel.Duplex on nuget is 6.0.0.

After this version System.ServiceModel.Security and System.ServiceModel.Duplex no longer exist.
@mconnew
Copy link
Member

mconnew commented Jan 28, 2025

Kind of. They have netstandard2.0 reference assemblies, netfx type forwarding facades, netfx compat shim (System.ServiceModel.dll which type forwards to System.ServiceModel.* assemblies), a net8.0 implementation (and the 10,x version would have a .Net10 implementation), and a dummy implementation for netstandard2.0. Remember that every framework that supports netstandard2.0 ships an implementation in box except .NET so we don't need a netstandard2.0 implementation if we have have NetFx and .NET runtime support.

@mconnew
Copy link
Member

mconnew commented Jan 28, 2025

We flattened Security and Duplex into Primitives as Primitives implementation needed access to those types when I got rid of System.Private.ServiceModel.dll. The Primitives package ships with type forwarding facades for Duplex and Security to accommodate libraries that still reference them if they were compiled against an older version. Those assemblies are only runtime forwarding facades, we got rid of the reference assemblies as their types are now in the Primitives ref assembly.

@Tanya-Solyanik
Copy link
Member

What is the background for these changes? Moving to the supported versions?

@cheenamalhotra
Copy link
Member

cheenamalhotra commented Jan 28, 2025

System.Data.SqlClient is now deprecated and not supported on .NET 10 onwards. Ref: dotnet/SqlClient#2778

Please migrate to the Microsoft.Data.SqlClient NuGet package.

You may backport this update to 4.9.0 for .NET 9 and .NET 8 while they are in support.

@Tanya-Solyanik
Copy link
Member

Tanya-Solyanik commented Jan 28, 2025

FIxes #4885

@ericstj
Copy link
Member Author

ericstj commented Jan 29, 2025

System.Data.SqlClient is now deprecated and not supported on .NET 10 onwards. Ref: dotnet/SqlClient#2778

Please migrate to the Microsoft.Data.SqlClient NuGet package.

You may backport this update to 4.9.0 for .NET 9 and .NET 8 while they are in support.

This package should not include Microsoft.Data.SqlClient since that's not part of .NETFramework surface area. The purpose of M.W.C is to bring assemblies that implement the actual types from .NETFramework that aren't inbox on .NETCore. It is not meant to "advertise" new types/packages that were not part of .NETFramework.

Copy link
Member

@Tanya-Solyanik Tanya-Solyanik left a comment

Choose a reason for hiding this comment

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

Approved with suggestion

@Tanya-Solyanik
Copy link
Member

/backport to release/8.0

@Tanya-Solyanik Tanya-Solyanik merged commit 23d06c8 into dotnet:main Jan 30, 2025
8 checks passed
Tanya-Solyanik added a commit to Tanya-Solyanik/windowsdesktop that referenced this pull request Jan 30, 2025
* Update Windows.Compatibility external packages
ServiceModel is updated to 8.1.1, in this version System.ServiceModel.Security and System.ServiceModel.Duplex no longer exist, their types (type forwards) are in the primitives package.

Microsoft.Data.SqlClient NuGet package to 4.9.0

---------

Co-authored-by: Tanya Solyanik <[email protected]>
Tanya-Solyanik added a commit to Tanya-Solyanik/windowsdesktop that referenced this pull request Jan 30, 2025
* Update Windows.Compatibility external packages
ServiceModel is updated to 8.1.1, in this version System.ServiceModel.Security and System.ServiceModel.Duplex no longer exist, their types (type forwards) are in the primitives package.

Microsoft.Data.SqlClient NuGet package to 4.9.0

---------

Co-authored-by: Tanya Solyanik <[email protected]>
@Tanya-Solyanik
Copy link
Member

From @HongGit

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Three referenced DLLs are missing PDBs on the Microsoft symbols server
4 participants