web-dev-qa-db-ja.com

C#アプリケーションのリソースと埋め込みリソースの違いは何ですか?

いつどちらを使用すればよいですか?

アプリで使用するすべてのファイル(画像、音声、xmlファイルなど)を.exeファイル内に配置して、多数のフォルダーやファイルを展開しないようにします。

情報をありがとう。

78
Sergio Tapia

「リソース」および「コンテンツ」ビルドアクションは、Urisを使用してWPFリソースにアクセスすることです。ただし、「組み込みリソース」は以前のテクノロジー用です。ただし、両方のオプションはアセンブリにリソースを埋め込みますが、WPFに使用される「リソース」オプション。

MSDNに詳細な説明があります こちら

70
viky

WPFリソース(ビルドアクション=Resource)は、コア.NETフレームワークでサポートされている埋め込みリソースを活用しますが、埋め込みリソースへのアクセスのサポートを追加します- パックURI[〜#〜] msdn [〜#〜] から:

WPFリソースファイルは、アセンブリリソースのコア.NET Frameworkサポートを使用して構成できるリソースの埋め込み型またはリンク型と同じではありません。 WPFリソースファイルはコア.NET Framework埋め込みリソースサポートを活用しますが、パックURIを使用してWPFリソースファイルにアクセスする機能は、名前空間を使用するよりも簡単です。

7
Kent Boogaart

MSDNが報告したように、

埋め込みリソースは、複数のプロジェクト間でアプリケーションリソース(.resx)ファイルを共有する必要がある場合に最適です。たとえば、会社のロゴや商標情報などを含む共通のリソースファイルがある場合、埋め込みリソースを使用すると、関連するリソースデータファイルではなく、.resxファイルのみをコピーする必要があります。

埋め込みリソースを直接編集することはできません。埋め込みリソースを編集しようとすると、編集するためにアイテムをリンクされたリソースに変換するように促すメッセージが表示されます。変換が推奨されますが、オプションです。それらをエクスポートし、外部プログラムで変更を行ってから、プロジェクトにインポートし直す必要があります。

3
kiamlaluno

すべてのレポートをありがとう、それは私が問題がどこにあるかをより正確に見つけるのに役立ちました:私にとっては、タスクバーでproject iconとして使用される画像でしたリソースとして構築され、コンテンツとして構築する必要がありました。他のすべてのイメージはリソースとしてビルドでき、問題はありません。

これが将来に役立つことを願っています。

0
user2064543