title: MSBuild 2010 failing to find installed VS2008 when trying to build with .Net Framework 3.5 / v90 toolset
body: <p>I am having trouble building C++ projects targeting the .Net Framework v3.5 in VS2010 via automated builds (see my other question <a href="https://stackoverflow.com/questions/8533617/building-c-projects-that-targets-framework-3-5-but-produces-assemblies-targeti">here</a>)</p>
  
  <p>While I'm pretty sure that the answer provided to the question is correct, I have hit another problem which is still preventing the builds from working.</p>
  
  <p>I have so far taken the following steps:</p>
  
  <ol>
  <li>Changed the .vcxproj files manually so that they are targeting the .net framework 3.5</li>
  <li>Changed each project's "Platform Toolset" to v90</li>
  <li>Installed VS2008 SP1 on the build machine</li>
  <li>Opened VS2010 command line on the build machine, set TargetFrameworkVersion=v3.5 and  started devenv.exe from the commandline.</li>
  <li>Pass /p:TargetFrameworkVersion=v3.5 to MSBuild in the workflow for my particular build definition</li>
  </ol>
  
  <p>(steps taken from <a href="http://blogs.msdn.com/b/vcblog/archive/2010/03/02/visual-studio-2010-c-project-upgrade-guide.aspx" rel="nofollow noreferrer">here</a>)</p>
  
  <p>When i kick off a build for these projects, the build will fall over on the very first project with the following error message:</p>
  
  <blockquote>
    <p>C:\Program Files
    (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets (293):
    Specified platform toolset (v90) requires Visual Studio 2008. Please
    make sure that Visual Studio 2008 is installed on the machine.</p>
  </blockquote>
  
  <p>I really am at a loss with this issue. I have no idea why MSBuild would think that VS2008 is not installed when it clearly is. I have tried changing the MSBuild platform from Auto to X86 and that made no difference.</p>
  
  <p>My build machine is running Windows Server 2008 R2 Enterprise (64-bit)</p>
  
  <p>As always, thanks for any help offered</p>