Tengo un proyecto que funcionaba bien en VS 2008, y luego instalamos y comenzamos a usar TFS Build, y luego lo actualizamos a TFS 2010 Todo estaba bien y se estaba creando correctamente (después de implementar mi nuevo proceso de compilación que hizo que todo fuera muy agradable con una iniciación de compilación con un solo clic desde cualquier cliente remoto de Visual Studio 2010). No fue necesario instalar Visual Studio en Build Agent. Intento mucho (muy difícil) no instalar Visual Studio en Build Agent porque entiendo que no es necesario y no tenemos licencia para instalarlo en un equipo que no sea de desarrollo.Cómo compilar un proyecto MakeFile de VS2010 (vcxproj) con TFS Build (No VS 2010)
Ahora traté de actualizar la solución a VS 2010, todavía apuntando a .NET 3.5 porque es un ensamblado dirigido a los procedimientos CLR de SQL Server, y SQL Server aún no es compatible con .NET 4.0. Pero simplemente no puedo hacerlo construir más bajo TFS Build. Parece que no puedo obtener un mensaje de error consistente de TFS Build y de una línea de comandos de MS Build, pero creo que tiene algo que ver con que Microsoft.Cpp.Targets no esté en C: \ Program Files \ MSBuild \ porque no tengo instaló Visual Studio. Instalé el Microsoft Windows SDK 7.1 para poder ejecutar las herramientas .NET 4.0 SDK como svcutil para algunos otros proyectos .NET 4.0, pero nada parece instalar lo que esta compilación quiere. La acumulación de errores TFS da de mí es:
C: \ TFSBld [...] \ GenerateLanguage \ GenerateLanguage.vcxproj (46,3): error MSB4019: El proyecto importado "C: \ Microsoft.Cpp .Default.props "no se encontró . Confirme que la ruta en la declaración es correcta, y que el archivo existe en el disco.
Y cuando hago clic en ese error que me lleva a la siguiente línea en el archivo vcxproj:
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
Todo lo que realmente necesito hacer en este proyecto está dirigido resgen para generar archivos de recursos de archivos resx y compilarlos en asambleas satélites. Estaba usando una compilación de makefile para hacer esto, ejecutando manualmente resgen (creo que fue porque no puedo encontrar una manera de compilar montajes de sattelite como una solución independiente de otra manera), y luego los compilo en una DLL (I no puedo recordar cómo funcionó ahora, pero creo que fue manualmente ejecutando AL.exe para compilar archivos DLL de archivos de recursos). Básicamente, solo necesito ejecutar líneas de comando para construir este proyecto, y parece que no puedo encontrar una forma razonable de hacerlo sin descartar todo el proyecto y editar el script de construcción TFS para ejecutar un conjunto de líneas de comando codificadas en lugar. Tiene que haber una mejor manera.
He estado en esto todo el día, e intenté escribir mi propio archivo .targets y hojas de propiedades .xml para tomar el lugar del archivo estándar, pero está muy por encima de mi cabeza. Intenté simplemente borrar las líneas, pero MSBuild se queja de que no hay un objetivo de "compilación". Traté de agregar un archivo ficticio al archivo vcxproj, pero luego no pareció ejecutar los pasos previos y posteriores a la construcción donde todo el trabajo está hecho.
Parece que esta pregunta ya ha sido respondida aquí: http://stackoverflow.com/questions/3043294/how-to-build-a-vs2010-c-project-on-a-buildserver ¿Qué es el forma correcta de actualizar/eliminar esta pregunta? – BlueMonkMN