9

我试图让 NAnt 0.86b1 与 VS2008 SP1 和 x64 XP 一起运行。

我有一个基本的构建文件(如下),它给出了文件“Solution.sln”的错误解决方案格式不受支持。

<property name="nant.settings.currentframework" value="net-3.5" />

<target name="build" description="Full Rebuild" depends="clean,compile" />  

<target name="clean" description="Cleans outputs">
    <delete dir="bin" failonerror="false" />
    <delete dir="obj" failonerror="false" />
</target>

<target name="compile" description="Compiles solution">
    <solution configuration="debug" solutionfile="Solution.sln" />
</target>

有没有其他人遇到过这个问题?我找不到任何有用的东西。

4

3 回答 3

8

您会注意到文档表明 NAnt 的<solution>任务不支持比 VS2003 更新的解决方案文件。

我建议将nantcontrib<msbuild>任务用于比 VS2003 更新的所有项目。

此外,.85 版本的 NAnt 仅支持最高 2.0 的框架版本。让事情对 3.5 框架起作用的最纯粹的方法是使用.86-beta1版本的 NAnt。然后,您将能够<msbuild>针对 3.5 解决方案使用该任务。

于 2008-11-29T17:31:09.590 回答
7

nant-0.86-beta1 支持 3.5 但不是在解决方案节点上有多好。我最终从 nantcontrib 使用了这个:

  <target name="build" description="Compiles using the AutomatedDebug Configuration">
    <!-- <loadtasks assembly="C:\Dev\nant-0.86-beta1\bin\NAnt.Contrib.Tasks.dll"  /> -->
    <msbuild project="${Solution.Filename}">
      <property name="Configuration" value="Release"/>
    </msbuild>
  </target>
于 2009-01-08T23:20:57.710 回答
2

请参阅使用 nant 和 VS2008 构建平台代码

这是堆栈溢出。基本上你只有几个选项,用项目构建文件、通用构建文件和主构建文件自己控制所有构建。或者运行 Exec 任务,为要编译的每个解决方案执行正确版本的 MSBuild。

于 2009-02-12T22:10:20.293 回答