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

Review NetCoreAppCurrent libraries configurations which are platform specific #53900

Open
ViktorHofer opened this issue Jun 8, 2021 · 4 comments

Comments

@ViktorHofer
Copy link
Member

ViktorHofer commented Jun 8, 2021

System.Data.Odbc has a big number of platform specific configurations. As those are now shipping as part of #53439, it might make sense to review and see if some of these configurations could be collapsed together.

System.Text.Encodings.Web targets a Browser even though it doesn't use any platform specific APIs. Apparently this is so that the linker can trim out Vector128 on browser-wasm: #53439 (comment). We should see if there's a better way to make this work without the platform specific configuration.

EDIT:
In addition to that, we need to make sure that all dependencies from the platform TFMs are represented in the platform agnostic TFM.

cc @ericstj @eerhardt @MichalStrehovsky @marek-safar @ajcvickers

@ghost
Copy link

ghost commented Jun 8, 2021

Tagging subscribers to this area: @Anipik, @safern, @ViktorHofer
See info in area-owners.md if you want to be subscribed.

Issue Details

System.Data.Odbc has a big number of platform specific configurations. As those are now shipping as part of #53439, it might make sense to review and see if some of these configurations could be collapsed together.

System.Text.Encodings.Web targets a Browser even though it doesn't use any platform specific APIs. Apparently this is so that the linker can trim out Vector128 on browser-wasm: #53439 (comment). We should see if there's a better way to make this work without the platform specific configuration.

There are probably more of these cases and I will add a list of packages to review at a later point.

cc @ericstj @eerhardt @MichalStrehovsky @marek-safar @ajcvickers

Author: ViktorHofer
Assignees: -
Labels:

area-Infrastructure-libraries

Milestone: 6.0.0

@dotnet-issue-labeler dotnet-issue-labeler bot added the untriaged New issue has not been triaged by the area owner label Jun 8, 2021
@eerhardt
Copy link
Member

eerhardt commented Jun 8, 2021

cc @GrabYourPitchforks for the System.Text.Encodings.Web part as well.

@Anipik Anipik removed the untriaged New issue has not been triaged by the area owner label Jul 21, 2021
@Anipik Anipik modified the milestones: 6.0.0, 7.0.0 Aug 4, 2021
@ViktorHofer ViktorHofer modified the milestones: 7.0.0, Future Jul 20, 2022
@ViktorHofer ViktorHofer modified the milestones: Future, 8.0.0 Aug 24, 2022
@ViktorHofer
Copy link
Member Author

ViktorHofer commented Nov 28, 2022

Here's a list of projects that are packable and multi-target based on the TargetFramework and TargetPlatform, ordered by the number of assemblies in the correspnding package when we ship .NET 8:

  • System.Data.Odbc.csproj (25)
  • System.DirectoryServices.Protocols.csproj (13)
  • System.IO.Ports.csproj (11)
  • System.Security.Cryptography.Pkcs.csproj (9)
  • Microsoft.Win32.Registry.AccessControl.csproj (8)
  • Microsoft.Win32.SystemEvents.csproj (8)
  • System.Data.OeDb.csproj (8)
  • System.Diagnostics.EventLog.csproj (8)
  • System.Diagnostics.PerformanceCounter.csproj (8)
  • System.Net.Http.WinHttpHandler.csproj (8)
  • System.Text.Encoding.CodePages.csproj (8)
  • System.Text.Encodings.Web.csproj (8)
  • System.Threading.AccessControl.csproj (8)
  • System.Security.Cryptography.ProtectedData.csproj (8)
  • System.ServiceProcess.ServiceController.csproj (8)
  • System.DirectoryServices.csproj (7)
  • System.DirectoryServices.AccountManagement.csproj (7)
  • System.Management.csproj (7)
  • System.Runtime.Caching.csproj (7)
  • System.Speech.csproj (7)
  • System.Windows.Extensions.csproj (6)

@eerhardt
Copy link
Member

One library in the list that surprises me is System.Runtime.Caching. It doesn't seem like it should need to be target platform-specific.

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

No branches or pull requests

3 participants