我有一个简单的控制台项目,需要读取两个Excel文件。这些Excel文件已经被包含在项目中(使用“添加现有项”操作),并且我已经标记它们为“复制到输出目录”。但是,在调试/运行代码时,它们并没有被复制到调试目录中。
我感觉我可能忘记了一些微不足道的东西。我还需要做什么?
我有一个简单的控制台项目,需要读取两个Excel文件。这些Excel文件已经被包含在项目中(使用“添加现有项”操作),并且我已经标记它们为“复制到输出目录”。但是,在调试/运行代码时,它们并没有被复制到调试目录中。
我感觉我可能忘记了一些微不足道的东西。我还需要做什么?
构建操作: 无
复制到输出目录: 总是复制
非源代码文件的更改不会导致重新构建 - 当编译器进行其过时检查时,它们不会被考虑。
尝试通过完全删除输出目录来强制执行完整的重建(有时从Visual Studio内部执行此操作并不完整)。
可能是因为没有运行完整的构建,所以这些文件还没有被复制过去。
Content
),并将“复制到输出目录”设置为“仅在较新时复制”。永远不要使用“始终复制”,因为它会因为太过复杂的原因导致 VS 的构建性能下降。 - Drew Noakes对于我的WPF项目,这些都不起作用。你需要将其标记为内容+ 始终复制。
有关不同Visual Studio文件属性的详细信息,请参阅此页面。
你把它们标记为内容了吗?
我在项目中将一些png文件重命名、排除和重新添加时遇到了问题。似乎VS2015无法跟踪如何处理这些文件:尽管在VS中将“复制到输出目录:始终复制”设置为有问题的文件,但csproj文件中并不存在CopyToOutputDirectory关键字。我不得不手动更改csproj文件,从
<Content Include="xxx.png"/>
转换为:
<Content Include="xxx.png">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
这可能是个愚蠢的问题,但你是否在调试模式下运行?我曾犯过同样的错误,后来发现我处于发布模式。
VS 2015的行为类似,无法正确更新Content文件的输出目录。 奇怪的是,将一个文本文件放在Content文件所在的文件夹中并将其设置为Content文件似乎可以起作用。文本文件将被复制到目录中,所有其他Content文件也将被复制。更奇怪的是,如果您删除了文本文件,即使不再有原始文件可供复制,它仍将继续显示在输出目录中。
copy always
。None
、Content
还是 Resource
,都没有起作用。Embedded resource
。这样,对该文件的更改会触发重新构建,从而将文件复制过去。