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.
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
Enable hosts to provide custom assembly resolution #73185
Enable hosts to provide custom assembly resolution #73185
Changes from 6 commits
b157716
e9b1a25
706bea9
55af5cf
ebb7260
7c8ef76
30ab5d4
5544942
8aa64f0
7ae01a3
File filter
Filter by extension
Conversations
Jump to
There are no files selected for viewing
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
micro-nit: it feels reasonable for these APIs to take
ImmutableArray
if this input array is invariably going to be copied to immutable.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You can't because this call is used via .net remoting which doesn't support
ImmutableArray
:(There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Think this needs to go after
EnsureReslovedHooked
. Consider the case where:myanalyzer.dll
andutil.dll
are passed via/analyzer:
myanalyzer.dll
depends onutil.dll
such that it's required when roslyn reads types from the assemblymyanalyzer.dll
but nothing elseThis version of the code would end up throwing. That is because the load from
myanalyzer.dll
would come from an external location. Normal assembly resolution won't findutil.dll
(becuase the resolver didn't loadmyanalyzer.dll
from a place that had it). TheAssemblyResolve
method would find it but it won't run because resolution hasn't been hooked.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I can't manage to construct a test in a way that allows us to show this behavior, but I think I can convince myself that hooking first is the correct order.