/// <summary>
/// Retrieves the analyzers contained within a given NuGet package corresponding to a given language
/// </summary>
private IEnumerable <DiagnosticAnalyzer> GetAnalyzers(IPackage package, string language)
{
string packageRootDir = this.packageHandler.GetLocalPackageRootDirectory(package);
string additionalSearchFolder = this.packageHandler.LocalCacheRoot;
this.logger.LogInfo(UIResources.APG_LocatingAnalyzers);
string[] analyzerFiles = Directory.GetFiles(packageRootDir, "*.dll", SearchOption.AllDirectories);
string roslynLanguageName = SupportedLanguages.GetRoslynLanguageName(language);
this.logger.LogDebug(UIResources.APG_LogAnalyzerLanguage, roslynLanguageName);
DiagnosticAssemblyScanner diagnosticAssemblyScanner = new DiagnosticAssemblyScanner(this.logger, additionalSearchFolder);
IEnumerable <DiagnosticAnalyzer> analyzers = diagnosticAssemblyScanner.InstantiateDiagnostics(roslynLanguageName, analyzerFiles.Where(x => !x.Contains("Microsoft.CodeAnalysis")).ToArray());
return(analyzers);
}