Permalink
Browse files

NServiceBus.Host is now simultaneously compiled in 32-bit mode for us…

…ers that run a 64-bit OS but need a 32-bit process for compatibility.
  • Loading branch information...
Oliver, Jonathan
Oliver, Jonathan committed Mar 12, 2011
1 parent 5880079 commit 0aa8fdaaf8713765e82004718fc512dcd9d3d578
Showing with 21 additions and 1 deletion.
  1. +21 −1 nant.build
View
@@ -95,7 +95,7 @@
<target name="build" depends="build_src,test,compile_tools,compile_msmqutils,prepare_binaries,compile_samples"/>
- <target name="build_src" depends="clean, init, commonassemblyinfo, compile_main,compile_core,compile_containers,compile_hosts"/>
+ <target name="build_src" depends="clean, init, commonassemblyinfo, compile_main,compile_core,compile_containers,compile_hosts,compile_hosts32"/>
<target name="init" depends="DetectOperatingSystemArchitecture" description="Initializes build properties">
<tstamp>
@@ -289,6 +289,26 @@
workingdir="." />
</target>
+ <target name="compile_hosts32">
+ <property name="hosting.build.dir32" value="${build.base}\hosting32" />
+
+ <!-- Cleanup remnants of previous host compilation -->
+ <exec program="${msbuild}"
+ commandline="/p:Configuration=${project.config} /p:OutDir=${build.dir.absolutepath}\hosting32\ ${msbuild.targetframework} /t:Clean"
+ workingdir="${solution.dir}\hosting" />
+
+ <!-- Compile all hosts for 32-bit execution -->
+ <exec program="${msbuild}"
+ commandline="/p:Configuration=${project.config} /p:PlatformTarget=x86 /p:OutDir=${build.dir.absolutepath}\hosting32\ ${msbuild.targetframework}"
+ workingdir="${solution.dir}\hosting" />
+
+ <!-- Merge the windowshost and it's dependecies -->
+ <mkdir dir="${output.dir}\host" />
+ <exec program="${lib.dir}\ilmerge.exe"
+ commandline="/keyfile:NServiceBus.snk /out:${output.dir}\host\NServiceBus.Host32.exe ${hosting.build.dir32}\NServiceBus.Hosting.Windows.exe ${hosting.build.dir32}\NServiceBus.Hosting.dll ${hosting.build.dir32}\Microsoft.Practices.ServiceLocation.dll ${hosting.build.dir32}\Magnum.dll ${hosting.build.dir32}\Topshelf.dll /internalize:ilmerge.exclude /target:exe /xmldocs /log:build\output_windowshost32.txt ${ilmerge.targetframework}"
+ workingdir="." />
+ </target>
+
<target name="test">
<mkdir dir="${build.base}\test-reports" />

0 comments on commit 0aa8fda

Please sign in to comment.