以编程方式从现有程序集中删除自定义属

时间:2012-06-20 22:45:13

标签: .net clr .net-assembly

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

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

我无法在.NET框架中找到记录的方法来执行此操作。有什么指针吗?

非常感谢!

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

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

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

  

移除-AssemblySuppressIldasmAttribute

     

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

它使用dnlibremove属性。