3

我正在使用 System.Reflection.Emit 创建一个新程序集 A,它从现有程序集 B 调用方法。

B 中的方法用一些自定义属性注释,我想以编程方式删除它们。我无权访问生成 B 的源代码。

我在 .NET 框架中找不到记录的方式来执行此操作。任何指针?

万分感谢 !

4

2 回答 2

1

我不相信这是可能的。属性被编译成 IL。以编程方式删除它们就像尝试以编程方式删除方法或属性。

于 2012-06-20T22:49:35.843 回答
1

您可以查看PowerShellArsenal
它有一个用于删除 SuppressIldasmAttribute 的脚本。

我没有看过它,但我猜你可以使用用于删除任何属性的代码。

Remove-AssemblySuppressIldasmAttribute

从 .NET 程序集中去除 SuppressIldasmAttribute 属性。

它使用dnlib删除属性

于 2016-07-04T08:57:25.083 回答