我的DLL副本而不是1副本?

时间:2012-11-19 20:57:59

标签: c# visual-studio-2010 visual-studio dll

我有一个包含2个项目的解决方案。

两个项目都需要相同的4个DLL。

我有一个包含每个项目中4个DLL的lib文件夹。

编译解决方案时,每个lib文件夹中的4个DLL都会被复制到bin文件夹中。

现在,有4套相同的4个DLL。

我尝试将DLL放在bin目录中,但是Visual Studio会给它带来很多错误。

它是如何工作的?理想情况下,我只想要一套,最多两套。不知道我应该把我的DLL放在哪里来解决这个问题。

2 个答案:

答案 0 :(得分:4)

是的,这就是它应该如何运作。

您可以通过将引用的CopyLocal属性更改为false来调整此过程。

在启动项目中将其设置为true,在另一个项目上将其设置为false。

答案 1 :(得分:3)

在每个项目中,您将引用它们(右键单击项目和“添加引用”)。在构建解决方案或项目时,Visual Studio应自动将所需的引用dll复制到/bin目录中。

对于多个副本,由于每个项目通常是自治的,每个项目都有一组引用的dll,但是如果项目A引用项目B,并且您只使用项目A(比如项目B是类库) ),那么项目A应该只有6个dll。

- ProjectA/bin/Debug/projectA.dll
- ProjectA/bin/Debug/projectB.dll
- ProjectA/bin/Debug/shared1.dll
- ProjectA/bin/Debug/shared2.dll
- ProjectA/bin/Debug/shared3.dll
- ProjectA/bin/Debug/shared4.dll