Load、LoadFile、LoadFrom

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

LoadFile 可加载同标识不同路径下的程序集,但不会加载程序的依赖项;
var test = (TestLib.Test)Assembly.LoadFrom("D:workspaceTestLib.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

原文地址:https://www.cnblogs.com/wesson2019-blog/p/13827836.html