Visual Studio是否优化了传递引用?

时间:2014-01-08 13:38:28

标签: c# visual-studio-2010

我很抱歉提前知道了这个标题。

我在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的内置优化功能还是我做错了什么?

1 个答案:

答案 0 :(得分:3)

是的,这是一个功能。如果不使用引用程序集中的任何类型,则不会复制它。