This repository has been archived by the owner on Jan 27, 2019. It is now read-only.
Force AssemblyResolver to find symbols from assemblies using exact matches. This setting precedes EnableFrameworkRedirect. This patch allows an assembly to target symbols that exist in multiple versions of another assembly, without crashing ConfuserEx. #559
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.
This patch fixes a bug we found in the ConfuserEngine class when trying to obfuscate an assembly that was previously merged with ilmerge/il-repack. If assemblies A and B reference different versions of a particular assembly (say, System.dll versions 2 and 4), multi-module assembly C (result from merging A and B) will contain both these references. Now, although AssemblyResolver holds a reference to both version 2 and 4 in the CachedAssemblies dict, it'll fail to find types in one of those depending on the order. Setting the FindExactMatch flag to true will force AssemblyResolver to look for types in the right assembly version.