From 885fc834e679f4dd0302b959878f8b2dd80c863a Mon Sep 17 00:00:00 2001 From: Ryan Davis Date: Thu, 12 Jan 2023 15:26:44 +1000 Subject: [PATCH] fix: add more source generator path heuristics should work out how to definitively find them --- .../SourceGeneratorResolver/SourceGeneratorResolver.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/components/tbc.host/Components/SourceGeneratorResolver/SourceGeneratorResolver.cs b/src/components/tbc.host/Components/SourceGeneratorResolver/SourceGeneratorResolver.cs index 5bda615..fa17bd9 100644 --- a/src/components/tbc.host/Components/SourceGeneratorResolver/SourceGeneratorResolver.cs +++ b/src/components/tbc.host/Components/SourceGeneratorResolver/SourceGeneratorResolver.cs @@ -68,9 +68,11 @@ public SourceGeneratorResolver(ILogger logger, IFileSys Diags: ImmutableDictionary.Create()); } + var searches = new[] { "roslyn4.0/cs", "roslyn4.0\\cs", "analyzers/dotnet/cs", "analyzers\\dotnet\\cs" }; + var nugetPath = _fileSystem.Path.Combine(GetNugetPackageCachePath, package, version); var dllPaths = _fileSystem.Directory.GetFiles(nugetPath, "*.dll", SearchOption.AllDirectories) - .Where(x => x.Contains("roslyn4.0/cs", StringComparison.InvariantCultureIgnoreCase) || x.Contains("roslyn4.0\\cs", StringComparison.InvariantCultureIgnoreCase)); + .Where(x => searches.Any(s => x.Contains(s, StringComparison.InvariantCultureIgnoreCase))); return Enumerable.Aggregate( dllPaths,