4

多分ここの誰かが私を助けることができます。私は主に C# の経験を持つアマチュア プログラマーです。

ここ数日、C++ をさらに調べ始めたところ、理解できない問題に遭遇しました。Windows デスクトップに Microsoft Visual Studio 2012 Express を使用しています。

ソリューション エクスプローラーを使用して画像 (jpg、png、bmp) などのリソースをソリューションに追加しても、ハード ドライブのソリューション フォルダーにコピーされません。さらに問題なのは、プロジェクトをコンパイルするときにこれらのイメージがコピー/コンパイルされないという事実です!! そのため、プログラムは実行に失敗します。ファイルを手動で (この場合は Debug フォルダーに) コピーすると、すべて正常に動作します。ファイル プロパティの [コンテンツ] プロパティと [プロジェクトに追加] プロパティを 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 に答える