IBatis problems with .NET 4

427 views
Skip to first unread message

dayo

unread,
May 3, 2012, 9:40:54 AM5/3/12
to mybatisnet-user
Hi there

I am migrating my .NET projects over to version 4 and am having
problems where IBatis is concerned.

I get the following error when calling the IBatis code:

[AmbiguousMatchException: Ambiguous match found.]
System.RuntimeType.GetMethodImpl(String name, BindingFlags
bindingAttr, Binder binder, CallingConventions callConv, Type[] types,
ParameterModifier[] modifiers) +12637275
System.Type.GetMethod(String name) +61

Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.LockBlockExpression.Emit(IEasyMember
member, ILGenerator gen) +262

Castle.DynamicProxy.Builder.CodeBuilder.AbstractCodeBuilder.Generate(IEasyMember
member, ILGenerator il) +308

Castle.DynamicProxy.Builder.CodeBuilder.AbstractEasyType.EnsureBuildersAreInAValidState()
+831

Castle.DynamicProxy.Builder.CodeBuilder.AbstractEasyType.BuildType()
+42

Castle.DynamicProxy.Builder.CodeGenerators.BaseCodeGenerator.CreateType()
+23

Castle.DynamicProxy.Builder.CodeGenerators.ClassProxyGenerator.GenerateCode(Type
baseClass, Type[] interfaces) +493

IBatisNet.Common.Utilities.Proxy.CachedProxyGenerator.CreateClassProxy(Type
targetType, IInterceptor interceptor, Object[]
argumentsForConstructor) +159

[IBatisNetException: Castle Proxy Generator failed]

IBatisNet.Common.Utilities.Proxy.CachedProxyGenerator.CreateClassProxy(Type
targetType, IInterceptor interceptor, Object[]
argumentsForConstructor) +420

IBatisNet.DataMapper.Proxy.LazyLoadProxyFactory.CreateProxy(IMappedStatement
selectStatement, Object param, Object target, ISetAccessor
setAccessor) +274

IBatisNet.DataMapper.MappedStatements.PropertyStrategy.SelectObjectStrategy.Set(RequestScope
request, IResultMap resultMap, ResultProperty mapping, Object& target,
IDataReader reader, Object keys) +210

IBatisNet.DataMapper.MappedStatements.ResultStrategy.GroupByStrategy.Process(RequestScope
request, IDataReader& reader, Object resultObject) +758

IBatisNet.DataMapper.MappedStatements.MappedStatement.RunQueryForObject(RequestScope
request, ISqlMapSession session, Object parameterObject, Object
resultObject) +450

IBatisNet.DataMapper.MappedStatements.MappedStatement.ExecuteQueryForObject(ISqlMapSession
session, Object parameterObject, Object resultObject) +130
IBatisNet.DataMapper.SqlMapper.QueryForObject(String statementName,
Object parameterObject) +379

ProjectName.ECommerce.DataAccess.SqlMap.SqlMapDao.ExecuteQueryForObject(String
statementName, Object parameterObject) in D:\Work\TFS\R59\Code
\ProjectName.ECommerce.DataAccess.SqlMap\SqlMapDao.cs:113

[IBatisNetException: Error executing query 'GetOrderById' for object.
Cause: Castle Proxy Generator failed]

ProjectName.ECommerce.DataAccess.SqlMap.SqlMapDao.ExecuteQueryForObject(String
statementName, Object parameterObject) in D:\Work\TFS\R59\Code
\ProjectName.ECommerce.DataAccess.SqlMap\SqlMapDao.cs:120

ProjectName.ECommerce.DataAccess.SqlMap.OrderDao.GetByOrderId(String
orderId) in D:\Work\TFS\R59\Code
\ProjectName.ECommerce.DataAccess.SqlMap\OrderDao.cs:31

ProjectName.ECommerce.OrderManager.Services.OrderService.GetOrderByOrderId(String
orderId) in D:\Work\TFS\R59\Code\OrderManager\Services\OrderService.cs:
185

ProjectName.ECommerce.OrderManager.Web.UserControls.OrderGrid2.GetTelephoneNumber(String
orderId) in D:\Work\TFS\R59\Code\OrderManager.Web\UserControls
\OrderGrid2.ascx.cs:118
ASP.usercontrols_ordergrid2_ascx.__DataBinding__control29(Object
sender, EventArgs e) in d:\Work\TFS\R59\Code\OrderManager.Web
\UserControls\OrderGrid2.ascx:84
System.Web.UI.Control.DataBind(Boolean raiseOnDataBinding) +304
System.Web.UI.Control.DataBindChildren() +11426631
System.Web.UI.Control.DataBind(Boolean raiseOnDataBinding) +321
System.Web.UI.Control.DataBindChildren() +11426631
System.Web.UI.Control.DataBind(Boolean raiseOnDataBinding) +321
System.Web.UI.WebControls.GridView.CreateRow(Int32 rowIndex, Int32
dataSourceIndex, DataControlRowType rowType, DataControlRowState
rowState, Boolean dataBind, Object dataItem, DataControlField[]
fields, TableRowCollection rows, PagedDataSource pagedDataSource) +287
System.Web.UI.WebControls.GridView.CreateChildControls(IEnumerable
dataSource, Boolean dataBinding) +4604

System.Web.UI.WebControls.CompositeDataBoundControl.PerformDataBinding(IEnumerable
data) +94
System.Web.UI.WebControls.GridView.PerformDataBinding(IEnumerable
data) +18

System.Web.UI.WebControls.DataBoundControl.OnDataSourceViewSelectCallback(IEnumerable
data) +182
System.Web.UI.WebControls.DataBoundControl.PerformSelect() +274
System.Web.UI.Control.DataBindChildren() +11426631
System.Web.UI.Control.DataBind(Boolean raiseOnDataBinding) +321
ProjectName.ECommerce.OrderManager.Web.FindOrders.BindControls() in
D:\Work\TFS\R59\Code\OrderManager.Web\FindOrders.aspx.cs:236

ProjectName.ECommerce.OrderManager.Web.FindOrders.crtlOrderSearch_Submit(Object
source, EventArgs args) in D:\Work\TFS\R59\Code\OrderManager.Web
\FindOrders.aspx.cs:96

ProjectName.ECommerce.OrderManager.Web.UserControls.OrderSearch.OnSubmitSearch()
in D:\Work\TFS\R59\Code\OrderManager.Web\UserControls
\OrderSearch.ascx.cs:178

ProjectName.ECommerce.OrderManager.Web.UserControls.OrderSearch.btnSearch_Command(Object
sender, CommandEventArgs e) in D:\Work\TFS\R59\Code\OrderManager.Web
\UserControls\OrderSearch.ascx.cs:112
System.Web.UI.WebControls.ImageButton.OnCommand(CommandEventArgs e)
+189
System.Web.UI.Page.ProcessRequestMain(Boolean
includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
+3707


I have read a few posts around that suggest the latest version of the
IBatis libraries run fine under .NET v4, but I have downloaded the
latest and cannot get them to work.

Any help is much appreciated.

Cheers


Michael

unread,
May 3, 2012, 9:51:57 AM5/3/12
to mybatis...@googlegroups.com, mybatisnet-user
I've been using it on .net 4 for some time with no problems. Can you give us a small self contained test that fails?

Sent from my iPad

Debal Saha

unread,
May 3, 2012, 10:00:17 AM5/3/12
to mybatis...@googlegroups.com
I'm not sure there is some ambiguous error.........not read the whole message .....
Do one thing ,
1. Create New Project with asp.net 4 or temporarily unload IBATIS xml file / project
2. I mean first stop database interaction with your project and then build the project
see any error is in there , later put your IBATIS query file / or project in the .net project
3. then you can identitfy where is going error



From: dayo <john...@gmail.com>
To: mybatisnet-user <mybatis...@googlegroups.com>
Sent: Thursday, 3 May 2012 7:10 PM
Subject: IBatis problems with .NET 4

Andrea Tassinari

unread,
May 3, 2012, 10:01:31 AM5/3/12
to mybatis...@googlegroups.com
Hi,

maybe you are using .NET 2.0 assemblies.
While ago I rebuilt the library for .NET 4.0 and since then I used this assembly. I am undergoing a complete 4.0 rebuild (iBatis, Castle, log4net, common logging, Spring etc etc) in order to have a "pure" .NET 4.0 framework (and get rid of .NET 2.0 references) but I am facing more issues than expected. Whenever finished I will publish my work.

Andrea

Michael

unread,
May 3, 2012, 10:05:08 AM5/3/12
to mybatis...@googlegroups.com, mybatis...@googlegroups.com
No, to me it sounds like something isn't set with complete namespaces??

Sent from my iPad
Reply all
Reply to author
Forward
0 new messages