.net 有PostSharp的替代品吗?[关闭]

kyvafyod  于 2023-05-19  发布在  .NET
关注(0)|答案(4)|浏览(309)

**已关闭。**此问题正在寻求书籍、工具、软件库等的建议。它不符合Stack Overflow guidelines。目前不接受答复。

我们不允许问题寻求书籍,工具,软件库等的建议。您可以编辑问题,以便可以用事实和引用来回答。
8天前关闭
Improve this question
我不得不放弃使用PostSharp,因为它不能处理混淆/合并的程序集。至少,我没有看到任何方法可以让它工作(当程序集被混淆时,它会在应用程序启动时崩溃)
我需要拦截我的应用程序中的一些方法(调用特殊代码而不是原始方法- OnMethodInvocationAspect)
有什么建议吗

xjreopfe

xjreopfe1#

PostSharp支持ILMerge。参见http://www.postsharp.org/blog/postsharp-and-ilmerge。但是混淆的程序集也有一些问题。
1.由于方面是在构建时序列化的,因此如果方面类型已被模糊处理,则无法对它们进行反序列化。解决方案是不模糊任何可序列化类型。另一种解决方案是不序列化方面(请参阅PostSharp 2.0中的AspectConfigurationAttribute.SerializerType,并使用序列化器MsilAspectSerializer)。
1.当方面应用于泛型方法和泛型类型的方法时会出现问题(原因是PostSharp使用反射,基于方法名称,在这种情况下,解决CLR中的错误)。

vmjh9lq9

vmjh9lq92#

NCop是一个面向.NET平台的复合方面框架,其灵感来自Post Sharp
Sheep Aspect是另一个受AspectJ启发的.NET平台的开源AOP工具

gc0ot86w

gc0ot86w3#

Spring.NET具有AOP特性,这些特性在运行时被编织,因此应该与混淆的程序集一起工作。
http://www.springframework.net/
文件:
http://www.springframework.net/doc-latest/reference/html/aop.html

avwztpqn

avwztpqn4#

面向方面编程只是程序转换的一个特例。如果您可以使用工具应用程序转换,那么就可以轻松地进行AOP。
我们的DMS软件再工程工具包是一个程序转换引擎,可以处理许多真实的语言,包括C、C++、Java、COBOL甚至C#4.0。
有关详细信息,请参见Aspect Oriented Programming using DMS

相关问题