// path1 and path2 point to different copies of the same assembly on disk:
Assembly assembly1 = Assembly.LoadFrom(path1);
Assembly assembly2 = Assembly.LoadFrom(path2);
// These both point to the assembly from path1, so this is true
Console.WriteLine(string.Compare(assembly1.CodeBase, assembly2.CodeBase) == 0);
为什么assembly.Code与assembly2.CodeBase相同?
答案 0 :(得分:2)
可能是由于这个原因(来自Assembly.LoadFrom
的文档):
如果已加载具有相同标识的程序集,则即使指定了不同的路径,LoadFrom也会返回已加载的程序集。
您是否检查过assembly1
和assembly2
是否实际上是相同的参考?