#pragma warning disable VSTHRD100 // Avoid async void methods private async void OnSolutionSave(object sender, RoutedEventArgs e) #pragma warning restore VSTHRD100 // Avoid async void methods { using (Disable(SolutionSaveButton)) { string fileName = null; while (true) { fileName = FileToSave.Content as string; if (string.IsNullOrWhiteSpace(fileName)) { OnFileToSave(sender, e); } else { break; } } // save from BG var checksum = await Task.Run( () => SolutionAssetManager.SaveAsync(fileName, _workspace.CurrentSolution, CancellationToken.None)).ConfigureAwait(true); SaveChecksum.Content = checksum.ToString(); } }
public static async Task <Checksum> SaveAsync(string fileName, Solution solution, CancellationToken cancellationToken) { var manager = new SolutionAssetManager(fileName, solution); return(await manager.SaveAsync(cancellationToken).ConfigureAwait(false)); }