【发布时间】:2017-09-20 18:39:31
【问题描述】:
我想使用AssemblyResolver 事件在我的应用程序中动态加载程序集,但我不明白该怎么做。
我看到了这个tutorial 并亲自尝试过。 在技巧 3 中,他写道:
static void Main(string[] args)
{
AppDomain.CurrentDomain.AssemblyResolve += ResolveAssembly;
}
static void Print()
{
var mainClass = new MainClass();
mainClass.Print();
}
static Assembly ResolveAssembly(object sender, ResolveEventArgs args)
{
return Assembly.LoadFile(@"path to the library");
}
其实我完全不明白这段代码应该如何编译...
new MainClass() 无法编译,因为它未知(类型尚未加载),加载发生在运行时。
如果MainClass 是已知类型,则根本不应该解决它...
这段代码应该如何工作?
【问题讨论】:
-
我认为
print是一些仅用于调试的方法(例如调用堆栈),并不意味着加载的程序集中包含的东西。 athhor 应该已经在前面的章节中给出了代码。
标签: c# .net assemblies resolver