Pregunta

Estoy sentando las bases para un proceso de compilación automatizado y estoy tratando de asegurarme de que empiezo por el camino correcto. Nuestro código base es una mezcla de Managed / Unmanaged C ++. La parte administrada está en .NET 2.0 y todos los proyectos forman parte de una solución de Visual Studio 2005.

Ahora mismo estoy mirando NAnt, pero no puedo averiguar cómo realizar una compilación. Cuando intento compilar utilizando la etiqueta, aparece un error:

  

Las soluciones de Microsoft Visual Studio.NET 2005 no son compatibles.

Siento que me estoy acercando a este problema desde la dirección equivocada. ¿Alguien puede indicarme el correcto?

P.S. También quiero ejecutar doxygen como parte del proceso de compilación, pero asumo que cualquier herramienta que elija me permitirá ejecutarlo como un comando de shell como mínimo.

¿Fue útil?

Solución

¿Qué pasa con MSBuild? Todos tus proyectos ya lo utilizan, es un buen producto y es gratis.

Otros consejos

Hemos usado NAnt desde VS003, VS2005 y ahora con VS2008 (aunque VS2008 y .net 3.5 requieren la última compilación de NAnt 0.86+), así que para responder tu primera pregunta, sí, NAnt funcionará bien.

Aquí hay una plantilla que debe comenzar:

<?xml version="1.0"?>
<project name="Test Build" default="build" xmlns="http://nant.sf.net/release/0.85-rc4/nant.xsd">

<property name="target" value="rebuild" overwrite="false" />
<property name="configuration" value="debug" overwrite="false" />
<property name="projectName" value="MyProject.sln"/>

<target name="build" description="Build all targets.">
    <call target="build.MyProject"/>
</target>

<target name="build.MyProject">
    <exec program="MSBuild" failonerror="true" commandline="/t:${target} /p:Configuration=${configuration} ${projectName}" />
</target>

</project>

Y, finalmente, asegúrese de que su entorno esté configurado correctamente al ejecutar la compilación para VS2005:

build.bat:

call "C:\Program Files\Microsoft Visual Studio 8\VC\vcvarsall.bat" x86
"C:\Program Files\NANT\bin\NAnt.exe" -t:net-2.0 -logfile:buildlog.txt %*

Ahora que lo pienso, MSBuild para VS2005 (8.0) no soporta completamente VC ++. Dependiendo de la combinación del proyecto, uno podría tener problemas con el uso de MSBuild, ya que llama directamente a VCBuild para proyectos nativos (que se puede ver en msdn foros ).

Entonces, dependiendo de los proyectos, MSBuild o VCBuild deberían hacer el truco. Para permanecer dentro de NAnt, uno puede usar MSBuild o VCBuild directamente usando la tarea exec

Si en VS2008 (.NET framework), MSBuild tiene un VCBuild tarea . Luego puede usar la última versión (.86 beta 1) de NAnt , combinada con NAntContrib (proporciona la tarea msbuild) para obtener compatibilidad con 3.5.

Kinook tiene un buen producto llamado Visual Build que podría satisfacer sus necesidades.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top