也说说Silverlight动态加载DLL
问题
今天手头的项目遇到一个问题,为了描述这个问题,我建立了一个简单的项目,结构如下:
问题是这样的:
1,silverlightApplication1中有一个按钮,点击后弹出窗口;silverlightApplication6中只有一个canvas来放置从SilverlightApplication1.dll反射得到的控件。
2,silverlightApplication6中动态加载了silverlightApplication1的SilverlightApplication1.dll文件
3,如果在RIA上启动新实例进行调试,可以正常通过。效果是
4,但是在web上启动新实例进行调试就会报错:会提示安全性错误。
解决办法
经过反复测试,还不停的修改策略文件等,最后确定了是DLL的加载路径的问题,错误的写法有很多,同事也给出了集中正确的写法,在此列出其中一种正确的写法
在这样的文件结构下
我们可以这样写加载方法
public MainPage(){ InitializeComponent();WebClient web = new WebClient();web.OpenReadCompleted += new OpenReadCompletedEventHandler(web_OpenReadCompleted);web.OpenReadAsync(new Uri("SilverlightApplication1.dll", UriKind.RelativeOrAbsolute));}void web_OpenReadCompleted(object sender, OpenReadCompletedEventArgs e){AssemblyPart part = new AssemblyPart();Assembly assembly = part.Load(e.Result);UserControl uc = assembly.CreateInstance("SilverlightApplication1.Box") as UserControl;this.canvas1.Children.Add(uc);}
源码下载:SilverlightDynDll
本文转自wengyuli 51CTO博客,原文链接:http://blog.51cto.com/wengyuli/586747,如需转载请自行联系原作者
也说说Silverlight动态加载DLL相关推荐
- 一起谈.NET技术,Silverlight动态加载DLL
问题 今天手头的项目遇到一个问题,为了描述这个问题,我建立了一个简单的项目,结构如下: 问题是这样的: 1,silverlightApplication1中有一个按钮,点击后弹出窗口:silverli ...
- Unity3D的坑系列:动态加载dll
Unity3D的坑系列:动态加载dll 我现在参与的项目是做MMO手游,目标平台是Android和iOS,iOS平台不能动态加载dll(什么原因找乔布斯去),可以直接忽略,而在Android平台是可以 ...
- 【原】 动态加载dll
动态调用动态库步骤: 1.创建一个函数指针,其指针数据类型要与调用的DLL引出函数相吻合. 2.通过Win32 API函数LoadLibrary()显式的调用DLL,此函数返回DLL的实例句柄. 3. ...
- c# winform程序调用托管dll(c#的dll),使用添加引用和动态加载dll
1. dll要强名. 2. winform程序要添加引用dll(自动获得dll的函数调用定义),"复制本地"属性设false,因为下一步会动态加载dll,所以"复制本地& ...
- VC静态加载DLL和动态加载DLL
VC静态加载DLL和动态加载DLL 1. 静态加载DLL 如果你有a.dll和a.lib,两个文件都有的话可以用静态加载的方式: message函数的声明你应该知道吧,把它的声明和下面的语句写到一个头 ...
- 使用LoadLibrary动态加载DLL并使用其中的类
转载地址:https://blog.csdn.net/hetoby/article/details/51941921 动态加载DLL并使用其中的函数,是大家经常用到的,那么直接使用LoadLibrar ...
- C#根据Debug、Release模式动态加载dll
//根据Debug.Release状态动态加载dll文件 #if (DEBUG) const string dllPathCamera = @" ...
- C#动态加载DLL(转)
利用反射进行动态加载和调用. Assembly ass=Assembly.LoadFrom(DllPath); //利用dll的路径加载 加载dll后,需要使用dll中某类. Type type=as ...
- C#通过反射动态加载dll,读取module、类、方法、特性,并通过反射+简单工厂+配置文件 实现ioc
调用类: class Program {static void Main(string[] args){SafeInvoke(() =>{//通过委托实现通用的异常处理#region 通过反射创 ...
最新文章
- svn里ignore不需要提交的用户文档
- 【Android】 Android中spinner下拉列表的使用
- Java中的XSL转换:一种简单的方法
- windows10升级助手_利用系统自带应用在Windows 10上实现电脑免费拨打电话
- 重温数据结构——(1)
- 微弱信号检测_移动电话/手机信号增强器/扩大器
- Oracle JDK收费理解
- 先天八卦与后天八卦原理及区别
- junit5_JUnit 5测试中的临时目录
- HUAWEI 机试题:统计射击比赛成绩
- C语言课程设计题目汇总
- H5绘制Android机器人
- VScode 插件中 package.json 文件 activationEvents 字段详解
- 苹果5壁纸_冷高轮时间wallpaper Engine动态时钟壁纸 小人人体形状造型数字 手势数字 麻将数字 扑克数字 时钟壁纸...
- 【京东】商品详情页+商品列表数据采集
- Struts2动作类:Action
- 四川成都电信天邑TEWA-300AI EPON光猫各种折腾
- windows服务器系统时间修改了还是不对
- 论文中公式居中编号右对齐以及左下角基金的插入方法
- JDK 18 / Java 18 GA 来了