zoukankan      html  css  js  c++  java
  • 解决Castle.DynamicProxy的LockBlockExpression在.NET Framework 4.0以上版本歧义问题

    在.NET Framework 4.0以上版本中Monitor的Enter函数新增加了一个重载版本,导致原先Castle.DynamicProxy中的LockBlockExpression在Emit时获取Enter函数从出现歧义(最新版本Castle已经解决了该问题,并且在2.5.2.0版本中DynamicProxy被合并到Castle.Core.dll中)。代码如下:

    gen.Emit(OpCodes.Call, typeof(Monitor).GetMethod(“Enter”));

    如果你手头上有Castle.DynamicProxy的源代码,可以将它修改如下:

    gen.Emit(OpCodes.Call, typeof(Monitor).GetMethod(“Enter”, new Type[] { typeof(Object) }));

    如果没有你可以反编译它…但是之后编译产生的public token可能会出现偏差,除非你愿意重新编译你相关联的项目文件。解决方法是去利用诸如CFF Explorer工具修改引用dll的元数据或者修改mvid。

  • 相关阅读:
    时尚前沿的图片左右滚动效果-1
    瀑布流效果
    js遮罩层弹出显示效果组件化
    javascript学习笔记(三)
    前端开发技巧
    Pushlet后台推送
    比较抽象的面试题
    技术点
    HTML5特性
    struts2学习笔记(二)
  • 原文地址:https://www.cnblogs.com/junchu25/p/2631341.html
Copyright © 2011-2022 走看看