Load、LoadFile、LoadFrom

LoadFrom 可加载依赖项,但不能加载同标识不同路径下的程序集;

LoadFile 可加载同标识不同路径下的程序集,但不会加载程序的依赖项;
var test = (TestLib.Test)Assembly.LoadFrom("D:\workspace\TestLib.dll").CreateInstance("TestLib.Test");

Load 可加载强命名程序集,能在程序集上应用安全和部署策略;优先使用这个方法。
var test = (TestLib.Test)Assembly.Load("TestLib, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null").CreateInstance("TestLib.Test");

不占用文件的加载
Assembly ab = Assembly.Load(File.ReadAllBytes(path));

弱命名程序集,加载方法不会去全局程序集缓存中查找

强命名程序集
1.生成密钥对文件 sn –k MyAssemblyKey.keys
2.生成公钥文件 sn –p MyAssemblyKey.keys MyAssemblyPublicKey.PublicKey
3.创建强命名程序集 在声明命名空间的那句代码上加上如下特性:[assembly:AssemblyKeyFileAttribute(@”D:"Test"MyAssemblyKey.keys”)]
4.编译项目
5.将程序集添加到程序集全局缓存 gacutil –i MyAssembly.dll

posted @ 2020-10-16 18:00  wesson2019  阅读(541)  评论(0编辑  收藏  举报