标记为内容的文件 - >复制始终未复制

时间:2012-11-18 15:26:26

标签: c# visual-studio

我的C#VS2010项目文件夹中有一个标记为ContentAlways Copy的文件。

当我更改此文件并将其保存在VS外部,然后运行项目时,修改后的文件不会复制到输出中。如果我重建,那就是。我的猜测是VS不使用文件的修改日期时间戳来确定是否应该复制它。

我错过了什么吗?这让我疯狂,因为我每次跑步都会失去5分钟。

谢谢!

3 个答案:

答案 0 :(得分:8)

难以解释所以从获得更好的诊断开始。工具+选项,项目和解决方案,构建和运行设置。将“MSBuild项目构建输出详细程度”设置更改为“正常”。在同一属性页中,确保“运行时,项目已过期”设置设置为“始终构建”。按 F5 或Build + Build时,在“输出”窗口中查看, _CopyOutOfDateSourceItemsToOutputDirectory 任务是复制文件的任务。

使用Project + Add Existing Item时可能出现的一个陷阱:IDE会复制您选择的文件。您可能正在更改原始文件而不是项目目录中的副本。您可以通过单击对话框中“添加”按钮上的箭头并选择“添加为链接”来解决此问题。

答案 1 :(得分:1)

您可以通过将构建操作从“内容”更改为“嵌入式资源”来实现您期望的行为。

答案 2 :(得分:0)

当我需要使用COMFileReference但还需要将DLL复制到输出文件夹时,遇到了这个问题。

最后,最后将DLL添加两次到项目中,一次作为Content复制到输出文件夹,一次作为COMFileReference。我找到的最简单的方法是直接修改.csproj xml。