2013-01-03 49 views
0

我在c#2010中编写了一个使用第三方dll的dll。当我添加对这些dll的引用时,它将它们全部复制到本地目录中。DLL的相对参考路径,以防止复制dll

我写了一个使用我的dll的小应用程序。当我添加引用到我的dll时,它将所有的dll复制到本地目录中。

如何让我的dll引用第三方dll,然后我的应用程序引用我的dll,而不是一遍又一遍地复制一切?我尝试使用一些相对引用,但无法使其工作。

这变得更加棘手,因为我需要能够将我的应用程序(通过我的dll)部署到安装了第三方dll的另一台计算机上。我希望有一种方法可以简单地告诉vs2010我不想复制dll,而是根据主机已经复制的第三方dll的位置来引用它们。

我似乎无法做到这一点。

***澄清

目前,当我部署的应用,都让我引用的DLL文件是在我的应用程序文件夹。所以,现在的dll文件在我的应用程序文件夹和机器上的第三方文件夹。有没有办法让应用程序找到已经在电脑上的dll文件并引用它们?

回答

0

部署时,Windows安装程序将检查现有的DLL文件,并且不会复制您的dll文件(或第三方的文件),除非它们较新。

这是一件好事。

+0

有没有办法阻止它复制DLL?我的意思是,目前,如果我部署我的项目,它在我的应用程序文件夹中有dll,第三方dll已经在机器上它们自己的文件夹中。这意味着有两个dll副本。我想让它在机器上只有一组dll文件。 –