Postsharp OnException Aspect不按预期工作

Pro*_*ofK 5 .net c# postsharp

我有以下自定义方面,并尝试在项目和类级别应用它.在所有情况下,即使故意除以零,OnException也不会调用该方法.我究竟做错了什么?

[Serializable]
public class AutoLogExceptionsAspect : OnExceptionAspect
{
  public override void OnException(MethodExecutionArgs args)
  {
    AutoLogExceptionEventSource.Log.AutoLogException(args.Exception.GetType().Name, args.Exception.Message, args.Exception.StackTrace);
    args.FlowBehavior = FlowBehavior.Continue;
  }

  public override Type GetExceptionType(MethodBase targetMethod)
  {
    return typeof(Exception);
  }
}
Run Code Online (Sandbox Code Playgroud)

我在课上尝试过这种装饰:

[AutoLogExceptionsAspect]
public partial class App : Application
Run Code Online (Sandbox Code Playgroud)

这一个项目:

[assembly: AutoLogExceptionsAspect]
Run Code Online (Sandbox Code Playgroud)

AFr*_*act 3

恕我直言,AutoLogExceptionsAspect 与 oneException 方面无关(或者至少不是强制性的)。

通常,当未调用 Exception(或其他“方法”方面属性)时,这是因为在 PostSharp 调用时构建链出现问题。

请确保 Postsharp 是否已在构建计算机上启动并运行,并且在项目属性中启用了 Postsharp(例如,需要处理 PostSharp 的程序集的属性中没有“SkipPostSharp”开关)。如果不是,属性将不会被执行。