У меня есть проект Company.Business, на который я пытаюсь нацелить PostSharp, чтобы обернуть свой бизнес-уровень.В проекте Company.AOP у меня есть аспект границы метода для использования блока приложения EL-регистрации:
[Serializable]
public class MethodExcecutionAttribute : OnMethodBoundaryAspect
{
public override void OnEntry(MethodExecutionEventArgs eventArgs)
{
base.OnEntry(eventArgs);
//Log message
}
public override void OnException(MethodExecutionEventArgs eventArgs)
{
base.OnException(eventArgs);
//Log message
}
public override void OnExit(MethodExecutionEventArgs eventArgs)
{
base.OnExit(eventArgs);
//Log message
}
}
Достаточно просто;это просто регистрирует момент времени.Я пытаюсь настроить весь свой бизнес-уровень с помощью:
[assembly: MethodExcecution(AttributeTargetTypes = "*",
AttributeTargetAssemblies = "Company.Business",
AttributeTargetTypeAttributes = MulticastAttributes.Public,
AttributeTargetMemberAttributes = MulticastAttributes.Public)]
Но после компиляции я проверяю DLL, и она не переносит код, как в примерах на веб-сайте.Что не так с этим подходом?
Я установил его и проверил, работает ли он;он генерирует вывод во время компиляции с нулевыми ошибками.
Спасибо.