This stuff ain't easy, so here's a WIP "get you up to speed" doc.
-
Install the MSBuild Log Viewer or use the online viewer.
-
File->Start Page, make sure this box is checked
When you search, you should see a breadcrumb trail like so:
TL;DR: $property foo
would find all properties named foo
, or with the value of foo
.
I also find under(foo.csproj)
to be very useful.
Combining them can be powerful: $property foo under(bar.csproj)
, for example.
We can take advantage of XML here. Under the Find in Files
tab, search <YourProperty
. This would show you every single instance where YourProperty
was being defined, no matter the file it was defined in.
Note: Properties are "last one wins," this includes Properties set in Targets. See How MSBuild builds projects for more info.