我有一个第三方.Net程序集dll,我想知道是否有一个工具可以用于快速将所有internal class更新为public class。我可以使用dnSpy逐个修改它们,但效率不高。
发布于 2018-11-03 07:21:22
你只需要写一个小工具就可以了。
使用Mono.Cecil并遍历Module中的所有类型,并将IsPublic更改为true。然后再打电话给我。
就像这样:
static void Main(string[] args)
{
using (AssemblyDefinition a = AssemblyDefinition.ReadAssembly(args[0], new ReaderParameters { ReadWrite = true }))
{
foreach (var type in a.Modules[0].Types)
{
if (type.IsNotPublic)
type.IsPublic = true;
}
a.Write();
}
}https://stackoverflow.com/questions/53128877
复制相似问题