4

也许这里有人可以帮助我。我是一名业余程序员,主要在 C# 方面有经验。

过去几天我开始更多地研究 C++,但遇到了一个我无法弄清楚的问题。我正在为 Windows 桌面使用 Microsoft Visual Studio 2012 Express。

每当我通过解决方案资源管理器将图像(jpg、png、bmp)等资源添加到我的解决方案时,它们都不会被复制到硬盘驱动器上的解决方案文件夹中。更大的问题是当我编译我的项目时这些图像没有被复制/编译!因此,程序无法运行。如果我手动将文件复制到调试文件夹,在这种情况下,一切正常。我将文件属性中的“内容”属性以及“添加到项目”属性设置为 True。

我这辈子都想不通。:( 在 MS Visual Studio 2010 Express C# 中它总是有效。新版本中我缺少什么吗?

顺便说一句,对不起,如果其中一些没有任何意义。英语不是我的母语,我使用的是德语的 Visual Studio。

希望有人能给我一个答案!

此致,

迈克尔

4

2 回答 2

2

在解决方案资源管理器中,右键单击文件并选择“属性”。然后将“复制到输出目录”更改为“始终”。可能还将“构建操作”更改为“内容”。

于 2013-02-10T09:41:17.530 回答
1

我在 Visual Studio 2013 中的 C++ 项目中遇到了同样的问题。我找不到“如果更新则复制”或“始终复制”选项。如果 C++ 中有一个,请告诉我。

为了解决这个问题,我编辑了 [Projectname].vcxproj 文件。

寻找这样的一行:

<None Include="./yourcontentfile.dll" />

或者

<Content Include="./yourcontentfile.dll" />

将该行更改为以下内容:

<None Include="./yourcontentfile.dll">
  <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>

或者

<Content Include="./yourcontentfile.dll">
  <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>

这将在您构建时将该文件复制到输出目录。

于 2014-06-28T05:16:22.770 回答