メイン フォームを表示する前に、個々のアセンブリの読み込みを示すスプラッシュ スクリーンを作成したいと考えています。
私はプリロードを行っています:
Assembly a = System.Reflection.Assembly.GetExecutingAssembly();
foreach (AssemblyName an in a.GetReferencedAssemblies())
{
Assembly.Load(an);
}
2 つの問題があります。
問題 1:
一部のアセンブリは、参照に含まれていなくても、プリロード後にロードされます。
'x.vshost.exe' (マネージド (v4.0.30319)): ロード済みシンボルの読み込みをスキップしました。モジュールが最適化され、デバッガー オプションの [Just My Code] が有効になります。
'x.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\windows\Microsoft.Net\assembly\GAC_MSIL\PresentationFramework.Aero\v4.0_4.0.0.0__31bf3856ad364e35\PresentationFramework.Aero.dll',シンボルの読み込みをスキップしました。モジュールが最適化され、デバッガー オプションの [Just My Code] が有効になります。
アセンブリを参照に接続することでこの問題を回避できますが、コンパイラが強制しないため、そうしたくありません。
問題 2:
私はテレリック RadPadeView を使用しています。2番目のページには、TelerikのWPF Ganttを含むElementHostコントロールがあります(メインアプリケーションはWinFormです)。メイン ウィンドウを表示した後、2 番目のタブをクリックしてガントを表示します。そしてこの時点で、追加のアセンブリがロードされました。
'x.exe' (Managed (v4.0.30319)): Loaded 'C:\windows\Microsoft.Net\assembly\GAC_MSIL\PresentationFramework-SystemXmlLinq\v4.0_4.0.0.0__b77a5c561934e089\PresentationFramework-SystemXmlLinq.dll'、スキップされた読み込みシンボル。モジュールが最適化され、デバッガー オプションの [Just My Code] が有効になります。
'x.exe' (Managed (v4.0.30319)): Loaded 'C:\windows\Microsoft.Net\assembly\GAC_MSIL\PresentationFramework-SystemXml\v4.0_4.0.0.0__b77a5c561934e089\PresentationFramework-SystemXml.dll'、スキップされた読み込みシンボル。モジュールが最適化され、デバッガー オプションの [Just My Code] が有効になります。
問題は、すべてのアセンブリをプリロードする方法です。
- 参照された
- 未参照 (問題 1)
- 必要になるまで読み込まれない (問題 2)