C#如何将程序集加载到应用程序域中
1个回答
展开全部
可以通过多种方式将程序集加载到应用程序域中。推荐方式是使用
System.Reflection.Assembly类的static(在 Visual Basic 中为Shared)Load方法。加载程序集的其他方式包括:Assembly类的LoadFrom方法加载已给定其文件位置的程序集。通过此方法加载程序集将使用不同的加载上下文。
ReflectionOnlyLoad和ReflectionOnlyLoadFrom
将程序集加载到仅反射上下文中。
注意仅反射上下文是 .NET Framework 2.0 版中的新增功能。
诸如CreateInstance方法和AppDomain类的CreateInstanceAndUnwrap
之类的方法可将程序集加载到应用程序域中。
Type类的GetType方法可加载程序集。
System.AppDomain类的Load方法可以加载程序集,但该方法主要用于 COM 互操作性。不应使用该方法将程序集加载到除从其调用该方法的应用程序域以外的其他应用程序域。
注意从 .NET Framework 2.0 版开始,对于版本号高于当前已加载运行库的 .NET Framework 版本,运行库将不加载由其进行编译的程序集。这同样适用于主版本号和次版本号的组合。
可以指定在应用程序域间共享来自已加载程序集的实时 (JIT) 编译代码的方式。有关更多信息,请参见
应用程序域和程序集。
示例下面的代码将名为example.exe或example.dll的程序集加载到当前应用程序域中,从该程序集获取名为Example的类型,为该类型获取名为MethodA的无参数方法,然后执行该方法。有关从所加载程序集中获取信息的完整讨论,请参见动
态加载和使用类型。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询