首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >添加对Ninject.Extensions.Interception.DynamicProxy的引用会导致不明确的匹配过量

添加对Ninject.Extensions.Interception.DynamicProxy的引用会导致不明确的匹配过量
EN

Stack Overflow用户
提问于 2011-03-11 01:36:51
回答 1查看 885关注 0票数 0

我已经将尼尼姆配置为在ASP.NET MVC 3应用程序中执行DI。它工作得很好,并将适当的类注入到我的控制器中。

当我尝试添加Ninject.Extensions.Interception来处理我的应用程序时,我开始得到一个不明确的匹配异常。只有在我添加Ninject.Extensions.Interception.DynamicProxy程序集时才会发生这种情况。如果我移除这个程序集,那么它将再次正常运行。我还参考了Ninject.Extensions.Intereception和Castle.Core。

请注意,我还没有在应用程序中配置拦截。我只是添加了一个引用,这个错误就开始发生了。

我正在使用Ninject 2.2.1.0和Ninject.Extensions.Interception 2.2.0.0。

代码语言:javascript
运行
复制
private const BindingFlags DefaultBindingFlags =
    BindingFlags.Public |
    BindingFlags.NonPublic |
    BindingFlags.Instance;

public static PropertyInfo GetPropertyFromMethod( this MethodInfo method, Type implementingType )
{
    if ( !method.IsSpecialName )
    {
        return null;
    }

    return implementingType.GetProperty( method.Name.Substring( 4 ), DefaultBindingFlags );
}

堆栈跟踪:

AmbiguousMatchException:找到了模糊匹配。

System.RuntimeType.GetPropertyImpl(字符串名称,BindingFlags bindingAttr,粘合剂,returnType,Type[]类型,ParameterModifier[]修饰符) +9402677 System.Type.GetProperty(String name,BindingFlags bindingAttr) +31

Ninject.Extensions.Interception.Infrastructure.Language.ExtensionsForMethodInfo.GetPropertyFromMethod(MethodInfo法,( c:\Projects\Ninject\ninject.extensions.interception\src\Ninject.Extensions.Interception\Infrastructure\Language\ExtensionsForMethodInfo.cs:35 Ninject.Extensions.Interception.Planning.Strategies.InterceptorRegistrationStrategy.Execute(IPlan plan中的implementingType) (在c:\Projects\Ninject\ninject.extensions.interception\src\Ninject.Extensions.Interception\Planning\Strategies\InterceptorRegistrationStrategy.cs:83 Ninject.Planning.<>c_DisplayClass3.b_1(IPlanningStrategy s中)在c:\Projects\Ninject\ninject\src\Ninject\Planning\中Ninject.Infrastructure.Language.ExtensionsForIEnumerableOfT.Map(IEnumerable1 series, Action1 ( c:\Projects\Ninject\ninject\src\Ninject\Infrastructure\Language\ExtensionsForIEnumerableOfT.cs:23 Ninject.Planning.Planner.GetPlan中的Planner.cs:68 Ninject.Activation.Providers.StandardProvider.Create(IContext action) (在c:\Projects\Ninject\ninject\src\Ninject\Planning\Planner.cs:68 Ninject.Activation.Providers.StandardProvider.Create(IContext上下文中类型)在c:\Projects\Ninject\ninject\src\Ninject\Activation\Providers\StandardProvider.cs:74中c:\Projects\Ninject\ninject\src\Ninject\Activation\Context.cs:157 Ninject.KernelBase.b__7中的Ninject.Activation.Context.Resolve() (IContext上下文)在c:\Projects\Ninject\ninject\src\Ninject\KernelBase.cs:375中

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-03-15 15:00:55

修正在Ninject.Extensions.Interception 2.2.1.0中

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5268055

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档