-->

生成操作内容和“复制到输出目录”在Visual Studio中的区别(Difference betw

2019-06-27 17:58发布

在我的Visual Studio项目,我有,我想包括在输出,但不编译或嵌入的文件。

据我所知,有2种方式来做到这一点。

  1. 设置生成操作的文件,以“内容”
  2. “复制到输出目录”设置为“一直拷贝”或“复制,如果新”

谁能告诉我有什么区别和方案中的每个选项是适当的?

Answer 1:

当设置Build ActionContent ,该文件将不会被编译,并将把内容输出小组。

无论文件获取副本或不依赖于Copy to Output Directory设置在这一点上。

当然,如果你设置Copy Always一个文件,它可以被编译, 然后再复制。

请参阅文件属性在MSDN:

内容 - 该文件不会被编译,而是包含在内容输出小组。 例如,该设置是.htm或其他类型的Web文件的默认值。



Answer 2:

内容生成操作在WPF项目(可能是太ASP)明显的效果。

它增加了

[assembly: System.Windows.Resources.AssemblyAssociatedContentFileAttribute("filename")]

WpfApplication1_Content.g.cs 。 阅读关于AssemblyAssociatedContentFileAttribute

在WinForms和控制台应用程序(OP可以使用什么),它并没有这样做,所以有以动作没有什么区别时建设。

在此评论 ,我也发现有关部署效果的说明:

还要注意使用时的内容将包括一键式部署 ,但选择无不会即使“如果较新的复制”。

也许这个工程即使控制台和WinForms应用程序(我没试过)。



Answer 3:

一直拷贝也将触发,即使没有代码已经改变溶液中的重建项目。



文章来源: Difference between Build action content and 'Copy to output directory' in Visual Studio