2010-03-01 14 views
5

¿Cómo debo indicarle a la tarea msbuild en mi script nant que debería usar .net 4.0 rc?tarea Nant msbuild con .net 4.0 rc

+0

¿Por qué hay una tarea msbuild en su script nant? ¿Estás utilizando msbuild, por qué lo harías de esa manera? –

+1

Puede utilizar NAnt para manejar las tareas generales de automatización del proyecto (por ejemplo, ejecutar pruebas, ejecutar análisis, control de versiones, empaquetado ...) y delegar en MSBuild para su compilación. –

+0

Grant es correcto, Nant está haciendo la compilación, ejecutando la prueba, ejecutando ncover, y luego manejando algunas secuencias de comandos de la base de datos. –

Respuesta

4

Creo que el último NAnt/NAntContrib tiene por defecto .NET 3.5, por lo que tendrá que cambiarlo a 4.0. Hay una propiedad NAnt para manejar eso (<property name="nant.settings.currentframework" value="net-4.0" />), que debe estar cerca de la parte superior de su archivo de compilación NAnt.

A continuación, deberá acceder al archivo de configuración de NAnt y agregar el nodo 4.0, de modo que NAnt (y por extensión NantContrib) conozcan la nueva versión de CLR.

+0

Esto parece haberlo resuelto. Solo quería adjuntar un enlace a un blog donde encontré la sección de configuración actual de nant. Solo tuve que actualizar el número de versión para la versión candidata y agregar una línea a la sección de inicio. http://paigecsharp.blogspot.com/2009/08/nant-net-framework-40-configuration.html –

+0

Eso es esencialmente lo que tuve que hacer cuando probaba mis compilaciones automáticas con VS 2010/.NET 4. Lo siento, no pude 'pegar la solución aquí, pero no tenía el código a la mano. Me alegro de poder ayudarte a encontrar la solución. –

1

La primera opción es cambiar el ejecutable que utiliza la tarea MSBuild. Según el doco, esta es una propiedad del framework, por lo que necesitaría cambiarla en el archivo de configuración nant principal en lugar de en su script individual, y tendría que hacerlo en cada máquina en la que planee crear el script.

La otra opción es utilizar la tarea exec en su lugar. This pregunta y respuesta deberían ayudar con eso.

EDIT: Olvidé mencionar los directorios en los que está MSBuild. Para cambiar las versiones solo use un MSBuild diferente.

2,0:% windir% \ Microsoft.NET \ Framework \ v2.0.50727 \ MSBuild.exe
3,5:% windir% \ Microsoft.NET \ Framework \ v3.5 \ MSBuild.exe
4.0b2:% windir% \ Microsoft.NET \ Framework \ v4.0.21006 \ MSBuild.exe

Cuestiones relacionadas