diff --git a/src/Build/Instance/ProjectItemInstance.cs b/src/Build/Instance/ProjectItemInstance.cs index 696f135412f..c4d53fbf0ae 100644 --- a/src/Build/Instance/ProjectItemInstance.cs +++ b/src/Build/Instance/ProjectItemInstance.cs @@ -743,7 +743,8 @@ private void CommonConstructor( if (itemDefinitions == null || !useItemDefinitionsWithoutModification) { // TaskItems don't have an item type. So for their benefit, we have to lookup and add the regular item definition. - inheritedItemDefinitions = (itemDefinitions == null) ? null : new List(itemDefinitions); + inheritedItemDefinitions = (itemDefinitions == null) ? null : new List(itemDefinitions.Count + 1); + ((List)inheritedItemDefinitions)?.AddRange(itemDefinitions); ProjectItemDefinitionInstance itemDefinition; if (projectToUse.ItemDefinitions.TryGetValue(itemTypeToUse, out itemDefinition))