8

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

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

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

谢谢!

4

3 回答 3

8

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

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

于 2012-11-18T16:06:30.300 回答
2

您可以通过将 Build Action 从“Content”更改为“Embedded Resource”来实现您期望的行为。

于 2013-07-16T22:46:01.697 回答
1

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

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

于 2017-03-13T13:22:09.207 回答