You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
32 bit libraries sometimes don't have same mdtokeens as their 64 bit counterparts. If we store tokens of gac members inside assembly, when executed they might resolve wrong member since runtime will use 64 bit version of library.
Solution
GAC_64 libraries should be preferred over 32 bit.
GAC_32 should only be used when module.IsBit32Required || module.IsBit32Preferred
The text was updated successfully, but these errors were encountered:
Side note: Even though this is indeed incorrect behavior of the assembly resolver, it is questionable whether you should ever rely on metadata tokens of definitions from another assembly. They are subject to change, especially modules that reside in the GAC and get updated after a Windows update.
Describe the bug
32 bit libraries sometimes don't have same mdtokeens as their 64 bit counterparts. If we store tokens of gac members inside assembly, when executed they might resolve wrong member since runtime will use 64 bit version of library.
Solution
GAC_64 libraries should be preferred over 32 bit.
GAC_32 should only be used when
module.IsBit32Required || module.IsBit32Preferred
The text was updated successfully, but these errors were encountered: