加载dll过程中assembly失败
2024-08-20 16:43:53
错误现象:
进行插件读取时出现错误:“尝试从一个网络位置加载程序集,在早期版本的 .NET Framework 中,这会导致对该程序集进行沙盒处理。此发行版的 .NET Framework 默认情况下不启用 CAS 策略,因此,此加载可能会很危险。如果此加载不是要对程序集进行沙盒处理,请启用 loadFromRemoteSources 开关。有关详细信息,请参见 http://go.microsoft.com/fwlink/?LinkId=155569。”
错误原因:由于在项目中引用了外部dll,DotNET的安全机制阻止加载一个本地网或互联网上的assembly。
1,参考https://msdn.microsoft.com/en-us/library/dd409252(VS.100).aspx进行解决,配置app.config就可以完成
<configuration> <runtime> <loadFromRemoteSources enabled="true"/> </runtime> </configuration> 2,Assembly类有一个静态函数UnsafeLoadFrom,这个函数在加载一个assembly的时候,不会进行一些安全检查。加载dll语句修改为:
string dll = @"Z:\test.dll";
Assembly a = Assembly.UnsafeLoadFrom(dll);
3, Assembly的load方法有很多的重载,可以使用其中的一个参数为byte[]的load函数。代码如下:
string dll = @"Z:\test.dll"; ;
byte[] assemblyBuffer = File.ReadAllBytes(dll);
Assembly a = Assembly.Load(assemblyBuffer);
【原文http://blog.csdn.net/studying/article/details/6663627】
最新文章
- 【BZOJ1415】 [Noi2005]聪聪和可可 概率与期望
- sql server 写性能优化
- Moon.Orm 5.0(MQL版)分页功能的设计(求指教,邀请您的加入)
- Oracle EBS R12 电子技术参考手册 - eTRM (电子文档)
- POJ1094 Sorting It All Out(拓扑排序)
- Jasper_style
- PCB行业版特色功能展示
- IDEA中Git的使用
- Android项目实战登录&;注册
- spring问题
- pickle 模块
- python数据结构与算法第六天【栈与队列】
- js 2017
- node加密
- Ubuntu16.04搭建Postfix作为SMTP服务器
- css过渡动画
- 关于分页插件PageHelper
- 基于 Laravel 的 文件管理
- typescript 的一种引入文件的方式 Triple-Slash Directives
- BZOJ4890 Tjoi2017城市