如何验证两个程序集之间的引用?

时间:2019-11-21 15:47:17

标签: c# reflection reference .net-assembly

AssemblyA.dll是指AssemblyB.dll

AssemblyB用新代码重建,而不是AssemblyA。因此,我们不再确定AssemblyA是否兼容。可能由于某些方法或属性被删除而在运行时崩溃。

从理论上讲,是否可以验证AssemblyA是否与AssemblyB兼容,而不必实际对其进行重建?

1 个答案:

答案 0 :(得分:0)

您描述的场景称为DLL Hell。 Wich只是Windows特定的Dependency Hell子集。在.NET之前(及其外部),它很常见。它基本上只通过名称和路径识别DLL。

.NET开发人员对此有所了解,并尝试了damndest to avoid it。 .NET不仅会通过名称识别引用的DLL。它将至少使用名称,版本和证书

两个dll可以具有相同的名称。只要它们的版本不同,.NET将它们保留为appart就不会有问题。 .NET甚至没有将它们同时保存在内存中的问题。您不仅可以针对“ System.DLL”进行构建。您构建了“System.DLL。Y版,Zerficate X版”。

相关问题