Skip to content
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

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

salcho
Copy link

@salcho salcho commented Nov 7, 2016

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.

…tches. This setting precedes EnableFrameworkRedirect. This patch allows an assembly to target symbols that exist in multiple versions of another assembly, without crashing ConfuserEx.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants