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

Investigate list of reference assemblies #3599

Closed
mthalman opened this issue Aug 24, 2023 · 7 comments
Closed

Investigate list of reference assemblies #3599

mthalman opened this issue Aug 24, 2023 · 7 comments
Assignees
Labels
area-product-experience Improvements in the end-user's product experience

Comments

@mthalman
Copy link
Member

A list of assemblies compiled by @tmds in #3571 (comment) shows the set of reference assemblies that currently exist in the SB SDK and are represented as implementation assemblies in the MSFT SDK:

sdk/8.0.100-preview.7.23376.1/Microsoft.Win32.SystemEvents.dll
sdk/8.0.100-preview.7.23376.1/System.ComponentModel.Composition.dll
sdk/8.0.100-preview.7.23376.1/System.Drawing.Common.dll
sdk/8.0.100-preview.7.23376.1/System.Security.Permissions.dll
sdk/8.0.100-preview.7.23376.1/System.Windows.Extensions.dll
sdk/8.0.100-preview.7.23376.1/FSharp/Microsoft.Win32.SystemEvents.dll
sdk/8.0.100-preview.7.23376.1/FSharp/System.CodeDom.dll
sdk/8.0.100-preview.7.23376.1/FSharp/System.Drawing.Common.dll
sdk/8.0.100-preview.7.23376.1/FSharp/System.Resources.Extensions.dll
sdk/8.0.100-preview.7.23376.1/FSharp/System.Security.Cryptography.Xml.dll
sdk/8.0.100-preview.7.23376.1/FSharp/System.Security.Permissions.dll
sdk/8.0.100-preview.7.23376.1/FSharp/System.Windows.Extensions.dll
sdk/8.0.100-preview.7.23376.1/DotnetTools/dotnet-format/Microsoft.Extensions.DependencyInjection.Abstractions.dll
sdk/8.0.100-preview.7.23376.1/DotnetTools/dotnet-format/Microsoft.Extensions.DependencyInjection.dll
sdk/8.0.100-preview.7.23376.1/DotnetTools/dotnet-format/Microsoft.Extensions.FileSystemGlobbing.dll
sdk/8.0.100-preview.7.23376.1/DotnetTools/dotnet-format/Microsoft.Extensions.Logging.Abstractions.dll
sdk/8.0.100-preview.7.23376.1/DotnetTools/dotnet-format/Microsoft.Extensions.Logging.dll
sdk/8.0.100-preview.7.23376.1/DotnetTools/dotnet-format/Microsoft.Extensions.Options.dll
sdk/8.0.100-preview.7.23376.1/DotnetTools/dotnet-format/Microsoft.Extensions.Primitives.dll
sdk/8.0.100-preview.7.23376.1/DotnetTools/dotnet-format/System.IO.Pipelines.dll
sdk/8.0.100-preview.7.23376.1/Containers/tasks/net8.0/Microsoft.Win32.SystemEvents.dll
sdk/8.0.100-preview.7.23376.1/Containers/tasks/net8.0/System.Drawing.Common.dll
sdk/8.0.100-preview.7.23376.1/Containers/tasks/net8.0/System.Security.Permissions.dll
sdk/8.0.100-preview.7.23376.1/Containers/tasks/net8.0/System.Windows.Extensions.dll

We should investigate this list to determine if there is any functional significance to the existence of these. One way to investigate this is to compare this list to the 7.0 SB SDK which has already been vetted and should, in theory, have rooted out any potential issue with the existence of a ref assembly.

One issue already known from this list is System.Security.Permissions: dotnet/msbuild#9158

@dotnet-issue-labeler
Copy link

I couldn't figure out the best area label to add to this issue. If you have write-permissions please help me learn by adding exactly one area label.

@MichaelSimons
Copy link
Member

#2817 is the issue tracking the enhancements to the poison infrastructure to detect these.

@MichaelSimons MichaelSimons added area-product-experience Improvements in the end-user's product experience and removed untriaged labels Aug 24, 2023
@MichaelSimons MichaelSimons moved this from Backlog to In Progress in .NET Source Build Aug 24, 2023
@mthalman
Copy link
Member Author

It looks like all of these assemblies need to be addressed. All of the corresponding assemblies that exist in the source-built version of the 7.0 SDK are implementation assemblies.

@mmitche
Copy link
Member

mmitche commented Aug 24, 2023

Looks like it will be a combo of updating the Version.Details.xml files in those repos, as well as the dependency graph in SB, if it's out of order.

@mthalman
Copy link
Member Author

mthalman commented Aug 24, 2023

List of assemblies with notes that I'll be filling in during my investigation.

rainersigwald pushed a commit to dotnet/msbuild that referenced this issue Aug 28, 2023
This fixes a portion of the assemblies described in dotnet/source-build#3599 that are showing up as reference assemblies in the source-built SDK. The reason they're showing up as ref assemblies is the same reason that's described in #9158, which is a related issue.

It's not known whether the existence of these ref assemblies causes a functional issue as it does with #9158. But we do know that the source-built 7.0 SDK doesn't define these as ref assemblies but rather implementation assemblies. So to maintain parity with 7.0 and avoid potential risk, it's best to ensure these are represented as implementation assemblies in the output.

These are the assemblies that are fixed by these changes:

* System.CodeDom
* System.Resources.Extensions
* System.Security.Cryptography.Xml
@mthalman
Copy link
Member Author

Closing since all PRs being tracked by this are merged.

@github-project-automation github-project-automation bot moved this from In Progress to Done in .NET Source Build Aug 31, 2023
@tmds
Copy link
Member

tmds commented Aug 31, 2023

@mthalman thank you for picking this up, and fixing up all the assemblies!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-product-experience Improvements in the end-user's product experience
Projects
Archived in project
Development

No branches or pull requests

4 participants