使用するMSBuildのバージョンを設定するnantの構成設定はどこにありますか?
Nantは、4.0を使用する必要があるときに3.5を使用したいと考えています。
使用するMSBuildのバージョンを設定するnantの構成設定はどこにありますか?
Nantは、4.0を使用する必要があるときに3.5を使用したいと考えています。
数年前に、NAntビルドスクリプトから任意のバージョンのMSBuildを活用する方法を説明するブログエントリを作成しました。基本的に、<exec>
ノードを使用して、コンピューターにインストールされているMSBuildを呼び出します。
http://enterpriseyness.com/2009/12/continuous-integration-with-cruise-control-net-nant/
<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>
NAnt フレームワーク構成を作成することもできます。NAnt.exe.config ファイルを編集する場合は、<framework>
要素の 1 つとそのすべての子要素の複製を作成します。使用する MSBuild のバージョン番号を使用するように変更frameworkdirectory
します。正しい使用法については、他の<framework>
要素を参照してください。たとえば、'net-3.5'<framework>
要素に MSBuild 4.0 を使用させたい場合は、複製された<framework>
open 要素を次のように変更します。
<framework
name="net-3.5-msbuild-4.0"
family="net"
version="3.5"
description="Microsoft .NET Framework 3.5 with MSBuild 4.0"
sdkdirectory="${sdkInstallRoot}"
frameworkdirectory="${path::combine(installRoot, 'v4.0.30319')}"
frameworkassemblydirectory="${path::combine(installRoot, 'v2.0.50727')}"
clrversion="2.0.50727"
clrtype="Desktop"
vendor="Microsoft"
><!-- Rest of framework contents here --></framework>
frameworkdirectory
属性の異なるバージョン番号に注意してください。
次に、NAnt で使用するフレームワークを指定します。
<property name="nant.settings.currentframework" value="net-3.5-msbuild-4.0" />