msbuild teamcity

MSBUILD Error MSB4025 en el paso de compilación de TeamCity para Visual Studio



(8)

Cuando ejecuto mi compilación de TeamCity con el único paso de compilación de tipo de corredor Visual Studio (sln), recibo el siguiente error:

C:/TeamCity/buildAgent/work/4978ec6ee0ade5b4/Test/Code/Test.sln(2, 1): error MSB4025: The project file could not be loaded. Data at the root level is invalid. Line 2, position 1.

Esto está en un servidor de CI dedicado que ejecuta TeamCity Professional 8.1.1 (compilación 29939). Hay varias otras construcciones que se ejecutan con éxito en este servidor.

Lo extraño es que la misma compilación se ejecuta con éxito en TeamCity en mi máquina dev. Seguí una respuesta a una pregunta similar y copié las carpetas especificadas, pero eso no ayudó.

Estoy seguro de que el archivo de proyecto / solución no es válido porque además de la compilación que se ejecuta en mi caja de desarrollo, abrí la solución en Visual Studio y la construí sin problemas.

¿Alguna sugerencia?


Acabo de arreglar esto.

Busque dentro del archivo Test.sln las etiquetas Project o EndProject que no están cerradas. Para nosotros, el proyecto final faltaba y se rompió en teamcity, pero no hubo problemas en Visual Studio.


En mi caso, después de fusionar, en el archivo .sln, fue un desajuste de líneas bajo

GlobalSection(NestedProjects) = preSolution {6B971E15-6B61-4AA8-9B93-9639C23269C3} = {9A14E7EF-3FA1-4B9A-B413-C550B3E5AC62} {54D14F01-D576-4DE6-9404-D21AD0DC4916} = {9A14E7EF-3FA1-4B9A-B413-C550B3E5AC62} ... (was some extra entry here ) ... EndGlobalSection

sección. En palabras claras, hubo algunas líneas adicionales agregadas después de la fusión. Por lo tanto, si se ha fusionado, compare dos archivos de soluciones manualmente. Puedes comenzar con números de línea totales en ambos archivos.


En nuestra situación, el problema consistía en especificar una versión de herramientas que no estaba instalada en esa máquina. (14 que VS2015 tiene pero VS2017 no tiene por defecto)


En nuestro caso, fue una referencia de proyecto duplicada en el archivo de la solución (causada por confirmaciones casi simultáneas y una fusión automática).


En otro caso

Tuvimos líneas en blanco, así que asegúrese de eliminar las líneas en blanco.

Espero que esto ayude a alguien más también!



Parece que el mensaje de error de TeamCity se producirá por cualquier número de causas raíz. En mi caso, el problema ocurrió porque una línea dentro de la sección GlobalSection (NestedProjects) se refería a un Guid de proyecto que no se relacionaba con ningún proyecto definido en el archivo de la Solución.

Al igual que en la publicación anterior, no tuve ningún problema en la creación de Visual Studio. Solo recibí un mensaje de error más útil que me permitió descubrir cuál era el problema real cuando construí utilizando msbuild.

Ver https://therightjoin.wordpress.com/2014/07/04/msb4025-the-project-file-could-not-be-loaded-data-at-the-root-level-is-invalid-error-when-building-ssdt-project-in-teamcity para otro ejemplo, y donde el uso de msbuild ayudó a identificar el verdadero problema.


Tengo el mismo error con Jenkins. Resulta que la carpeta raíz de Jenkins se configuró en C: / Archivos de programa (x86) / y no tenía acceso de escritura a los directorios bin y obj.

Error: error MSB4025: No se pudo cargar el archivo de proyecto. Los datos a nivel de la raíz no es válida.

Inicié cmd como administrador y ejecuté esto: "C: / Archivos de programa (x86) / MSBuild / 14.0 / Bin / MSBuild.exe" "C: / Archivos de programa (x86) / Jenkins / workspace / BuildBI_1 / Reports / Test / ReportsTests .sln "/ t: Build / p: RunOctoPack = true

Y eso me dio pistas sobre no poder escribir a bin y obj.