我没有源代码的程序集上的PostSharp

pin*_*oke 7 c# aop postsharp aspects

在他们网站上的示例中,PostSharp有一个拦截主系统程序集中的调用的演示.我已经尝试了几次设置和复制所有拦截调用程序集我没有源代码没有成功.

我的方法是简单地将程序集级别属性放在我想要检测的命名空间和方法上.这从来没有对我有用.

就像是:

[assembly:Trace("MyCategory",AttributeTargetTypes ="My.BusinessLayer.*")]

我在这里错过了什么吗?如果我没有为其提供源,我是否可以不在程序集上对我的检测方面进行运行时注入?我以为我可以做运行时注射......

谢谢.

Gae*_*eur 5

您可以通过指定来跟踪其他程序集的方法:

[assembly: Trace("MyCategory",
                 AttributeTargetAssemblies="xyz",
                 AttributeTargetTypes = "My.BusinessLayer.*")]
Run Code Online (Sandbox Code Playgroud)

但是,外部组件不会被修改!只能修改从当前项目到外部程序集的调用.

目前修改没有源代码的程序集并不容易.这是可能的,但被认为是一种高级方案,需要自定义编码.