在該主題Difference between LoadFile and LoadFrom with .NET Assemblies?我發現下面的代碼:對於同一個裝配體的兩個副本,裝配體標識是否可以不同?
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 ass1 = Assembly.LoadFrom(Path.GetFullPath ("DataTypes.dll"));
Assembly ass2 = Assembly.LoadFrom(Path.GetFullPath("test\\DataTypes.dll"));
Console.WriteLine(ass1.CodeBase == ass2.CodeBase);
DataTypes.dll從文件夾中的測試是DataTypes.dll從程序文件夾拷貝。預計結果是真實的,但我的程序顯示爲FALSE。如果需要,我可以提供任何信息來解釋。
是DataTypes.dll強命名的程序集? – mgronber
不,這不是.. – Vasya
這是你的問題。您將需要強名稱的程序集,以便可以比較其身份。 – mgronber