private static async Task ProcessSnippets(string projectFile, string outputDirectory) { // Make sure snippets run in an invariant culture. CultureInfo.CurrentCulture = CultureInfo.InvariantCulture; // TODO: Work out why it doesn't work when targeting netcoreapp1.0 var workspace = MSBuildWorkspace.Create(new Dictionary <string, string> { ["TargetFramework"] = "net451" }); var project = await workspace.OpenProjectAsync(projectFile); var sourceSnippets = await LoadSnippetsAsync(project); var rewriter = new SnippetRewriter(project); using (var writer = File.CreateText(Path.Combine(outputDirectory, "snippets.md"))) { foreach (var snippet in sourceSnippets) { var rewritten = await rewriter.RewriteSnippetAsync(snippet); rewritten.Write(writer); } } }
private static async Task ProcessSnippets(string solutionFile, string projectName, string outputDirectory) { // Make sure snippets run in an invariant culture. CultureInfo.CurrentCulture = CultureInfo.InvariantCulture; var project = await LoadProjectAsync(solutionFile, projectName); var sourceSnippets = await LoadSnippetsAsync(project); var rewriter = new SnippetRewriter(project); using (var writer = File.CreateText(Path.Combine(outputDirectory, "snippets.md"))) { foreach (var snippet in sourceSnippets) { var rewritten = await rewriter.RewriteSnippetAsync(snippet); rewritten.Write(writer); } } }
private static async Task ProcessSnippets(string solutionFile, string projectName, string outputDirectory) { // Make sure snippets run in an invariant culture. CultureInfo.CurrentCulture = CultureInfo.InvariantCulture; var project = await LoadProjectAsync(solutionFile, projectName); var sourceSnippets = await LoadSnippetsAsync(project); var rewriter = new SnippetRewriter(project); using (var writer = File.CreateText(Path.Combine(outputDirectory, "snippets.md"))) { foreach (var snippet in sourceSnippets) { Console.WriteLine($"Generating snippet for {snippet.Uid}"); var rewritten = await rewriter.RewriteSnippetAsync(snippet); rewritten.Write(writer); // For some reason, we run out of memory without this. Eek. GC.Collect(); } } }