Better error message for malformed item transformations
#333 ouverte le 5 nov. 2015
Métriques du dépôt
- Stars
- (5 062 stars)
- Métriques de merge PR
- (Merge moyen 11j 7h) (125 PRs mergées en 30 j)
Description
A definition of an item ThisItem
<ItemGroup>
<ThisItem Include="@(AnotherItem->$(APath)\%(Filename)%(Extension))" />
</ItemGroup>
Followed by a usage of ThisItem of the form:
%(ThisItem.FullPath)
Fails with the error: error MSB4023: Cannot evaluate the item metadata "%(FullPath)". The item metadata "%(FullPath)" cannot be applied to the path "@(AnotherItem->c:\projects\msbuild\bin\Debug-NetCore\Windows_NT_Deployment_Test)". Illegal characters in path".
The error is currently caught when the malformed item is used, not when the malformed item is created. Instead, the error should be caught at item definition with a text mentioning the missing single quotes (correct definition is "@(AnotherItem->'$(APath)%(Filename)%(Extension)')")