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

Mic*_*ael 15 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)
Run Code Online (Sandbox Code Playgroud)

所有这些都配置为Copy Local True.

我负责项目A,另外两个开发人员负责项目B和C.

项目B使用位于其中一个类中的项目C中的几个(静态)方法.我正在使用B中没有使用C语言的其他类.

当我构建解决方案(项目A被配置为主项目)时,我希望在项目A的输出文件夹中看到C及其引用的程序集的结果.实际发生的是C的结果被复制到输出B的文件夹但在A的输出文件夹中不存在

我花了一些时间才弄清楚原因是A没有使用C中的任何东西(直接或间接).

所以问题是:它是Visual Studio的内置优化功能还是我做错了什么?

Ufu*_*arı 3

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

  • 这里的解决方案可以是更改项目的属性,以便所有项目使用相同的文件夹进行输出。 (2认同)
  • @迈克尔http://blog.alexyakunin.com/2009/09/making-msbuild-visual-studio-to.html (2认同)