Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为什么程序集。加载错误的程序集版本?_C#_Reflection_.net Assembly - Fatal编程技术网

C# 为什么程序集。加载错误的程序集版本?

C# 为什么程序集。加载错误的程序集版本?,c#,reflection,.net-assembly,C#,Reflection,.net Assembly,代码优先: Assembly assembly = Assembly.Load("mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"); Console.WriteLine(assembly.FullName); 结果是: mscorlib,版本=4.0.0.0,区域性=中性, PublicKeyToken=b77a5c

代码优先:

Assembly assembly = Assembly.Load("mscorlib, Version=2.0.0.0, Culture=neutral,  
                                   PublicKeyToken=b77a5c561934e089");
Console.WriteLine(assembly.FullName);
结果是:

mscorlib,版本=4.0.0.0,区域性=中性, PublicKeyToken=b77a5c561934e089


为什么?

我怀疑您不能,因为mscorlib是在应用程序初始化期间加载的。在同一appdomain中具有多个版本的mscorlib将是一种奇怪的情况。如果要加载较旧的程序集,则需要将useLegacyV2RuntimeActivationPolicy设置为true。以下是类似的情况: