[Mono-dev] Packaging NAnt

Gert Driesen gert.driesen at telenet.be
Fri Jul 14 12:33:18 EDT 2006


 

> -----Original Message-----
> From: mono-devel-list-bounces at lists.ximian.com 
> [mailto:mono-devel-list-bounces at lists.ximian.com] On Behalf 
> Of Wade Berrier
> Sent: vrijdag 14 juli 2006 3:53
> To: mono-devel-list at lists.ximian.com
> Subject: [Mono-dev] Packaging NAnt
> 
> Hi,
> 
> In trying to build and package nant, I've found that nant has some
> internal libraries that reference the 1.0 profile of .NET:
> 
> berrier:/usr/src/packages/SPECS # rpm
> -i ../RPMS/noarch/nant-0.85_rc4-1.noarch.rpm
> 
> error: Failed dependencies:
>  mono(System) = 1.0.3300.0 is needed by nant-0.85_rc4-1.noarch
>  mono(System.Data) = 1.0.3300.0 is needed by nant-0.85_rc4-1.noarch
>  mono(System.Web) = 1.0.3300.0 is needed by nant-0.85_rc4-1.noarch
>  mono(System.Windows.Forms) = 1.0.3300.0 is needed by
> nant-0.85_rc4-1.noarch
>  mono(System.Xml) = 1.0.3300.0 is needed by nant-0.85_rc4-1.noarch
>  mono(mscorlib) = 1.0.3300.0 is needed by nant-0.85_rc4-1.noarch
> 
> Even though the rpm won't install, nant appears to function (by
> installing it with --nodeps).
> 
> My question is, why doesn't the runtime croak when trying to load the
> above missing assemblies?

The Mono (and MS.NET) runtime automatically retargets these assemblies.

This is accomplished using the following <startup> node in NAnt.exe.config:

    <startup>
        <!-- .NET Framework 2.0 -->
        <supportedRuntime version="v2.0.50727" />
        <!-- .NET Framework 2.0 Beta 2 -->
        <supportedRuntime version="v2.0.50215" />
        <!-- .NET Framework 2.0 Beta 1 -->
        <supportedRuntime version="v2.0.40607" />
        <!-- .NET Framework 1.1 -->
        <supportedRuntime version="v1.1.4322" />
        <!-- .NET Framework 1.0 -->
        <supportedRuntime version="v1.0.3705" />
    </startup>

As a result, we can have a single binary distribution that runs natively on
.NET 2.0 / Mono 2.0 profile and can still run on .NET 1.1 / Mono 1.0 profile
and .NET 1.0.

I really appreciate the work you're doing, but wouldn't it be best if we
(the NAnt team) would release the RPM's ?

(same goes for NUnit, ...)

Wouldn't it be better to have the Mono team would share knowledge
(instructions, best practices, ...) and perhaps coordinate the efforts of
other projects.

Gert




More information about the Mono-devel-list mailing list