PostSharp - Что я делаю не так? - PullRequest
       15

PostSharp - Что я делаю не так?

0 голосов
/ 17 сентября 2010

У меня есть проект 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, и она не переносит код, как в примерах на веб-сайте.Что не так с этим подходом?

Я установил его и проверил, работает ли он;он генерирует вывод во время компиляции с нулевыми ошибками.

Спасибо.

1 Ответ

2 голосов
/ 17 сентября 2010

В текущем выпуске есть ошибка: если вы укажете AttributeTargetAssemblies, он будет смотреть только на ссылки на сборки, а не на текущий проект.

Поэтому, если вы хотите добавить аспекты в текущий проект, удалите AttributeTargetAssemblies.

...