2012-04-08 12 views
2

私はプロセスモニタを使用してアプリケーションを調べています。 (.NET Framework 4、WPF app) 私のアプリケーションのすべてのDLLについて、 が "mydllname"を探していることを確認しています.resources.dll 私のアプリケーションは100以上のDLLを持っています。 しかし、言語サポートは1つしかありません。そして、私は のリソース、.resxなどを使用していません。.resources.dllを通してスキャンを停止する方法

どうすればいいですか? または.NET Frameworkは参照されているすべてのDLLについて常に.resources.dll を検索します。ありがとう。

+0

アプリケーションの起動が遅いため、この質問をしていますか? – Steve

+0

はい、私は潜在的な原因を調べています。 – Control

+0

あなたの質問の問題とは別に、何を確認しましたか?例えば、あなたのアセンブリは既にngenされていますか? – Steve

答えて

1

すべてのアプリケーションの起動時間は、常にすべてのNETプログラマーの声になっています。 私は 'library'.resource.dllのチェックは常に設計によって行われると思いますので、この動作を停止する可能性はないと思います。しかし、これを心配する前に、プロジェクト全体を開始するのに必要な合計時間と、起動時間の短縮に役立ついくつかの手順がある場合と比べて、これらのチェックでどれくらいの時間が必要かを質問する必要があります。

あなたのケースでは、最初のウィンドウを開始するために必要な最小限のDLLで小さなスタートアッププロジェクトを作成しようとします。このプロジェクトは、次に、基礎を使用する必要性の他の部分を呼び出します。難しいとは言えますが、スタートアッププロジェクトから直接100組のアセンブリすべてを参照する必要はないようです。

しかし、私はこれがデザインの大きな変化を意味する可能性があることを理解しています。
だからこのdrasticalソリューションでもpresented here

EDITを見て:私は、起動時間について話すとき、私はまた、あなたの初期化コードに費やされた時間を意味します。ここでは、EQATEQのようなプロファイラが必要です。メソッド内で渡された時間をチェックし、それらを最適化しようとするか、別のスレッドですべてを移動してください。

1

NeutralResourcesLanguage属性をアセンブリに適用してみてください。これにより、標準ResourceManagerは、CurrentUICultureが指定されたニュートラルリソース言語と一致する場合、サテライトアセンブリを検索しなくなります。

関連する問題