msbuild
msbuild copied to clipboard
In strict mode do not allow undefined variables to return empty string
The number of times I meant $(Foo) vs @(Foo) and burned 10 minutes debugging suggests this is a common mistake.
Love it! This has been a problem for us with large build refactors that change the props import sequence, like migration to SDK-style projects and Central Package Management. We have to just spot-check some and check the conceptual props import sequence makes conceptual sense. One potential impediment in our build, I found that pre-restore evaluations can run into this too easily if a props file is loaded that depends on an expected nuget package's props. Hope this is related; apologies if I'm missing some subtlety or better solutions here.
Marking as an idea for #1777