public void CompileMethods() { LoadCompilationAndGetDiagnostics(); _options = EmitOptions.Default.WithIncludePrivateMembers(true); bool embedPdb = _options.DebugInformationFormat == DebugInformationFormat.Embedded; var diagnostics = DiagnosticBag.GetInstance(); _moduleBeingBuilt = _comp.CheckOptionsAndCreateModuleBuilder( diagnostics, manifestResources: null, _options, debugEntryPoint: null, sourceLinkStream: null, embeddedTexts: null, testData: null, cancellationToken: default); bool success = false; success = _comp.CompileMethods( _moduleBeingBuilt, emittingPdb: embedPdb, emitMetadataOnly: _options.EmitMetadataOnly, emitTestCoverageData: _options.EmitTestCoverageData, diagnostics: diagnostics, filterOpt: null, cancellationToken: default); if (!success) { throw new InvalidOperationException("Did not successfully compile methods"); } _comp.GenerateResourcesAndDocumentationComments( _moduleBeingBuilt, xmlDocStream: null, win32Resources: null, _options.OutputNameOverride, diagnostics, cancellationToken: default); _comp.ReportUnusedImports(null, diagnostics, default); _moduleBeingBuilt.CompilationFinished(); diagnostics.Free(); }