static void Main(string project, string[] transformers) { AnalyzerManager manager = new AnalyzerManager(); ProjectAnalyzer analyzer = manager.GetProject(project); AdhocWorkspace workspace = new AdhocWorkspace(); analyzer.SetGlobalProperty("BuildingFromCodeGeneration", "true"); var Project = analyzer.AddToWorkspace(workspace, true); if (Project is null) { throw new ArgumentException($"Project is null. ({project})"); } var resolver = new CSharpAutofacResolver(); var Engine = new CSharpCodeGenerationEngine(Project, resolver); foreach (var item in transformers) { var assembly = LoadAssembly(item); var transformer = LoadTransformer(assembly, Engine); transformer.Transform(); } var changes = Engine.CurrentProject.GetChanges(Project); Procces(Engine, project, changes.GetAddedDocuments(), "Added"); var changedDocs = changes.GetChangedDocuments(false).Where(x => Engine.CurrentProject.GetDocument(x).GetTextChangesAsync(Project.GetDocument(x)).Result.Any()); Procces(Engine, project, changedDocs, "Updated"); }