Fwd: Re: [NHibernate-development] Fwd: [Mono-list] NHibernate 0.3.0 on Mono 1.0.1?

Golo Haas haas@folz.de
Tue, 5 Oct 2004 10:04:44 +0200

Hi there,

I got an answer to my question on the NHibernate-development list and I'll forward
it to this list since I wanted to inform you, too:


Hi Golo, Mike, other Mono enthousiasts

I run NHibernate on Mono 1.0.1. To make it build you have to set the 
runtime configuration in the NHibernateSolution.build file:

<call target="set-mono-1.0-runtime-configuration" />

and put a target in the buildfile for this configuration right 
underneath the current net-1.1 section:

<target name="set-mono-1.0-runtime-configuration">
       <property name="current.runtime.config" value="mono" />
       <property name="current.runtime.version" value="1.0" />
       <property name="current.runtime.description" value="Mono 1.0" />
       <property name="current.build.defines" 
value="${build.defines}NET,NET_1_1" />
       <property name="link.sdkdoc.version" value="SDK_v1_1" />
       <property name="lib.dir" 
value="lib/${current.runtime.config}/${current.runtime.version}" />
       <property name="nant.settings.currentframework" 
value="${current.runtime.config}-${current.runtime.version}" />
       <call target="set-runtime-configuration-flags" />

Next you should find yourself a version of DotNetMock.Core assembly (v 
0.5) because mcs complains about not being able to find this referenced 
.dll. I took the one out of the DotNetMock 0.5 package.
Mono (apperantly) needs all referenced dll's and their references to 
build NHibernate while MS .NET doesn't.

If you want to use Npgsql as well, just add the 0.7 beta2 dll's 
(Npgsql.* and Mono.Security.Protocol.Tls.*) to external-bin and include 
these in the buildfile. Earlier versions of Npgsql don't work too well. 
There have been quite a lot of changes lately to make NHibernate work 
with PostgreSQL.

Don't know if I missed something. I you could just let us know what the 
results are :).

In the future I think NHibernate needs a NAnt buildfile like NAnt has 
itself which automatically determines the runtime configuration and uses 
the appropriate assemblies to build NHibernate. For instance, log4net 
comes in a mono and ms flavor and it would be wise to use the right one 
on the right platform. This way I don't have to mess with the buildfile 
myself (I'm not that much into NAnt like all other lazy VS.NET coders :)).