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

ApiCompat loading of Roslyn on NETFramework is unreliable #46958

Open
ericstj opened this issue Feb 19, 2025 · 1 comment
Open

ApiCompat loading of Roslyn on NETFramework is unreliable #46958

ericstj opened this issue Feb 19, 2025 · 1 comment
Assignees
Milestone

Comments

@ericstj
Copy link
Member

ericstj commented Feb 19, 2025

APICompat will load Roslyn once since it binds to it directly and doesn't use AppDomains to isolate different bindings.

This can lead to torn state if we happen to only bind to one Roslyn assembly and later bind to a different one. See #45872 (comment)

To fix this in APICompat we can do one of two things:

  1. Ensure we bind to a single version of all of roslyn's assemblies by either forcing a load, or using a write-once static to capture the Roslyn assemblies path.
  2. Additionally to 1, create an appdomain to host APICompat assemblies if the version of roslyn specified differs from the one already loaded.
@dotnet-issue-labeler dotnet-issue-labeler bot added Area-ApiCompat untriaged Request triage from a team member labels Feb 19, 2025
Copy link
Contributor

@dotnet/area-infrastructure-libraries a new issue has been filed in the ApiCompat area, please triage

@ericstj ericstj self-assigned this Feb 24, 2025
@ericstj ericstj removed the untriaged Request triage from a team member label Feb 24, 2025
@ericstj ericstj added this to the 10.0.1xx milestone Feb 24, 2025
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

1 participant