Skip to content

Conversation

@grendello
Copy link
Contributor

Context: #8790

The old method of satellite assembly counting relied on the
RelativePath MSBuild item metadata, which appears to have gone
missing somewhere in .NET8+. Update the code to check for presence
of the following metadata, in order given, to determine assembly's
culture, if any:

  • Culture
  • RelativePath
  • DestinationSubDirectory

Failure to count satellite assemblies can, and sometimes will,
result in a segfault since we generate a number of native code
arrays based on the assembly count and the runtime assumes that
what the build told it is true.

Context: #8790

The old method of satellite assembly counting relied on the
`RelativePath` MSBuild item metadata, which appears to have gone
missing somewhere in .NET8+.  Update the code to check for presence
of the following metadata, in order given, to determine assembly's
culture, if any:

  * `Culture`
  * `RelativePath`
  * `DestinationSubDirectory`

Failure to count satellite assemblies can, and sometimes will,
result in a segfault since we generate a number of native code
arrays based on the assembly count and the runtime assumes that
what the build told it is true.
@grendello grendello marked this pull request as ready for review March 20, 2024 19:36
@grendello grendello requested a review from jonpryor March 20, 2024 19:37
@jonpryor jonpryor merged commit d8d2991 into release/8.0.2xx Mar 22, 2024
@jonpryor jonpryor deleted the dev/grendel/net8-fix-assembly-count branch March 22, 2024 18:47
@github-actions github-actions bot locked and limited conversation to collaborators Apr 22, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants