1、Assembly.Load()针对【添加项目引用】和【通过手动拷贝】来加载程序集是有区别的,如果通过 Visual Studio IDE 【添加项目引用】菜单引用了程序集,只要书写正确,都能正常加载程序集,支持【强命名程序集】加载和【弱命名程序集】加载,如果加载的是弱命名的程序集不要写程序集的后缀名(.dll),不需要书写程序集的完整或者相对路径。Assembly.Load(File.ReadAllBytes())这个方法参数可以接受:必须包含后缀名的程序集名称或者包含完整路径、并包含后缀名的程序集名称,形如:Assembly.Load(File.ReadAllBytes(“XXX.dll(包含后缀名的程序集名称)”)),Assembly.Load(File.ReadAllBytes(“E:\\XX\\XXX\\XXXX\\PatrickLiu.Database.SqlServer.dll(包含完整路径、并包含后缀名的程序集名称)”))这两种方式都是有效的。如果在不引用程序集(是不通过VS菜单【添加项目引用】),还想使用 Assembly.Load() 方法成功加载程序集,只能通过 Assembly.Load(File.ReadAllBytes())这种方式,当然我只测试了这个接口,其他的大家可以尝试。
2、Assembly.LoadFile()方法使用也比较简单,无论是在【添加项目引用】还是【手动拷贝】都可以正常加载程序集,唯一要注意的就是,必须书写完整的程序集路径,程序集文件名,也包含扩展名,如:Assembly.LoadFile(“E:\\X\\XX\\XXX\\PatrickLiu.Database.SqlServer.dll”)。
3、Assembly.LoadFrom()使用起来相对简单一点,无论是在已经【添加项目引用】还是【手动拷贝】都可以正常加载程序集,但是方法的参数必须是:(1)、包含完整路径、程序集名称和后缀名的程序集,如:Assembly.LoadFrom(“E:\\X\\XX\\XXX\\PatrickLiu.Database.SqlServer.dll”),(2)、参数必须包含程序集名称和后缀名,如:Assembly.LoadFrom(“PatrickLiu.Database.SqlServer.dll”)
三、总结
好了,今天就写道这里了,总算还不错,能有点收获。如果以后有新的需求,在测试把。每天进步一点点,努力一直在路上。