我想创建一个启动画面,在显示主窗体之前显示单个装配的加载。
我正在通过以下方式进行预加载:
Assembly a = System.Reflection.Assembly.GetExecutingAssembly();
foreach (AssemblyName an in a.GetReferencedAssemblies())
{
Assembly.Load(an);
}
我有两个问题:
问题1:
在预加载后加载某些程序集,即使它们未包含在引用中:
'x.vshost.exe'(Managed(v4.0.30319)):已加载'C:\ windows \ Microsoft.Net \ assembly \ GAC_MSIL \ PresentationFramework-SystemData \ v4.0_4.0.0.0__b77a5c561934e089 \ PresentationFramework-SystemData。 dll',跳过加载符号。模块已经过优化,调试器选项“Just My Code”已启用。
'x.vshost.exe'(托管(v4.0.30319)):已加载'C:\ windows \ Microsoft.Net \ assembly \ GAC_MSIL \ PresentationFramework.Aero \ v4.0_4.0.0.0__31bf3856ad364e35 \ PresentationFramework.Aero。 dll',跳过加载符号。模块已经过优化,调试器选项“Just My Code”已启用。
我可以通过将程序集连接到引用来解决这个问题,但我不想这样做,因为编译器不强迫我。
问题2:
我正在使用telerik RadPadeView。在secound页面上,我有一个ElementHost控件,它包含来自Telerik的WPF Gantt(主应用程序是WinForm)。在显示主窗口后,我点击第二个选项卡查看甘特图。此时,已加载其他装配。
'x.exe'(托管(v4.0.30319)):已加载'C:\ windows \ Microsoft.Net \ assembly \ GAC_MSIL \ PresentationFramework-SystemXmlLinq \ v4.0_4.0.0.0__b77a5c561934e089 \ PresentationFramework-SystemXmlLinq.dll' ,跳过加载符号。模块已经过优化,调试器选项“Just My Code”已启用。
'x.exe'(托管(v4.0.30319)):已加载'C:\ windows \ Microsoft.Net \ assembly \ GAC_MSIL \ PresentationFramework-SystemXml \ v4.0_4.0.0.0__b77a5c561934e089 \ PresentationFramework-SystemXml.dll' ,跳过加载符号。模块已经过优化,调试器选项“Just My Code”已启用。
问题是,如何预加载所有程序集: