title: List all Defined MSBuild Variables - Equivalent to set
body: <p>Is there a way to list all defined variables in an executing MSBuild project?</p>
  
  <p>I'm trying to figure out exactly what paths and variables are set (to pass into WiX), and it's difficult to debug everything.  Essentially, I would like something equivelent to running <code>set</code> at the command line.  Example:</p>
  
  <pre><code>C:\Users\dsokol&gt;set
  ALLUSERSPROFILE=C:\ProgramData
  APPDATA=C:\Users\dsokol\AppData\Roaming
  asl.log=Destination=file
  CLASSPATH=.;C:\Program Files (x86)\QuickTime\QTSystem\QTJava.zip
  CommonProgramFiles=C:\Program Files\Common Files
  CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files
  ...
  </code></pre>
  
  <p>Except that I would like it to list out all of the MSBuild variables (such as Target, OutDir?, and all the crap I've defined in the top of the XML file.  Ideally:</p>
  
  <pre><code>$(OutDir)="C:\MyOutDir\bin"
  $(ProductVersion)="6.1.0"
  $(Platform)="Win32"
  </code></pre>
  
  <p>Does such a thing exist?</p>