C# 我的DLL只有4份而不是1份?
我有两个项目的解决方案 两个项目都需要相同的4个DLL 我有一个lib文件夹,每个项目中有4个DLL 编译解决方案时,每个lib文件夹中的4个DLL将复制到bin文件夹 现在,有4组相同的4个DLL 我尝试将DLL放在bin目录中,但VisualStudio对此抛出了很多错误C# 我的DLL只有4份而不是1份?,c#,visual-studio-2010,visual-studio,dll,C#,Visual Studio 2010,Visual Studio,Dll,我有两个项目的解决方案 两个项目都需要相同的4个DLL 我有一个lib文件夹,每个项目中有4个DLL 编译解决方案时,每个lib文件夹中的4个DLL将复制到bin文件夹 现在,有4组相同的4个DLL 我尝试将DLL放在bin目录中,但VisualStudio对此抛出了很多错误 这就是它的工作原理吗?理想情况下,我只想要一套,最多两套。不确定我应该把DLL放在哪里来解决这个问题。在每个项目中,您都会引用它们(右键单击项目并“添加引用”)。构建解决方案或项目后,Visual Studio应自动将所需
这就是它的工作原理吗?理想情况下,我只想要一套,最多两套。不确定我应该把DLL放在哪里来解决这个问题。在每个项目中,您都会引用它们(右键单击项目并“添加引用”)。构建解决方案或项目后,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
是的,这就是它的工作原理 可以通过将引用上的属性更改为false来调整此过程
在启动项目中将其设置为true,在另一个项目中将其设置为false。为什么您关心它将DLL复制到每个bin目录?真正重要的是在发布环境中安装DLL的位置。如果将两个项目安装到同一文件夹中,或将DLL安装到公共库文件夹(或GAC)中,则每个项目只需要一个副本。