2011-11-07 9 views
7

私はそれを説明することになって、次の記事を読みましたが、それは私を助けていません:Visual Studio 2010の2つのビルドアクション "リソース"と "組み込みリソース"の違いは何ですか?

http://msdn.microsoft.com/en-us/library/ht9h2dk8(VS.80).aspx

私の場合は、私はアイコンの数百人が含まれているDLLを持ちたいということです。アイコンdllはさまざまなアプリケーションで共有され、使用されます。明らかに、1つのアプリケーションで数十を使用するだけで、それらのアイコンがすべてメモリにロードされるのは嫌いです。だから私は、 "リソース"(ビルドアクション)が、一度にすべてをロードするのではなく、要求に応じてアイコンをロードできるかどうかを知りたいと思っています。

助けてもらえますか?

答えて

2

ビルドアクション「コンテンツ」は、実際に探しているものかもしれません。このモードでは、アイコンはあなたの実行ファイルの一部ではなくなり、読み込みが速くなります。

「リソース」と「埋め込まれたリソース」のドキュメントは言う:いずれの場合も

、リソースデータは、実行可能 ファイルにコンパイルされます。

したがって、「リソース」ビルドアクションのいずれかを使用すると、必要なもの以外のものがメモリにロードされます。

Click here "Content"アクションと "Resource"アクションの比較。

2

私は現時点ではVisual Studioの近くにいないので、直接テストすることはできませんが、私は盲目的にしようとします。

まず、コンテンツとしてプロジェクトに追加されて読み込まれたZipファイルにすべてのリソースを配置すると、そのリソースは呼び出すまでアプリケーションによってロードされません。これは、あなたが言及したように、あなたが多数のファイルを押し出すならば、リソースを管理する素晴らしい方法です。

詳細については、using a dynamically loaded about pageに関するJeff Wilcoxのブログをご覧ください。

また、GetResourceStreamを使用してZipファイルからファイルを動的にロードするMSDNをご覧ください。

もちろん、使用する予定のファイルの数によっては、コンパイル時にアプリケーションが必要とするファイルを分割する方法を見つけるのがはるかに良い選択肢かもしれません。使用される方法にかかわらず、リソースとしてファイルをプルするためのオーバーヘッドコストがあるためです。

関連する問題