diff --git a/src/Build/Evaluation/LazyItemEvaluator.cs b/src/Build/Evaluation/LazyItemEvaluator.cs index a741b70bcca..12c84d8610e 100644 --- a/src/Build/Evaluation/LazyItemEvaluator.cs +++ b/src/Build/Evaluation/LazyItemEvaluator.cs @@ -629,8 +629,6 @@ private void ProcessMetadataElements(ProjectItemElement itemElement, OperationBu { if (itemElement.HasMetadata) { - operationBuilder.Metadata.AddRange(itemElement.Metadata); - ItemsAndMetadataPair itemsAndMetadataFound = new ItemsAndMetadataPair(null, null); // Since we're just attempting to expand properties in order to find referenced items and not expanding metadata, @@ -639,6 +637,8 @@ private void ProcessMetadataElements(ProjectItemElement itemElement, OperationBu const ExpanderOptions expanderOptions = ExpanderOptions.ExpandProperties | ExpanderOptions.LeavePropertiesUnexpandedOnError; foreach (var metadatumElement in itemElement.Metadata) { + operationBuilder.Metadata.Add(metadatumElement); + string expression = _expander.ExpandIntoStringLeaveEscaped( metadatumElement.Value, expanderOptions,