Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Building .NET 4 projects with Nant

How do I get nant to build projects that target the .NET 4.0 Framework?

like image 707
plaureano Avatar asked Aug 01 '09 03:08

plaureano


2 Answers

2010 April 15, ... Update to above correct answer from Eugene, after .net 4 and vs2010 was released.

I downloaded vs2010 and .net 4 runtime. The production version seems to be v4.30319 ie (C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319)

After reviewing http://paigecsharp.blogspot.com/2009/08/nant-net-framework-40-configuration.html, ... I pasted in the text and changed all text from v4.0.20506 to v4.30319 an added text to NAnt.exe.config.

I then updated my nant script to

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

this so my project nant script uses the .net 4 compiler

And this got me a nant build with .net 4 binary ....

Update 2010-06-14: The above was answered with nant-0.85, I upgraded to nant-0.90 and had to add vendor="Microsoft" to framework attribute that is added to nants config. Also, it looks like nant0.9 finds the .net libraries differently, as I had to add something like this to my 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}\" /> 

and

<include name="${dotNetReferenceAssemblyPath}System.ComponentModel.DataAnnotations.dll" /> 
like image 194
user206890 Avatar answered Sep 29 '22 20:09

user206890


If you want to use nant to build projects targeting .NET 4.0 you'll have to modify NAnt.exe.config and add the net-4.0 target framework and add a <supportedRuntime ... /> line to the <startup> section.

like image 21
Mitch Wheat Avatar answered Sep 29 '22 22:09

Mitch Wheat