面向面向方面的.NET编程(AOP)库仍在积极开发中?

sta*_*ica 21 .net aop

我正在尝试找到一个相当成熟/稳定且可免费获得的(最好是开源的)库,用于在.NET中执行AOP.我一直在寻找,发现下面的产品; 然而,他们中的大多数似乎死了:

  • PostSharp - 这是通常推荐用于.NET的AOP解决方案,但它是商业产品,因此适用某些使用限制.(但是,它似乎可以免费用于个人或开源项目.)

  • Spring.NET - 不仅仅是关于AOP,所以如果只想做AOP,它可能太强大了.(?)

  • 策略注入应用程序块 - 来自Microsoft,我希望至少可以维护它.

  • Castle Windsor DynamicProxy一起- 主要不是AOP库,但显然它可以用于此目的.

  • 方面# - 这对我来说似乎已经死了.

  • Aspect.NET - 对我来说这似乎也很糟糕.

  • NAop - 显然不再支持.

  • AOP.NET - 这应该是NAop的继承者,而且看起来它不久前就已经死了.

可能还有更多.从上面的列表中我可以看出,在.NET上进行AOP的唯一真正选择是PostSharp(即使它是商业产品),Spring.NET,微软的Policy Injection Application Block,或者也许是Windsor.

我忘记了任何重大选择吗?


另请参阅StackOverflow上针对C#的开源面向方面库的建议.我发布了一个新问题,因为我对.NET的各种AOP解决方案的开发/维护状态特别感兴趣.

Krz*_*mic 5

您不需要Windsor使用DynamicProxy.Windsor将DynamicProxy用于自己的目的,就像NHibernate,RhinoMocks,Moq或其他库/应用程序/框架一样.如果只需要运行时AOP,没有IoC容器,请单独使用Caste DynamicProxy.

它是积极开发的,最后一次预发布是在2周前发布的,最终发布(v2.5)预计在本月发布.

注意:在以前的版本中(最高v2.2),DynamicProxy过去常常使用自己的程序集Castle.DynamicProxy.dll.它后来被移动到Castle.Core.dll,现在不需要其他程序集来使用它.资源