Flow live version of System.Security.Permissions for source-build#9158
Merged
JaynieBai merged 1 commit intodotnet:mainfrom Aug 25, 2023
Merged
Flow live version of System.Security.Permissions for source-build#9158JaynieBai merged 1 commit intodotnet:mainfrom
JaynieBai merged 1 commit intodotnet:mainfrom
Conversation
MichaelSimons
approved these changes
Aug 23, 2023
rainersigwald
approved these changes
Aug 24, 2023
Member
Author
|
This also resolved an issue with System.Windows.Extensions showing up as a reference assembly as described in dotnet/source-build#3599. This is because System.Windows.Extensions is a dependency of System.Security.Permissions. |
rainersigwald
pushed a commit
that referenced
this pull request
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
This was referenced Sep 9, 2023
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
When .NET is source-built with the mono runtime, there can be scenarios where MSBuild is made to attempt to load a reference assembly for System.Security.Permissions. See dotnet/source-build#3571 (comment) for such a scenario.
The reason a reference assembly exists in this case is because MSBuild has a reference to the 7.0.0 version of System.Security.Permissions. When building with source-build, it loads that reference from SBRP (which only contains reference assemblies) in order to fulfill compile time references. The problem is that the assembly is also getting included in the output. This should have been detected by poison leak detection but that doesn't yet handle reference assemblies.
The solution is to update Version.Details so that the "live" version of System.Security.Permissions, that was previously built with source-build, will flow to the build of the MSBuild repo. Essentially, this causes the SystemSecurityPermissionsVersion property to be overridden with the live version.
Fixes dotnet/source-build#3571