Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/319.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# 使用loadfrom时对代码库的相等性的混淆?_C#_.net - Fatal编程技术网

C# 使用loadfrom时对代码库的相等性的混淆?

C# 使用loadfrom时对代码库的相等性的混淆?,c#,.net,C#,.net,为什么assembly.Code与assembly2.CodeBase相同?可能是由于这个原因(来自以下文档): 如果已加载具有相同标识的程序集,则即使指定了不同的路径,LoadFrom也会返回加载的程序集 您检查过assembly1和assembly2是否实际上是相同的引用吗?@AdamLee:好了,我们开始吧-您尝试加载相同的程序集标识两次。正如文档中提到的,您可以尝试使用Load而不是LoadFrom。或者,您可能需要使用多个应用程序域。 // path1 and path2 point

为什么assembly.Code与assembly2.CodeBase相同?

可能是由于这个原因(来自以下文档):

如果已加载具有相同标识的程序集,则即使指定了不同的路径,LoadFrom也会返回加载的程序集


您检查过
assembly1
assembly2
是否实际上是相同的引用吗?

@AdamLee:好了,我们开始吧-您尝试加载相同的程序集标识两次。正如文档中提到的,您可以尝试使用
Load
而不是
LoadFrom
。或者,您可能需要使用多个应用程序域。
// 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);