Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 预加载程序集:已引用、未引用、在需要时才加载_C#_Winforms_Reference_Assemblies_Preload - Fatal编程技术网

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”跳过了加载符号。模块已优化,并且调试器选项“仅我的代码”已启用

问题是,如何预加载所有组件:

  • 参考
  • 未引用(问题1)
  • 需要时才加载(问题2)
  • 是从已引用类型或按文件路径加载程序集所需的全部内容。 见

    Assembly.Load