Architect's Log

I'm a Cloud Architect. I'm highly motivated to reduce toils with driving DevOps.

リソースをWPFアプリケーションに組み込む

リソースを3種類の方法でWPFアプリケーションに組み込みます。

App.xaml

変更はありません。

App.xaml.cs

変更はありません。

imagesフォルダ

以下の画像を配置したimagesフォルダを追加しました。

  • content-image.jpg
  • resource-image.jpg
  • embedded-image.jpg

HelloWorld.csproj

Projectタグに以下の要素を追加しました。

<Project

<ItemGroup>
  <Content Include="images\content-image.jpg">
    <CopyToOutputDirectory>Always</CopyToOutputDirectory>
  </Content>
  <Resource Include="images\resource-image.jpg" />
  <EmbeddedResource Include="images\embedded-image.jpg" />
</ItemGroup></Project>
ビルドアクション 処理
Content 各リソースをアプリケーションのディレクトリにコピーします。
Resource 各リソースをアプリケーションの共通リソースに埋め込みます。
EmbeddedResource 各リソースをアプリケーションに個別に埋め込みます。

ビルド結果

  • bin\debug\
    • HelloWorld.vshost.exe.manifest
    • HelloWorld.exe
  • bin\debug\images\
    • content-image.jpg

参考

エッセンシャル WPF P.63より引用

embedded-image.jpgは*.exeに埋め込まれ、resource-image.jpgは*.g.resourcesという名前の埋め込みリソース内に配置され、content-image.jpgはルース(コンパイルされない)ファイルとしてデバッグディレクトリにコピーされています。