【C#】ソースとしてアプリケーション内にあらかじめ埋め込んだファイルの読み込みを行う

C#

リソースとしてアプリケーション内にあらかじめ埋め込んだファイルの読み込みを行う方法について、覚え書きとしてメモします。

【リソースとして埋め込みを行う】

まずはリソースとしてファイルの埋め込みを行っていきます。
埋め込むファイルは、一般的には画像ファイルが多いです。
ですが、今回画像ではなくバイナリデータのファイルを使って行っていきたいと思います。

 ●埋め込み方法①

  Visual Studioのメニューの「プロジェクト」-「プロパティ」でプロジェクトデザイナを表示する。

 ●埋め込み方法②

 ・ソリューションエクスプローラを選択し、右クリックでポップアップメニューを表示。
 ・[追加]メニューの[既存の項目]メニューを選択
 ・追加したファイルを選択し、プロパティウィンドウの[ビルドアクション]プロパティを確認。
ここでビルドアクションを“埋め込まれたリソース”に変更を行います。

【リソースから取得方法】

追加アセンブリ

・下記のアセンブラを追加します。

// アセンブリの追加
using System.Reflection;

取得処理ソース

// 現在の実行ファイルのアセンブリを取得
Assembly assembly = Assembly.GetExecutingAssembly();
// 現在のアセンブリに埋め込まれたリソースのストリームを取得
Stream stream = assembly.GetManifestResourceStream("Resource.Bdata"); // リソース名は『(実行ファイルの名前空間).(追加したファイル名)』

サブフォルダに画像を配置した場合サブフォルダを含めた名前空間を指定をします
“Resource.datas.Bdata”

// 現在の実行ファイルのアセンブリを取得
Assembly assembly = Assembly.GetExecutingAssembly();
// 現在のアセンブリに埋め込まれたリソースのストリームを取得
Stream stream = assembly.GetManifestResourceStream("Resource.datas.Bdata"); // リソース名は『(実行ファイルの名前空間).(追加したファイル名)』

コメント

タイトルとURLをコピーしました