会弄WPF来帮下忙

E次奥 2015-08-05 02:13:35



我在反射加载dll的时候,用AssemblyResolve事件加载依赖的dll,最后却说未能加载Microsoft.Expression.Drawing.Aero2程序集;

谁知道Microsoft.Expression.Drawing.Aero2程序集吗?

...全文
273 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
仙剑 2015-08-17
  • 打赏
  • 举报
回复
这个应该要安装微软的Expression开发工具
  • 打赏
  • 举报
回复
引用 7 楼 porenasckx 的回复:
[quote=引用 6 楼 duanzi_peng 的回复:] [quote=引用 4 楼 porenasckx 的回复:] [quote=引用 3 楼 duanzi_peng 的回复:] 这东西 貌似是 装Blend工具 才会有的吧。未能加载,就是没有引用到吧
我用 If 语句 在加载这个程序集的时候,直接跳过不加载 就可以运行; 但是我不能用if语句专门屏蔽这个程序集啊,因为AssemblyResolve事件会自动选择需要的程序集,不知道为什么就选择了这个程序集! PS:Microsoft.Expression.Drawing.Aero2这个程序集在哪个dll都不知道,和项目也没有用到这个程序集[/quote] 应该隶属 这,http://systemexplorer.net/file-database/file/microsoft.expression.drawing-dll[/quote] 我也觉得是Microsoft.Expression.Drawing.dll,但是我已经加载了这个dll; [/quote] dll 版本与vs的目标平台 是一致?
E次奥 2015-08-07
  • 打赏
  • 举报
回复
引用 8 楼 wpfLove 的回复:
确认下是什么原因要调用到这个dll,看是否可以避免 像是blend下的dll
可以屏蔽加载这个程序集,但是这不是好的解决方案; 这个Microsoft.Expression.Drawing.Aero2是这个Microsoft.Expression.Drawing.dll里边的,但是Microsoft.Expression.Drawing.dll我已经成功加载了,按理说应该不用加载这个,不知道为什么应用程序还是选择了这个程序集;
小猪八Q 2015-08-07
  • 打赏
  • 举报
回复
确认下是什么原因要调用到这个dll,看是否可以避免 像是blend下的dll
E次奥 2015-08-07
  • 打赏
  • 举报
回复
引用 6 楼 duanzi_peng 的回复:
[quote=引用 4 楼 porenasckx 的回复:] [quote=引用 3 楼 duanzi_peng 的回复:] 这东西 貌似是 装Blend工具 才会有的吧。未能加载,就是没有引用到吧
我用 If 语句 在加载这个程序集的时候,直接跳过不加载 就可以运行; 但是我不能用if语句专门屏蔽这个程序集啊,因为AssemblyResolve事件会自动选择需要的程序集,不知道为什么就选择了这个程序集! PS:Microsoft.Expression.Drawing.Aero2这个程序集在哪个dll都不知道,和项目也没有用到这个程序集[/quote] 应该隶属 这,http://systemexplorer.net/file-database/file/microsoft.expression.drawing-dll[/quote] 我也觉得是Microsoft.Expression.Drawing.dll,但是我已经加载了这个dll;
  • 打赏
  • 举报
回复
引用 4 楼 porenasckx 的回复:
[quote=引用 3 楼 duanzi_peng 的回复:] 这东西 貌似是 装Blend工具 才会有的吧。未能加载,就是没有引用到吧
我用 If 语句 在加载这个程序集的时候,直接跳过不加载 就可以运行; 但是我不能用if语句专门屏蔽这个程序集啊,因为AssemblyResolve事件会自动选择需要的程序集,不知道为什么就选择了这个程序集! PS:Microsoft.Expression.Drawing.Aero2这个程序集在哪个dll都不知道,和项目也没有用到这个程序集[/quote] 应该隶属 这,http://systemexplorer.net/file-database/file/microsoft.expression.drawing-dll
小猪八Q 2015-08-07
  • 打赏
  • 举报
回复
引用 9 楼 porenasckx 的回复:
[quote=引用 8 楼 wpfLove 的回复:] 确认下是什么原因要调用到这个dll,看是否可以避免 像是blend下的dll
可以屏蔽加载这个程序集,但是这不是好的解决方案; 这个Microsoft.Expression.Drawing.Aero2是这个Microsoft.Expression.Drawing.dll里边的,但是Microsoft.Expression.Drawing.dll我已经成功加载了,按理说应该不用加载这个,不知道为什么应用程序还是选择了这个程序集; [/quote] 试着两种思路: 1.新建一个项目,模拟下你这个模块的功能,试试会不会出问题 2.备份下项目文件下的.suo文件,然后删除重新编译下试试【推荐优先尝试这种方式】
  • 打赏
  • 举报
回复
这东西 貌似是 装Blend工具 才会有的吧。未能加载,就是没有引用到吧
gw6328 2015-08-06
  • 打赏
  • 举报
回复
怎么有点像操作系统的桌面什么管理
E次奥 2015-08-06
  • 打赏
  • 举报
回复
引用 3 楼 duanzi_peng 的回复:
这东西 貌似是 装Blend工具 才会有的吧。未能加载,就是没有引用到吧
我用 If 语句 在加载这个程序集的时候,直接跳过不加载 就可以运行; 但是我不能用if语句专门屏蔽这个程序集啊,因为AssemblyResolve事件会自动选择需要的程序集,不知道为什么就选择了这个程序集! PS:Microsoft.Expression.Drawing.Aero2这个程序集在哪个dll都不知道,和项目也没有用到这个程序集
E次奥 2015-08-05
  • 打赏
  • 举报
回复
引用 1 楼 hbu_pig 的回复:
是不是少DLL
我用AssemblyResolve事件加载依赖的dll,AssemblyResolve事件会先获得dll的名称,当名称为Microsoft.Expression.Drawing.Aero2时,我用if屏蔽掉,然后就成功运行了; 但是正常的写法不能刻意屏蔽某个单独的程序集,要自动获取的!
欢乐的小猪 2015-08-05
  • 打赏
  • 举报
回复
是不是少DLL

111,094

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧