参考:
http://www.cnblogs.com/benwu/archive/2009/10/24/1589096.html
http://www.cnblogs.com/xuefeng1982/archive/2009/11/09/1598956.html
今天总算弄明白了Assembly.LoadFrom 与Assembly.Load 与 Assembly.LoadFile的一些区别,
以前只是用Assembly.Load来生成实例,现在遇到一个问题,就是从应用程序中来创建窗体,
网上找了下资料,才开明白是怎么回事
1:Assembly.LoadFile只载入相应的dll文件,比如Assembly.LoadFile("a.dll"),则载入a.dll,假如a.dll中引用了b.dll的话,b.dll并不会被载入。
Assembly.LoadFrom则不一样,它会载入dll文件及其引用的其他dll
2:Assembly.LoadFrom(程序集的文件路径,包括扩展名)
而Assembly.Load(程序集名称,而不是文件名)
Assembly.Load方法的使用 以往每次用 Assembly.Load方法是,总是要查一次API,而且还要试验一小会。干脆写出来以后直接用 Operation Oper = (OperationAdd)Assembly.Load("OperationAdd").CreateInstance("Calculator.OperationAdd"); 其中 Load("OperationAdd")中的OperationAdd事dll文件名称,即存在一个OperationAdd.dll的文件。").CreateInstance("Calculator.OperationAdd")中的Calculator.OperationAdd程序集中的命名空间和类名。
View Code
时间: 2024-09-20 16:41:05