Comment faire pour que nant construise des projets qui ciblent le cadre .NET 4.0 ?
Réponses
Trop de publicités?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" />
http://paigecsharp.blogspot.com/2009/08/nant-net-framework-40-configuration.html est un code complet pour le fichier .config pour NAnt.
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>