using System.Text.RegularExpressions; using Mono.Cecil; Console.WriteLine("Starting assembly editing..."); var fileRegex = new Regex(".*(Techblox|Gamecraft|RobocraftX|FullGame|RobocraftECS|DataLoader|RCX|GameState|Svelto\\.ECS)[^/]*(\\.dll)"); foreach (var file in Directory.EnumerateFiles(@"../../../../../ref/Techblox_Data/Managed")) { if (!fileRegex.IsMatch(file)) continue; Console.WriteLine(file); ProcessAssembly(file); } void ProcessAssembly(string path) { using var mod = ModuleDefinition.ReadModule(path, new(ReadingMode.Immediate) { ReadWrite = true }); foreach (var typeDefinition in mod.Types) { typeDefinition.IsPublic = true; foreach (var method in typeDefinition.Methods) method.IsPublic = true; foreach (var field in typeDefinition.Fields) field.IsPublic = true; } mod.Write(); }