C# 更改程序集中.net类字段的名称

C# 更改程序集中.net类字段的名称,c#,field,.net-assembly,cls-compliant,C#,Field,.net Assembly,Cls Compliant,是否可以更改.net程序集中某个字段的名称?我在一些不区分大小写的脚本环境中使用该程序集,这些环境抱怨此公共字段不符合CLS。在同一个类中,有一个具有相同名称的属性,只是字段和属性的第一个字母大小写不同。不幸的是,我没有消息来源。理想情况下,我会将其标记为private或在字段的名称中添加uu。我想知道是否有一个工具允许重命名类的元数据。我考虑使用redgate reflector来提取代码、修改并编译回汇编。但这对我来说根本不起作用。我想你别无选择,只能进行反编译、修改和重新编译。使用IL(D

是否可以更改.net程序集中某个字段的名称?我在一些不区分大小写的脚本环境中使用该程序集,这些环境抱怨此公共字段不符合CLS。在同一个类中,有一个具有相同名称的属性,只是字段和属性的第一个字母大小写不同。不幸的是,我没有消息来源。理想情况下,我会将其标记为private或在字段的名称中添加uu。我想知道是否有一个工具允许重命名类的元数据。我考虑使用redgate reflector来提取代码、修改并编译回汇编。但这对我来说根本不起作用。

我想你别无选择,只能进行反编译、修改和重新编译。使用IL(D)ASM,您将不会再让它重新编译。您可能可以使用诸如,但不确定的工具来逃脱。另外一件需要考虑的是程序集是否被强签名。如果是的话,Reflexil将无法为您这样做,因为它在引擎盖下使用Mono.Cecil,这需要私钥。在这种情况下,您唯一的选择就是对其进行反编译,等等(对于CodeCaster)我尝试了Reflexil,它的效果非常神奇!正是我想要的。我把它作为插件下载到reflector。右键单击字段显示重命名选项。单击它将显示输入新名称的提示。取消后,字段被重命名,所有引用都被更新。酷工具!