我正在使用 System.Reflection.Emit 创建一个新程序集 A,它从现有程序集 B 调用方法。
B 中的方法用一些自定义属性注释,我想以编程方式删除它们。我无权访问生成 B 的源代码。
我在 .NET 框架中找不到记录的方式来执行此操作。任何指针?
万分感谢 !
我正在使用 System.Reflection.Emit 创建一个新程序集 A,它从现有程序集 B 调用方法。
B 中的方法用一些自定义属性注释,我想以编程方式删除它们。我无权访问生成 B 的源代码。
我在 .NET 框架中找不到记录的方式来执行此操作。任何指针?
万分感谢 !
我不相信这是可能的。属性被编译成 IL。以编程方式删除它们就像尝试以编程方式删除方法或属性。
您可以查看PowerShellArsenal。
它有一个用于删除 SuppressIldasmAttribute 的脚本。
我没有看过它,但我猜你可以使用用于删除任何属性的代码。
Remove-AssemblySuppressIldasmAttribute
从 .NET 程序集中去除 SuppressIldasmAttribute 属性。