C#:指定Dll引用的位置

在C#控制台应用程序中,我们可以通过[Soln Explorer – References然后添加reqd dll的引用]添加dll引用。

在这种情况下,应用程序希望dll存在于同一文件夹中。 如果没有,那么应用程序不起作用[引发exception]。

是否有可能,如果一个dll不在应用程序[exe]的同一文件夹中,那么我们是否可以从程序可以加载reqd dll的位置获得一些其他替代位置\ path,然后继续其function。

谢谢,阿米特

正如Fredik所说,您可以在GAC中安装该程序集。 还有另一种方法可以做到这一点。 您可以将程序集复制到任何位置(将此位置设置为受信任的,如果它位于网络上)并处理Assembly类型的ModuleResolve事件。 在回调中,您有机会解析对程序集的引用。


再想一想,我建议你看看AssemblyResolver 。 它绝对应该解决您解决程序集的任何问题。

您可以将App.config文件添加到您的应用程序并指定程序集的位置:

        

编辑:

  1. 可能需要设置文化=“中立”
  2. 如果程序集是强签名的,请validation令牌是否正确,否则设置为publicKeyToken =“null”

您可以在GAC(全局程序集缓存)中安装库。

您可以将您希望引用的所有DLL放在Libraries文件夹或其中一些,并从那里引用它们。

项目>参考>浏览

善良,