当实现到程序集并调用该方法时,PostSharp方面不起作用

时间:2014-09-16 13:24:58

标签: postsharp

我有两个三个项目

1。骨架 2.存储库 3. MVC项目

在框架项目中我实现了方面

namespace FrameworkHelper.TestAspect
{
    [Serializable]
    [MulticastAttributeUsage(MulticastTargets.Method)]
        public class CacheAspect : OnMethodBoundaryAspect
        {
            // This field will be set by CompileTimeInitialize and serialized at build time, 
            // then deserialized at runtime.
        public string methodName;

            // Method executed at build time.
            public override void CompileTimeInitialize(MethodBase method, AspectInfo aspectInfo)
            {
                this.methodName = method.DeclaringType.FullName + "." + method.Name;
            }



            // This method is executed before the execution of target methods of this aspect.
            public override void OnEntry(MethodExecutionArgs args)
            {

            }

            // This method is executed upon successful completion of target methods of this aspect.
            public override void OnSuccess(MethodExecutionArgs args)
            {

            }
        }
}


And aspect implemented into repository project 

[TestAspect]
public List<string> TestMethod()
{


}

,当我们从MVC项目调用方法TestMethod()时,方面不起作用,这段代码出了什么问题。

当我们使用一个组件时,它的工作正常。

2 个答案:

答案 0 :(得分:0)

我创建了一个新项目来测试scanario并将项目上传到github,你可以通过它来测试家庭索引控制器。

https://github.com/virenderkverma/PostSharp-Examples

Project - PostSharpMultipleAssemblyCall

您可以测试此项目

答案 1 :(得分:0)

对不起丹尼尔,它正在使用最新版本的postharp工作正常 Postsharp 3.1.50.9

在我使用3.1.48之前,可能是旧版本的问题。

由于