dotnet/msbuild

Better error message for malformed item transformations

Open

#333 geöffnet am 5. Nov. 2015

Auf GitHub ansehen
 (2 Kommentare) (0 Reaktionen) (0 zugewiesene Personen)C# (1.364 Forks)batch import
User Experiencehelp wantedtriaged

Repository-Metriken

Stars
 (5.062 Stars)
PR-Merge-Metriken
 (Durchschn. Merge 11T 7h) (125 gemergte PRs in 30 T)

Beschreibung

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)')")

Contributor Guide