dotnet/msbuild

Error MSB4012 could be more helpful

Open

#656 geöffnet am 26. Mai 2016

Auf GitHub ansehen
 (0 Kommentare) (2 Reaktionen) (0 zugewiesene Personen)C# (1.364 Forks)batch import
Area: Debuggabilityhelp wantedtriaged

Repository-Metriken

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

Beschreibung

In the spirit of https://twitter.com/GregorySchier/status/732830868562182144, this could be improved:

error MSB4012: The expression "o:\msbuild\bin\Debug-NetCore\Windows_NT_Deployment\\@(ResolvedRuntimeFiles->'%(DestinationSubDirectory)')" cannot be used in this context. Item lists cannot be concatenated with other strings where an item list is expected. Use a semicolon to separate multiple item lists.

"Use a semicolon" is a good suggestion (and should probably be the only one if there's no item transform involved), but there's another common case where you can run into this: when the solution is to move the initial string inside the item transform. We could suggest that rewriting as well:

error MSB4012: The expression "{0}" cannot be used in this context. Item lists cannot be concatenated with other strings where an item list is expected. Use a semicolon to separate multiple item lists, or move {1} inside the item transformation to prefix every transformation output with the string.

Contributor Guide