English 中文(简体)
NAnt和VS2008(.NET 3.5)-文件Solution.sln的解决方案格式不受支持。
原标题:
  • 时间:2008-11-29 17:22:14
  •  标签:

我正在尝试将NAnt 0.86b1与VS2008 SP1和x64 XP配合运行。

I have a basic build file (below) which gives the error Solution format of file Solution.sln is not supported.

<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>

还有谁遇到过这个问题吗?我在网上找不到任何有用的信息。

问题回答

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

我建议对于所有更新于VS2003的项目,使用来自nantcontrib的 <msbuild> 任务。

此外,NAnt的.85版本只支持2.0版本的框架。使事情与3.5框架正常工作的最纯净方法是使用NAnt的.86-beta1版本。然后,您将能够使用<msbuild>任务来处理3.5解决方案。

nant-0.86-beta1支持3.5,但不支持解决方案节点,这太好了。我最终使用了nantcontrib中的这个。

  <target name="build" description="Compiles using the AutomatedDebug Configuration">
    <!-- <loadtasks assembly="C:Dev
ant-0.86-beta1inNAnt.Contrib.Tasks.dll"  /> -->
    <msbuild project="${Solution.Filename}">
      <property name="Configuration" value="Release"/>
    </msbuild>
  </target>

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

这里是在 Stack overflow 上。基本上有两种选择,通过项目构建文件、公共构建文件和主构建文件控制所有构建,或者运行 Exec 任务以执行要编译的每个解决方案的正确版本的 MSBuild。





相关问题
热门标签