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.


