我的C#VS2010项目文件夹中有一个标记为Content
和Always Copy
的文件。
当我更改此文件并将其保存在VS外部,然后运行项目时,修改后的文件不会复制到输出中。如果我重建,那就是。我的猜测是VS不使用文件的修改日期时间戳来确定是否应该复制它。
我错过了什么吗?这让我疯狂,因为我每次跑步都会失去5分钟。
谢谢!
答案 0 :(得分:8)
难以解释所以从获得更好的诊断开始。工具+选项,项目和解决方案,构建和运行设置。将“MSBuild项目构建输出详细程度”设置更改为“正常”。在同一属性页中,确保“运行时,项目已过期”设置设置为“始终构建”。按 F5 或Build + Build时,在“输出”窗口中查看, _CopyOutOfDateSourceItemsToOutputDirectory 任务是复制文件的任务。
使用Project + Add Existing Item时可能出现的一个陷阱:IDE会复制您选择的文件。您可能正在更改原始文件而不是项目目录中的副本。您可以通过单击对话框中“添加”按钮上的箭头并选择“添加为链接”来解决此问题。
答案 1 :(得分:1)
您可以通过将构建操作从“内容”更改为“嵌入式资源”来实现您期望的行为。
答案 2 :(得分:0)
当我需要使用COMFileReference
但还需要将DLL复制到输出文件夹时,遇到了这个问题。
最后,最后将DLL添加两次到项目中,一次作为Content
复制到输出文件夹,一次作为COMFileReference
。我找到的最简单的方法是直接修改.csproj
xml。