36 votes

Construire des projets .NET 4 avec Nant

Comment faire pour que nant construise des projets qui ciblent le cadre .NET 4.0 ?

23voto

user206890 Points 391

2010 15 avril, ... La mise à jour de la réponse correcte ci-dessus d'Eugène, après la sortie de .net 4 et vs2010.

J'ai téléchargé vs2010 et .net 4 runtime. La version de production semble être v4.30319 c'est-à-dire ( C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319 )

Après avoir examiné http://paigecsharp.blogspot.com/2009/08/nant-net-framework-40-configuration.html , ... J'ai collé le texte et changé tout le texte de la v4.0.20506 à la v4.30319 et j'ai ajouté le texte à NAnt.exe.config.

J'ai alors mis à jour mon script nant pour

<property name="nant.settings.currentframework" value="net-4.0" />, 

ceci pour que mon projet nant script utilise le compilateur .net 4

Et cela m'a permis d'obtenir une construction nante avec .net 4 binaire .....

Mise à jour 2010-06-14 : Ce qui précède a été répondu avec nant-0.85, j'ai mis à jour vers nant-0.90 et j'ai dû rajouter vendor="Microsoft" à l'attribut de cadre qui est ajouté à la configuration des nants. De plus, il semble que nant0.9 trouve les bibliothèques .net différemment, car j'ai dû ajouter quelque chose comme ceci à mon fichier nant build.xml ...

<property name="framework-get-assembly-directory" value="${framework::get-assembly-directory('net-4.0')}" />
<property name="dotNetReferenceAssemblyPath" value="${framework-get-assembly-directory}\" />

et

<include name="${dotNetReferenceAssemblyPath}System.ComponentModel.DataAnnotations.dll" />

13voto

Mitch Wheat Points 169614

Si vous souhaitez utiliser nant pour construire des projets ciblant .NET 4.0, vous devrez modifier les éléments suivants NAnt.exe.config et ajoutez le framework cible net-4.0 et ajoutez une <supportedRuntime ... /> à la ligne <startup > section.

5voto

Eugene Petrenko Points 995

http://paigecsharp.blogspot.com/2009/08/nant-net-framework-40-configuration.html est un code complet pour le fichier .config pour NAnt.

2voto

Ryan Boggs Points 21

Au cas où quelqu'un se poserait la question, le nightly build 2010-05-12 de NAnt a un support .NET 4.0 qui doit vraiment être testé :)

https://sourceforge.net/projects/nant/files/

2voto

Babak Naffas Points 7219

Ceci est assez similaire à ces questions/problèmes :

Tâche <msbuild> ou msbuild.exe avec NAnt ?

Une autre option serait d'appeler directement MSBuild à partir d'un bloc.

<property name="MSBuildPath" value="C:\WINDOWS\Microsoft.NET\Framework\v4.0\MSBuild.exe" />    

<target name="build">
    <exec program="${MSBuildPath}">
            <arg line='"${SolutionFile}"' />
            <arg line="/property:Configuration=${SolutionConfiguration}" />
            <arg value="/target:Rebuild" />
            <arg value="/verbosity:normal" />
            <arg value="/nologo" />
            <arg line='/logger:"C:\Program Files\CruiseControl.NET\server\ThoughtWorks.CruiseControl.MsBuild.dll"'/>
    </exec>
</target>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X