diff --git a/src/Tools/AnalyzerRunner/IncrementalAnalyzerRunner.cs b/src/Tools/AnalyzerRunner/IncrementalAnalyzerRunner.cs index dec22105437190ac10aae70194d6454e8ec67ce6..621d747c8c6c67597bdad8b1ba18c018cdb41438 100644 --- a/src/Tools/AnalyzerRunner/IncrementalAnalyzerRunner.cs +++ b/src/Tools/AnalyzerRunner/IncrementalAnalyzerRunner.cs @@ -37,9 +37,12 @@ internal async Task RunAsync(Workspace workspace, CancellationToken cancellation return; } + var usePersistentStorage = _options.UsePersistentStorage; + workspace.TryApplyChanges(workspace.CurrentSolution.WithOptions(workspace.Options .WithChangedOption(SolutionCrawlerOptions.BackgroundAnalysisScopeOption, LanguageNames.CSharp, _options.AnalysisScope) - .WithChangedOption(SolutionCrawlerOptions.BackgroundAnalysisScopeOption, LanguageNames.VisualBasic, _options.AnalysisScope))); + .WithChangedOption(SolutionCrawlerOptions.BackgroundAnalysisScopeOption, LanguageNames.VisualBasic, _options.AnalysisScope) + .WithChangedOption(StorageOptions.Database, usePersistentStorage ? StorageDatabase.SQLite : StorageDatabase.None); if (!string.IsNullOrEmpty(_options.ProfileRoot)) { @@ -53,7 +56,7 @@ internal async Task RunAsync(Workspace workspace, CancellationToken cancellation var solutionCrawlerRegistrationService = (SolutionCrawlerRegistrationService)workspace.Services.GetRequiredService(); solutionCrawlerRegistrationService.Register(workspace); - if (_options.UsePersistentStorage) + if (usePersistentStorage) { var persistentStorageService = workspace.Services.GetRequiredService(); var persistentStorage = persistentStorageService.GetStorage(workspace.CurrentSolution);