建立操作 = 无 vs 复制到输出目录 = 不复制。

4

这两个设置看起来做的事情相同。Build Action = None 和 Copy to Output Directory = Do Not Copy.

以下是应用场景:

  • Build Action为None,但Copy to Output Directory却不同于Do Not Copy的情况是什么?

  • Copy to Output Directory为Do Not Copy,但Build Action却不同于None的情况是什么?


您可能希望将此用于暂时禁用的文件,或者是设计笔记,以便从“解决方案资源管理器”窗口轻松访问。如果您需要测试应用程序所需的文件,则适合其中一个复制选项。需要出现在用户计算机上的文件应标记为Action = Content,以便安装程序知道它们需要部署。 - Hans Passant
1个回答

6
输出目录通常是bin文件夹,所以如果您在项目的其他位置添加了库(.dll文件)并且需要将其复制到bin文件夹中,则会将文件复制到输出目录。项目中的大多数文件都有一个不同于None的生成操作,但设置为Do Not Copy的输出目录不能包含它们。例如,类(.cs文件)的生成操作为Compile,视图(.aspx文件)的生成操作为Content。

那么,如果文件的“Build Action”设置为“None”,是否可以假定“Copy to Output Directory”值不再重要? - Jonas Arcangel
@JonasArcangel:不,如果你有一个文件需要复制到bin文件夹中,那么你应该使用“Build Action=None”,因为你通常不希望它包含在原始位置的发布中。 - Guffa
@Guffa 但是保持构建操作为“无”会将文件复制到原始位置。 - Ankush Jain

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接