É comum encontrarmos empresas onde a migração do Team Foundation Server 2005 para o 2008 ainda não ocorreu pois a versão 2005 já as atende bem. E agora eu darei um outro motivo para você continuar usando a versão 2005.

Nós podemos usar o Team Build 2005 para compilarmos aplicações para o .NET Framework 3.5. O que agente precisa?

Precisamos que a máquina onde está instalado o Team Build compile o código usando o MSBuild do .NET Framework 3.5. A maneira mais fácil que encontrei para fazer isso, é substituindo o MSBuild 2.0 por um aplicativo que execute o MSBuild 3.5 com os mesmos parâmetros.

Graças a Deus, a solução para esse problema já existia. Encontrei no blog TFS Now uma maneira de realizar essa tarefa e posteriormente no fórum da MSDN o mesmo código melhorado. Segue o código pra vocês:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Diagnostics;
using System.Configuration;

namespace MSBuild
{

    class MSBuild
    {

        public static int Main(string[] args)
        {

            string msbuildexe = "C:\\WINDOWS\\Microsoft.NET\\Framework\\v3.5\\MSBuild.exe";

            System.Console.Out.WriteLine("MSBUILD call routed to : " + msbuildexe);

            string envs = Environment.CommandLine;

            int pos = envs.ToLower().IndexOf("msbuild.exe");

            string arguments = envs.Substring(pos + 13);

            System.Console.Out.WriteLine("arguments= " + arguments);

            Process process = Process.Start(msbuildexe, arguments);

            process.WaitForExit();

            return process.ExitCode;

        }

    }

}

Nesse código eu já substitui pra vocês a chamada pelo framework 3.5 instalado em C:\Windows\. Espero que ajude vocês.