Я пытаюсь найти достаточно зрелую/стабильную и свободно доступную (желательно с открытым исходным кодом) библиотеку для выполнения АОП в .NET. Я искал немного и нашел продукты ниже; однако большинство из них кажутся мертвыми:
-
PostSharp — это решение АОП, обычно рекомендуемое для .NET, однако это коммерческий продукт, и поэтому применяются некоторые ограничения использования. (Тем не менее, он, похоже, является бесплатным для личных или открытых проектов.)
-
Spring.NET — не исключительно об АОП, поэтому он, вероятно, слишком силен, если только хочет сделать АОП. (?)
-
Блок приложений для инъекций — от Microsoft, я ожидаю, что это будет, по крайней мере, поддерживаться.
-
Castle Windsor вместе с DynamicProxy — не в первую очередь библиотеку AOP, но, по-видимому, она может быть использована для этой цели.
-
Аспект # — это кажется мне совершенно мертвым.
-
Aspect.NET — это также кажется мне совершенно мертвым.
-
NAop — по-видимому, больше не поддерживается.
-
AOP.NET — это должно было быть преемником NAop, а также похоже, что он умер некоторое время назад.
Возможно, еще больше. Из приведенного выше списка я понимаю, что единственными реальными вариантами для AOP на .NET являются PostSharp (хотя это коммерческий продукт), Spring.NET, Microsoft Application Application Block или Windsor.
Я забыл какой-нибудь важный вариант?
См. также вопрос Предложения для аспектно-ориентированной библиотеки с открытым исходным кодом для С# здесь, в StackOverflow. Я опубликовал новый вопрос, потому что меня особенно интересует состояние разработки/поддержки различных решений AOP для .NET.