in src/Tasks/Microsoft.NET.Build.Tasks/ResolvePackageAssets.cs [1070:1096]
private void WriteItems<T>(
LockFileTarget target,
Func<LockFileTargetLibrary, IEnumerable<T>> getAssets,
Func<T, bool> filter = null,
Action<LockFileTargetLibrary, T> writeMetadata = null)
where T : LockFileItem
{
foreach (var library in target.Libraries)
{
if (!library.IsPackage())
{
continue;
}
foreach (T asset in getAssets(library))
{
if (asset.IsPlaceholderFile() || (filter != null && !filter.Invoke(asset)))
{
continue;
}
string itemSpec = _packageResolver.ResolvePackageAssetPath(library, asset.Path);
WriteItem(itemSpec, library);
writeMetadata?.Invoke(library, asset);
}
}
}