in src/Tasks/Microsoft.NET.Build.Tasks/ResolvePackageAssets.cs [731:762]
private void WriteAnalyzers()
{
Dictionary<string, LockFileTargetLibrary> targetLibraries = null;
foreach (var library in _lockFile.Libraries)
{
if (!library.IsPackage())
{
continue;
}
foreach (var file in library.Files)
{
if (!NuGetUtils.IsApplicableAnalyzer(file, _task.ProjectLanguage))
{
continue;
}
if (targetLibraries == null)
{
targetLibraries = _runtimeTarget
.Libraries
.ToDictionary(l => l.Name, StringComparer.OrdinalIgnoreCase);
}
if (targetLibraries.TryGetValue(library.Name, out var targetLibrary))
{
WriteItem(_packageResolver.ResolvePackageAssetPath(targetLibrary, file), targetLibrary);
}
}
}
}