Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 有其他选择吗?_.net_Aspects - Fatal编程技术网

.net 有其他选择吗?

.net 有其他选择吗?,.net,aspects,.net,Aspects,我不得不放弃使用PostSharp,因为它无法处理模糊/合并的程序集。至少,我看不到任何让它工作的方法(当程序集被混淆时,它在应用程序启动时崩溃) 我需要截取我的应用程序中的一些方法(调用特殊代码而不是原始方法-OnMethodInvocationAspect) 有什么建议吗?Spring.NET具有AOP功能,这些功能是在运行时编织的,因此应该可以与模糊程序集一起使用 文件: PostSharp在某种程度上支持ILMerge。看见但模糊程序集也存在问题 由于方面是在生成时序列化的,因此如果方

我不得不放弃使用PostSharp,因为它无法处理模糊/合并的程序集。至少,我看不到任何让它工作的方法(当程序集被混淆时,它在应用程序启动时崩溃)
我需要截取我的应用程序中的一些方法(调用特殊代码而不是原始方法-OnMethodInvocationAspect)

有什么建议吗?

Spring.NET具有AOP功能,这些功能是在运行时编织的,因此应该可以与模糊程序集一起使用

文件:


PostSharp在某种程度上支持ILMerge。看见但模糊程序集也存在问题

  • 由于方面是在生成时序列化的,因此如果方面类型已被混淆,则无法对其进行反序列化。解决方案是不混淆任何可序列化类型。另一种解决方案是不序列化方面(请参阅PostSharp 2.0中的AspectConfigurationAttribute.SerializerType,并使用序列化程序MsilAspectSerializer)

  • 当方面应用于泛型方法和泛型类型的方法时会出现问题(原因是PostSharp使用基于方法名称的反射,在本例中,用于解决CLR中的错误)


  • 面向方面编程只是程序转换的一个特例。 如果您可以使用工具应用程序转换,那么就可以轻松地进行AOP

    我们的DMS软件再工程工具包是一个程序转换引擎 它处理许多真实语言,包括C、C++、java、COBOL甚至C 4。 有关更多详细信息,请参阅。

    是一个针对.NET平台的复合方面框架,其灵感来源于Post Sharp


    是.NET平台的另一种开源AOP工具,灵感来自AspectJ

    NCop似乎是一种反模式。为什么要用具体的类类型装饰接口以实现IoC风格的解析?如果我有多个接口实现,我是否需要在每次添加新的实现时更改接口定义?NCop是一个组合的概念库,而不是IoC库(尽管它封装了IoC的概念)您只需要用具体的类而不是角色接口来修饰复合类型。请参阅