代码之家  ›  专栏  ›  技术社区  ›  neilco

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

  •  20
  • neilco  · 技术社区  · 7 年前

    我试图找到一个相当成熟/稳定且免费可用(最好是开源)的库来在.NET中执行AOP。我搜索了一下,发现了下面的产品;但是,它们中的大多数似乎都死了:

    • PostSharp -这是通常推荐用于.NET的AOP解决方案,但是它是一种商业产品,因此应用了一些使用限制。(然而,对于个人或开源项目来说,它似乎是免费的。)

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

    • Policy Injection Application Block -作为微软的一员,我希望这至少能得到维护。

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

    • Aspect# -这对我来说似乎已经死了。

    • Aspect.NET -对我来说,这似乎也是死了。

    • 诺普 -显然不再支持。

    • AOP.NET -这本应该是NAOP的继承人,而且看起来也像是不久前就死了。

    可能还有更多。从上面的列表中,我得出在.NET上执行AOP的唯一真正选项是Postshap(即使它是商业产品)、Spring.net、Microsoft的策略注入应用程序块,或者可能是Windsor。

    我忘了什么主要的选择了吗?


    另见问题 Suggestions for open source aspect-oriented library for C# 在StackOverflow上。我提出了一个新的问题,因为我对.NET各种AOP解决方案的开发/维护状态特别感兴趣。

    2 回复  |  直到 8 年前
        1
  •  5
  •   jinsungy    12 年前

    你不需要温莎使用动态氧气。温莎使用dynamicproxy是为了它自己的目的,就像NHibernate、Rhinomocks、MoQ或其他库/应用程序/框架。 如果您只需要运行时AOP,而不需要IOC容器,请单独使用Cast dynamicProxy。

    它是积极开发的,上一个预发布是2周前发布的,最终发布(2.5版)预计在本月发布。

    注意:在以前的版本(2.2版之前)中,dynamicproxy曾生活在自己的assembly castle.dynamicproxy.dll中。它后来被移到castle.core.dll,现在不需要其他程序集来使用它。 Source

        2
  •  1
  •   Ethan Post    8 年前

    还有金 (可在 www.machinaaurum.com.br ) 这是建立在统一之上的。 源在上可用 Codeplex .

    推荐文章