title: MSBuild and multiple Delphi versions
body: <p>I have a project for which I need to build two executables: one under Delphi XE2 and one under XE3. I have a build script which builds each version (i.e. one script for XE2 and one for XE3).</p>
  
  <p>If I run the build script for the last version of the IDE I ran, all works well (i.e. run Delphi XE2, build app, run XE2 build script).</p>
  
  <p>However if I run the build script having just run a different version of the IDE I get an AV as soon as my app starts (I.e. run Delphi XE2, built app, run XE3 build script).</p>
  
  <p>It looks as though something about the build script is being cached/modified by the IDE and I need to restore the appropriate data for the version I want to build with. I've tried this with the .dproj, but no luck.</p>
  
  <p>Or could it be loading form resources - both editions show errors due to non-existent properties at start up if the IDE. If so, is there an easy way around this without having maintain multiple versions of all the .fmx files?</p>
  
  <p>Here's a sample build script:</p>
  
  <pre><code>set path=%path%;c:\Windows\Microsoft.NET\Framework\v3.5
  set path=%path%;c:\Program Files (x86)\Embarcadero\RAD Studio\10.0
  set path=%path%;c:\Documents and Settings\All Users\Documents\RAD Studio\10.0
  set BDS=c:\Program Files (x86)\Embarcadero\RAD Studio\10.0
  set FrameworkDir=c:\Windows\Microsoft.NET\Framework\
  set FrameworkVersion=v3.5
  
  set failed=false
  cd \myprogs\monkeystyler
  msbuild monkeystyler.dproj /t:build /p:config=full||set failed=true
  cd build
  if not %failed%==true goto Done
  
  echo ****FAILED TO BULD MONKEYSTYLER
  ****
  Pause
  exit
  
  :done
  </code></pre>