2010-05-04 10 views
9

Actualmente estamos tomando VS2010 para una prueba y hasta el momento estamos un poco perplejos con la forma en que simplemente no cooperará con nuestro Team Foundation Server 2008 existente. Todavía tenemos todos nuestros proyectos en .NET 3.5 y cada vez que construyamos una solución que contenga un proyecto de prueba unitaria (que se compila automáticamente en .NET 4.0) el TFS no lo construirá.Visual Studio 2010 y TFS 2008: proyectos de prueba de unidad de edificio

El marco .NET 4.0 está instalado en el TFS 2008.

El error que está recibiendo es:

[Any CPU/Release] c:\WINDOWS\Microsoft.NET\Framework\v3.5\Microsoft.Common.targets(0,0): warning MSB3245: Could not resolve this reference. Could not locate the assembly "Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors.

Como solución temporal nos vemos obligados a eliminar toda nuestra prueba proyectos para que nuestras soluciones se construyan.

+0

era la instalación de VS2010 la única solución en el final? – CraftyFella

+0

He publicado esta pregunta con la esperanza de encontrar otras soluciones, pero como puede ver ... no parece haber ninguna. Al menos no hemos encontrado ninguno. Descubrimos que VS2008 también está siendo instalado en el servidor de construcción, ahora sabemos por qué;) – Peter

Respuesta

3

Necesita instalar VS2010 en su máquina de compilación.

+2

¿No es esto un poco ridículo? Nuestro servidor de compilación no debe desarrollarse ... ¿No pueden simplemente envolver todos los dll necesarios en un "paquete de servidor" o algo así ... Funciona, y es una licencia VS2010 adicional que pueden cargar Supongo. – Peter

+0

Estoy de acuerdo en que es ridículo, pero no estoy seguro acerca de la carga. –

+0

Creo que VS2010 Express lo haría, así que me equivoqué con respecto a la carga. – Peter

3

Me'v solo estado tratando de construir soluciones V4.0 en TFS2008, y alteró la C: \ Archivos de programa \ Microsoft Visual Studio 9.0 \ Common7 \ IDE \ PrivateAssemblies \ tfsbuildservice.exe.config archivo:

<add key="MSBuildPath" value="" /> 

a

<add key="MSBuildPath" value="c:\Windows\Microsoft.NET\Framework\v4.0.30319\" /> 

La acumulación de soluciones v3.5 y v4.0 tuvo éxito. Pero la prueba unitaria de las soluciones v3.5 no funcionó.

Lea acerca de la instalación de VS2010 en el servidor de compilación, pero lea en otro lugar: (http://www.richard-banks.org/2009/11/how-to-build-vs2010-solutions-using.html) que es posible sin instalar VS2010.

: El texto de esa página web:


Esto funcionó para nosotros permitir que un agente de compilación TFS 2008 VS 2010 compilar archivos de solución/proyectos sin necesidad de instalar VS 2010:

  1. Instalar .NET Framework 4.0 y .NET Framework 3.51 SP1 (por alguna razón, SP1 no se incluyó con 4.0?)
  2. Instalar Windows SDK 7.0A. Cuando estoy escribiendo esto, el SDK aún no se ha lanzado, así que tuvimos que: Desde una computadora con VS 2010 instalada, copiar la carpeta SDK de% programfiles% \ Microsoft SDKs \ Windows \ v7.0A y las configuraciones de registro de HKLM \ SOFTWARE \ Microsoft \ Microsoft SDKs \ Windows \ 7.0A a la máquina de compilación.
  3. Copie% programfiles% \ MSBuild \ Microsoft \ VisualStudio \ v10.0 a la máquina de compilación
  4. Cambie ToolsVersion de 3.5 a 4.0 en su archivo TFSbuild.proj.

Creo que eso fue todo. No hubo necesidad de cambiar el archivo de configuración del agente de compilación.


Espero que esto funcione.

+0

¡Muy interesante! Mientras tanto, hemos actualizado Team Foundation Server a 2010, por lo que no podemos probar su solución, ¡pero gracias por publicarla! – Peter

Cuestiones relacionadas