使用NAnt构建.NET 2.0项目

时间:2008-12-11 19:48:14

标签: msbuild .net-2.0 nant

我有一个.NET 1.1项目,我使用以下代码段在NAnt中构建:

<property name="Refs.dir" value="Refs" readonly="false"/>
<property name="OAIDLLs.dir" value="OAI\bin\ServerDebug"/>

<solution 
   solutionfile="OAI\CC.OAI.sln" 
   configuration="ServerDebug" 
   outputdir="${OAIDLLs.dir}">

   <assemblyfolders>
      <include name="${Refs.dir}"/>
   </assemblyfolders>
</solution>

现在有人将项目转换为.NET 2.0,而NAnt再也无法构建它了 用

替换 solution 标签很容易
<exec program="msbuild">
    <arg value="OAI\CC.OAI.sln" />
</exec>

但我无法弄清楚如何将 assemblyfolders 标记中的值传递给msbuild。对于那些不知道的人, assemblyfolders 标记指定项目应该查找依赖程序集的文件夹。

1 个答案:

答案 0 :(得分:2)

可以使用/ p开关指定其他属性。这里可能感兴趣的属性是:

  

AdditionalLibPaths - 指定编译器应查找参考程序集的其他文件夹。

     

AssemblySearchPaths - 在构建时参考程序集解析期间要搜索的位置列表。路径在此列表中的显示顺序是有意义的,因为前面列出的路径优先于后面的条目。

使用带有exec任务的msbuild指定其他属性:

<exec program="msbuild">
    <arg value="OAI\CC.OAI.sln" />
    <arg value="/p:AssemblySearchPaths=c:\path1" />
</exec>

作为一方,msbuild提供了NAntContrib任务。