C# 预加载程序集:已引用、未引用、在需要时才加载
在显示主窗体之前,我想创建一个显示单个程序集加载的启动屏幕 我正在通过以下方式进行预加载:C# 预加载程序集:已引用、未引用、在需要时才加载,c#,winforms,reference,assemblies,preload,C#,Winforms,Reference,Assemblies,Preload,在显示主窗体之前,我想创建一个显示单个程序集加载的启动屏幕 我正在通过以下方式进行预加载: Assembly a = System.Reflection.Assembly.GetExecutingAssembly(); foreach (AssemblyName an in a.GetReferencedAssemblies()) { Assembly.Load(an); } 我有两个问题: 问题1: 某些部件在预加载后加载,即使它们未包含在参考中: “x.vshost.exe”(托管
Assembly a = System.Reflection.Assembly.GetExecutingAssembly();
foreach (AssemblyName an in a.GetReferencedAssemblies())
{
Assembly.Load(an);
}
我有两个问题:
问题1:
某些部件在预加载后加载,即使它们未包含在参考中:
“x.vshost.exe”(托管(v4.0.30319)):加载的“C:\windows\Microsoft.Net\assembly\GAC_MSIL\PresentationFramework SystemData\v4.0_4.0.0.0_b77a5c561934e089\PresentationFramework SystemData.dll”,跳过了加载符号。模块已优化,并且调试器选项“仅我的代码”已启用
“x.vshost.exe”(托管(v4.0.30319)):加载的“C:\windows\Microsoft.Net\assembly\GAC_MSIL\PresentationFramework.Aero\v4.0_4.0.0.0_u31bf3856ad364e35\PresentationFramework.Aero.dll”,跳过了加载符号。模块已优化,并且调试器选项“仅我的代码”已启用
我可以通过将程序集连接到引用来解决这个问题,但我不想这样做,因为编译器并不强迫我这样做
问题2:
我用的是telerik RadPadeView。在secound页面上,我有ElementHost控件,它包含Telerik提供的WPF甘特(主要应用程序是WinForm)。显示主窗口后,我单击第二个选项卡以查看甘特图。此时,加载了附加组件
“x.exe”(托管(v4.0.30319)):加载的“C:\windows\Microsoft.Net\assembly\GAC_MSIL\PresentationFramework SystemXmlLinq\v4.0_4.0.0.0_UuB77A5C561934E089\PresentationFramework SystemXmlLinq.dll”,跳过了加载符号。模块已优化,并且调试器选项“仅我的代码”已启用
“x.exe”(托管(v4.0.30319)):加载的“C:\windows\Microsoft.Net\assembly\GAC\U MSIL\PresentationFramework SystemXml\v4.0\U 4.0.0\UU b77a5c561934e089\PresentationFramework SystemXml.dll”跳过了加载符号。模块已优化,并且调试器选项“仅我的代码”已启用
问题是,如何预加载所有组件:
Assembly.Load