I cannot find in the GAC, only 4.0.0.0? How does that work?
Ok I figured out that somehow version 4.2.0.0 magically resolves to 4.0.0.0, now I am even more confused
Sometimes in your csproj file there are statements about how to resolve dependencies that can have some versions resolve to other versions.
wtf youre here too? lmao
No, I found it: "There were some out of band packages for System.IO.Compression released with a higher versions reference assemblies. When supported netstandard 2.0 we had to support such reference versions and that is why VS ship with such higher version number in the ref assemblies. The .NET assembly loader internally handle such higher reference assembly version and map it to the implementation assembly 4.0.0.0."
Final question, this one I really can't figure out: is this mapping (magic) publicly known, Assembly.Resolve uses something called Fusion internally to resolve from the GAC, but it is not open source.
Turn out its patented Microsoft magic, but one can call fusion.dll directly
Обсуждают сегодня