Skip to content

Added support of per-extension assembly isolation - #1431

Merged
veler merged 2 commits into
mainfrom
fix1430
Oct 27, 2024
Merged

veler merged 2 commits into
mainfrom
fix1430

Conversation

@veler

@veler veler commented Oct 27, 2024 •

Copy link
Copy Markdown
Collaborator

Pull request type

Please check the type of change your PR introduces:

  • Bugfix
  • New feature or enhancement
  • UI change (please include screenshot!)
  • Code style update (formatting, renaming)
  • Refactoring (no functional changes, no api changes)
  • Build related changes
  • Documentation content changes
  • Internationalization and localization
  • Other (please describe):

What is the current behavior?

Issue Number: fix #1430

What is the new behavior?

Added a AssemblyLoadContext per extension discovered in DevToys, which allows each extension to load every assemblies it needs in an isolated manner. This allows .NET to load and use multiple versions of an assembly at the same time.

Note: This feature is NOT supported by Android, iOS and WebAssembly. But we don't care since we don't target them.

Validation

You can test the change by building and installing the 2 extensions in this ZIP:
ExtensionTest.zip

Other information

image

image

Quality check

Before creating this PR:

  • Did you follow the code style guideline as described in CONTRIBUTING.md
  • Did you build the app and test your changes?
  • Did you check for accessibility? On Windows, you can use Accessibility Insights for this.
  • Did you verify that the change work in Release build configuration
  • Did you verify that all unit tests pass
  • If necessary and if possible, did you verify your changes on:
    • Windows
    • macOS
    • Linux

@veler
veler requested a review from btiteux October 27, 2024 18:02
@jerone

jerone commented Oct 27, 2024 •

Copy link
Copy Markdown
Contributor

Confirmed that this fix works:
image

And also in my extension:
image

Windows 10

@veler

veler commented Oct 27, 2024

Copy link
Copy Markdown
Collaborator Author

Confirmed that this fix works: image

And also in my extension: image

Windows 10

Awesome! Thank you for taking the time to verify :D

@veler
veler merged commit 0fddec0 into main Oct 27, 2024
@veler
veler deleted the fix1430 branch October 27, 2024 19:07
veler added a commit that referenced this pull request Nov 11, 2024
veler added a commit that referenced this pull request Nov 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Extension assembly isolation

2 participants