问题

今天手头的项目遇到一个问题,为了描述这个问题,我建立了一个简单的项目,结构如下:

问题是这样的:

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相关推荐

  1. 一起谈.NET技术,Silverlight动态加载DLL

    问题 今天手头的项目遇到一个问题,为了描述这个问题,我建立了一个简单的项目,结构如下: 问题是这样的: 1,silverlightApplication1中有一个按钮,点击后弹出窗口:silverli ...

  2. Unity3D的坑系列:动态加载dll

    Unity3D的坑系列:动态加载dll 我现在参与的项目是做MMO手游,目标平台是Android和iOS,iOS平台不能动态加载dll(什么原因找乔布斯去),可以直接忽略,而在Android平台是可以 ...

  3. 【原】 动态加载dll

    动态调用动态库步骤: 1.创建一个函数指针,其指针数据类型要与调用的DLL引出函数相吻合. 2.通过Win32 API函数LoadLibrary()显式的调用DLL,此函数返回DLL的实例句柄. 3. ...

  4. c# winform程序调用托管dll(c#的dll),使用添加引用和动态加载dll

    1. dll要强名. 2. winform程序要添加引用dll(自动获得dll的函数调用定义),"复制本地"属性设false,因为下一步会动态加载dll,所以"复制本地& ...

  5. VC静态加载DLL和动态加载DLL

    VC静态加载DLL和动态加载DLL 1. 静态加载DLL 如果你有a.dll和a.lib,两个文件都有的话可以用静态加载的方式: message函数的声明你应该知道吧,把它的声明和下面的语句写到一个头 ...

  6. 使用LoadLibrary动态加载DLL并使用其中的类

    转载地址:https://blog.csdn.net/hetoby/article/details/51941921 动态加载DLL并使用其中的函数,是大家经常用到的,那么直接使用LoadLibrar ...

  7. C#根据Debug、Release模式动态加载dll

    //根据Debug.Release状态动态加载dll文件         #if (DEBUG)                 const string dllPathCamera = @" ...

  8. C#动态加载DLL(转)

    利用反射进行动态加载和调用. Assembly ass=Assembly.LoadFrom(DllPath); //利用dll的路径加载 加载dll后,需要使用dll中某类. Type type=as ...

  9. C#通过反射动态加载dll,读取module、类、方法、特性,并通过反射+简单工厂+配置文件 实现ioc

    调用类: class Program {static void Main(string[] args){SafeInvoke(() =>{//通过委托实现通用的异常处理#region 通过反射创 ...

最新文章

  1. svn里ignore不需要提交的用户文档
  2. 【Android】 Android中spinner下拉列表的使用
  3. Java中的XSL转换:一种简单的方法
  4. windows10升级助手_利用系统自带应用在Windows 10上实现电脑免费拨打电话
  5. 重温数据结构——(1)
  6. 微弱信号检测_移动电话/手机信号增强器/扩大器
  7. Oracle JDK收费理解
  8. 先天八卦与后天八卦原理及区别
  9. junit5_JUnit 5测试中的临时目录
  10. HUAWEI 机试题:统计射击比赛成绩
  11. C语言课程设计题目汇总
  12. H5绘制Android机器人
  13. VScode 插件中 package.json 文件 activationEvents 字段详解
  14. 苹果5壁纸_冷高轮时间wallpaper Engine动态时钟壁纸 小人人体形状造型数字 手势数字 麻将数字 扑克数字 时钟壁纸...
  15. 【京东】商品详情页+商品列表数据采集
  16. Struts2动作类:Action
  17. 四川成都电信天邑TEWA-300AI EPON光猫各种折腾
  18. windows服务器系统时间修改了还是不对
  19. 论文中公式居中编号右对齐以及左下角基金的插入方法
  20. JDK 18 / Java 18 GA 来了

热门文章

  1. 前端工程化工具Fekit分析
  2. 通信原理之IP协议,ARP协议 (三)
  3. 基于winpcap开发的相关资料
  4. 【S1官方核心】18128核心纯净雅黑H大全力打造的1.9精品
  5. 重构了一波代码,聊聊后端也聊聊游戏后端
  6. 北京亦庄盘古T3+机房简介
  7. 2017 湘潭邀请赛JSCPC GJ
  8. Mybatis之批量更新操作
  9. Google Container Engine进军生产环境,容器技术势不可挡
  10. PHP 一个可以过滤非法脚本的函数