in src/Microsoft.NuGet.Build.Tasks/ResolveNuGetPackageAssets.cs [855:875]
private static ITaskItem CreateItem(NuGetPackageObject package, string itemSpec, string targetPath = null)
{
var item = new TaskItem(itemSpec);
item.SetMetadata(NuGetPackageIdMetadata, package.Id);
item.SetMetadata(NuGetPackageVersionMetadata, package.Version);
if (targetPath != null)
{
item.SetMetadata("TargetPath", targetPath);
var destinationSubDirectory = Path.GetDirectoryName(targetPath);
if (!string.IsNullOrEmpty(destinationSubDirectory))
{
item.SetMetadata("DestinationSubDirectory", destinationSubDirectory + "\\");
}
}
return item;
}