IBatis.NET 1.9.2 1.6.2 应用于.NET4.0,解决Ambiguous match found
来源:互联网 发布:招商银行软件开发中心 编辑:程序博客网 时间:2024/05/22 16:07
IBatis.NET 1.9.2 1.6.2 应用于.NET4.0,解决Ambiguous match found
前几天在试验将IBatis.NET 1.92 1.6.2版本的库在.NET 4.0下应用。结果发现总是报错:
Ambiguous match found
找了很多资料,说是因为在.NET Framework 4.0以上版本中Monitor的Enter函数新增加了一个重载版本,导致原先Castle.DynamicProxy中的LockBlockExpression在Emit时获取Enter函数从出现歧义,需求修改:
gen.Emit(OpCodes.Call, typeof(Monitor).GetMethod(“Enter”));
为
gen.Emit(OpCodes.Call, typeof(Monitor).GetMethod(“Enter”, new Type[] { typeof(Object) }));
因为没有Castle.DynamicProxy的源码,就直接反编译,然后再从IBatis.NET的GOOGLE CODE上下载了1.6.2的源码(在TAG目录)。
整体重新编译即可。
注意:在Castle.DynamicProxy的ModuleScope.cs中的第38行有一然代码为:
using (Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("Castle.DynamicProxy.DynProxy.snk"))
需要Castle.DynamicProxy.DynProxy.snk这个文件,而且反编译后的代码并不存在,但在反编译的根目录下有一个叫CastleXXX.snk的文件,将文件名改为Castle.DynamicProxy.DynProxy.snk就可以了。再重新编译就可以使用了。否则会报对象为空的错误。
嫌麻烦不想自己编译的,可以直接加Q:44588199跟我要。
- IBatis.NET 1.9.2 1.6.2 应用于.NET4.0,解决Ambiguous match found
- asp.net网站发布后提示Ambiguous match found
- 关于错误:Ambiguous match found
- 解决 Ambiguous mapping found. Cannot map 'userController.Create' bean
- .NET4.0注册ASP.NET
- springMVC : Ambiguous mapping found
- IBatis.Net DataMapper 1.6.2源码解读
- [Asp.net4.0].net 4.0 部署
- java.lang.IllegalStateException: No match found 的分析解决
- .NET4.0并行计算技术基础(2)
- .NET4.0并行计算技术基础(2)
- .NET4.0并行计算技术基础(2)
- .net4安装失败解决
- ibatis(2)ibatis是什么
- 解决.Net4.0的浏览器兼容性问题,特别是IE10
- 解决注册.net4.0时出现Changing IIS ApplicationHost.config
- win7 .net4.0安装未成功问题分析及解决
- spark-DataFrame学习记录-[2]解决spark-dataframe的JOIN操作之后产生重复列(Reference '***' is ambiguous问题解决)
- java PlainDocument限制文本框大小双字节的处理
- 转 -- How Oracle Locking Works
- redis
- MyEclipse设置JVM 内存堆栈,突破内存限制
- CVS版本控制器介绍
- IBatis.NET 1.9.2 1.6.2 应用于.NET4.0,解决Ambiguous match found
- shell Learning [if elif else 的用法]
- 12306后台技术框架及表结构被曝光
- 数组解决杨辉三角问题(输出10行)
- android sd卡文件读取
- uboot中的TEXT_BASE
- 二维数组的变身
- [ 重构 ] 代码重构!
- 二维数组折腾去吧