.net - 任何 PostSharp 替代品?

标签 .net aspects

我不得不放弃使用 PostSharp,因为它不适用于混淆/合并的程序集。至少,我看不出有什么方法可以让它工作(当程序集被混淆时,它会在应用程序启动时崩溃)
我需要在我的应用程序中拦截一些方法(调用特殊代码而不是原始方法 - OnMethodInvocationAspect)
有什么建议吗?

最佳答案

PostSharp 在某种程度上支持 ILMerge。见 http://www.postsharp.org/blog/postsharp-and-ilmerge .但是混淆的程序集存在问题。

  • 由于方面在构建时序列化,如果方面类型已被混淆,则无法反序列化。解决方案不是混淆任何可序列化的类型。另一种解决方案是不序列化方面(参见 PostSharp 2.0 中的 AspectConfigurationAttribute.SerializerType,并使用序列化器 MsilAspectSerializer)。
  • 当方面应用于泛型方法和泛型类型的方法时会出现问题(原因是 PostSharp 使用反射,在这种情况下,基于方法名称,以解决 CLR 中的错​​误)。
  • 关于.net - 任何 PostSharp 替代品?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1826724/

    相关文章:

    .net - 创建可移植类库的原因(在体系结构意义上)?

    java - 解析 C# 中以 JSON 发送的 DateTime 类型

    java - IntelliJ IDEA + AspectJ

    java - JPA 和数据库 Flex 字段

    java - Spring AOP注入(inject)PortletRequest

    c# - XmlSchemaValidationException : The 'B' element is not declared

    c# - 在 Visual Studio 2017 中运行简单的 Hello World 时出现的错误

    .net - 当我的进程被终止时到底发生了什么?

    java - Spring Aspect 没有按预期工作