-
-
Notifications
You must be signed in to change notification settings - Fork 95
Fix AssemblyLoaderGenerator to only emit code for assemblies with physical locations #2727
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
Merged
Conversation
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
AssemblyLoaderGenerator only emit code to load an assembly if we the assembly location existsAssemblyLoaderGenerator only emit code to load an assembly if the assembly location exists
This was
linked to
issues
Aug 3, 2025
…sical locations Co-authored-by: thomhurst <[email protected]>
Copilot
AI
changed the title
[WIP] In
Fix AssemblyLoaderGenerator to only emit code for assemblies with physical locations
Aug 3, 2025
AssemblyLoaderGenerator only emit code to load an assembly if the assembly location exists
Copilot finished work on behalf of
thomhurst
August 3, 2025 23:36
This was referenced Aug 6, 2025
Open
This was referenced Sep 23, 2025
This was referenced Oct 1, 2025
This was referenced Oct 8, 2025
This was referenced Oct 16, 2025
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.
The
AssemblyLoaderGeneratorwas generatingAssembly.Load()calls for all referenced assemblies, including those without physical files on disk. This could lead to runtime errors when attempting to load assemblies that don't exist as physical files, such as:Changes Made
Modified the
AssemblyLoaderGeneratorto check if an assembly has a physical location before emitting assembly loading code:HasPhysicalLocation()method that checks if an assembly has a correspondingPortableExecutableReferencewith a valid file pathWriteAssemblyLoad()to only emitAssembly.Load()calls for assemblies that have physical filesExample Impact
Before: Generated code would include problematic entries like:
After: Only generates entries for assemblies with actual physical files:
The fix follows the same pattern used in
ReferencesHelper.csfor filtering assemblies with valid locations, ensuring consistency across the codebase.Fixes #2726.
💬 Share your feedback on Copilot coding agent for the chance to win a $200 gift card! Click here to start the survey.