0

使用するMSBuildのバージョンを設定するnantの構成設定はどこにありますか?

Nantは、4.0を使用する必要があるときに3.5を使用したいと考えています。

4

2 に答える 2

1

数年前に、NAntビルドスクリプトから任意のバージョンのMSBuildを活用する方法を説明するブログエントリを作成しました。基本的に、<exec>ノードを使用して、コンピューターにインストールされているMSBuildを呼び出します。

http://enterpriseyness.com/2009/12/continuous-integration-with-cruise-control-net-nant/

<target name=”build”&gt;
  <exec program=”${MSBuildPath}”&gt;
    <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>
于 2012-06-19T16:32:58.917 に答える
0

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" />
于 2013-12-31T19:13:42.787 に答える