Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 装配中的后锐_C#_Postsharp - Fatal编程技术网

C# 装配中的后锐

C# 装配中的后锐,c#,postsharp,C#,Postsharp,我有一个postsharp属性,用于处理整个dll中的异常(ddl由其他团队提供)和管理数据库调用。 因此,我们的想法是用postsharp处理异常 这就是属性 [Serializable] public class MethodConnectionTracking: OnExceptionAspect { bool canceled = false; public override void OnException(MethodExecution

我有一个postsharp属性,用于处理整个dll中的异常(ddl由其他团队提供)和管理数据库调用。 因此,我们的想法是用postsharp处理异常

这就是属性

[Serializable]
    public class MethodConnectionTracking: OnExceptionAspect
    {
        bool canceled = false;
        public override void OnException(MethodExecutionArgs args)
        {
            Exception ex = args.Exception;
            if (ex != null)
            {
               --- do things
            }

        }


    }
要使其正常工作并拦截assemblyInfo.cs中名为SPData的项目的所有方法,我有:

[assembly: MethodConnectionTracking(AttributeTargetElements = MulticastTargets.Method)]
这很有效。但我想在其他项目中指定该行

因此,主要项目引用了SPData。因此,在主项目AssemblyInfo.cs文件中,我写道:

[assembly: MethodConnectionTracking(AttributeTargetAssemblies = "SPData", AttributeTargetElements = MulticastTargets.Method)]
但它不起作用

它是否可能做我想做的,我是否遗漏了一些参数

提前谢谢

  • 您不需要AttributeTargetElements=MulticastTargets.Method,因为在使用OneExceptionSpect基类时已经提供了它

  • 你不需要检查你的前男友null,因为除非存在异常,否则不会调用OneException,所以它永远不会为null。看

  • 您确定程序集名称正确吗?您正在使用名称空间吗?您需要使用实际的程序集名称(不带.dll)。尝试使用通配符“SPData*”,看看是否有帮助

    您是否使用ILSpy浏览了代码或查看了编译后的程序集?除非您提供了错误的名称,否则它应该有效。引用是对项目还是已编译程序集的引用?程序集是否已签名或模糊

  • 您不需要AttributeTargetElements=MulticastTargets.Method,因为在使用OneExceptionSpect基类时已经提供了它

  • 你不需要检查你的前男友null,因为除非存在异常,否则不会调用OneException,所以它永远不会为null。看

  • 您确定程序集名称正确吗?您正在使用名称空间吗?您需要使用实际的程序集名称(不带.dll)。尝试使用通配符“SPData*”,看看是否有帮助

    您是否使用ILSpy浏览了代码或查看了编译后的程序集?除非您提供了错误的名称,否则它应该有效。引用是对项目还是已编译程序集的引用?程序集是否已签名或模糊