PostSharp 无法从 TargetMembers 中排除 aspect

PostSharp cannot exclude aspect from TargetMembers

我正在工作的项目正在使用 PostSharp v4.2 来应用日志记录等方面。这些方面适用于 AssemblyInfo.cs 中具有多播的目标,并且它们工作正常。 多播定义如下

[assembly: LoggingAspect.LogAspect(AttributeTargetTypes = "regex:Api.Controllers.Services.*|Api.Controllers.Bananas.*", 
AttributeTargetMembers = "regex:Get.*|Create.*|Edit.*|Delete.*"
AspectPriority = 1, AttributeExclude = false)]

现在我需要从记录中排除 2 个方法。所以要排除我添加的方法:

[assembly: LoggingAspect.LogAspect(AttributeTargetMembers = "GetUtilityToken", AspectPriority = 2, AttributeExclude = true)]

我不知道为什么,但方面仍然应用于方法(GetUtilityToken、GetDevUtility),即使我按照 documentation .. I even tried targeting with regex or wild card like AttributeTargetMembers = "Get*" but the aspect still gets applied. I have looked at this question PostSharp - excluding a method using AttributeExclude doesn't work 中所述应用了排除但我没有 LINQ 查询方法..

我不知道我错过了什么...任何人都可以指出可能导致此行为的原因吗?或者指出我该如何调试它?

您应该使用 AttributePriority 而不是 AspectPriority。