7

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

我的方法是简单地放置针对我想要检测的命名空间和方法的程序集级属性。这对我从来没有用过。

就像是:

[程序集:Trace("MyCategory", AttributeTargetTypes = "My.BusinessLayer.*")]

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

谢谢。

4

1 回答 1

5

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

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

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

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

于 2010-07-07T17:40:48.427 回答