什么时候需要依赖dll?

时间:2016-06-28 18:11:07

标签: c# .net dependencies

如果我有一个程序集,1.dll有一些类型依赖于其他程序集中的类型2.dll和3.dll确定是否需要存在这些依赖程序集。我以为只有当我试图从1.dll中加载一个类型时才会从其他dll中引用一个类型。

例如,

。如果我有一个来自1.dll的类A1,并且它有一个类型为A2的参数的方法(来自2.dll),我尝试创建一个A1的实例那么显然我需要2.dll才能出现在bin中以创建A1的实例。

如果我有其他类型B1(1.dll)取决于A3(3.dll),但我尝试创建{{1然后我认为我的应用程序应该运行正常,即使3.dll不存在,因为我不是要创建任何需要来自3.dll类型的事物的实例。

这是对的吗?要求依赖存在的规则是什么?

1 个答案:

答案 0 :(得分:1)

依赖关系是在运行时确定的,所以是的,你是对的。如果引用从未使用过的程序集,则应用程序可以正常运行。

摘自MSDN

  

当运行时尝试解析对另一个程序集的引用时,将开始查找和绑定程序集的过程。

您可以很好地了解运行时如何从该文章中找到程序集。有关其工作原理的一些证明,请查看this blog