我很抱歉提前知道了这个标题。
我在Visual Studio(2010)中遇到了一个奇怪的行为。
假设我的解决方案中有三个项目:A,B和C.
A has a reference on B
B has a reference on C
C has a reference on an assembly (log4net.dll)
所有这些都配置为复制本地真实。
我负责项目A,另外两名开发人员负责项目B和C.
项目B正在使用其中一个类中驻留在项目C中的多个(静态)方法。我正在使用B中没有使用C语言的其他类。
当我构建解决方案(项目A被配置为主项目)时,我希望在项目A的输出文件夹中看到C及其引用的程序集的结果。实际发生的是C的结果被复制了到B的输出文件夹但在A的输出文件夹中不存在。
我花了一些时间才弄清楚原因是A没有使用C中的任何东西(直接或间接)。
所以问题是:它是Visual Studio的内置优化功能还是我做错了什么?
答案 0 :(得分:3)
是的,这是一个功能。如果不使用引用程序集中的任何类型,则不会复制它。