title: How to pass variables to MSBuild with VSTS
body: <p>I'm looking at VSTS Build with the eyes of a Teamcity user. I'd like to set up multiple builds that each have the same set of parameters for MSBuild to use. For example, I'd like all my builds to share the <a href="http://atombrenner.blogspot.co.uk/2011/11/speed-up-your-build-with.html" rel="nofollow noreferrer">CreateHardLinksForCopyFilesToOutputDirectoryIfPossible</a> parameter.</p>
  
  <p>I know I can manually write out <code>/p:CreateHardLinksForCopyFilesToOutputDirectoryIfPossible=true</code> in each build configuration I set up, but I'd prefer to set this once using the variable system. However, when I set my variables using the variable editor, the VSTS agent <strong>converts variable names to upper case</strong> (as well as converting "." to "_" and other transforms), which means msbuild doesn't look at them (it was expecting the correct PascalCased version). I have verified this by echo-ing out all current environment variables, during build. I can't see any documentation on why this happens.</p>
  
  <p>Is there a pattern to pass MSBuild parameters in via the variable system?</p>