NAnt и VS2008 (.NET 3.5) - формат файла Solution.sln решения не поддерживается - PullRequest
9 голосов
/ 29 ноября 2008

Я пытаюсь запустить 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>

Кто-нибудь еще сталкивался с этой проблемой? Я не могу найти ничего полезного об этом.

Ответы [ 3 ]

8 голосов
/ 29 ноября 2008

Вы заметите, что в документах указано, что задача NAnt <solution> не поддерживает файлы решения, более новые, чем VS2003.

Я рекомендую использовать задачу <msbuild> от nantcontrib для всех проектов, более новых, чем VS2003.

Кроме того, версия .85 NAnt поддерживает только версии платформы до 2.0. Самый простой способ заставить все работать на платформе 3.5 - это использовать .86-beta1 версии NAnt. После этого вы сможете использовать задачу <msbuild> против решения 3.5.

7 голосов
/ 09 января 2009

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>
2 голосов
/ 13 февраля 2009

См. Создание кода платформы с помощью nant и VS2008

Это здесь при переполнении стека. По сути, у вас есть только пара опций, вы можете управлять всеми сборками самостоятельно с помощью файлов сборки проекта, общих файлов сборки и файла основной сборки. Или запустите задачу Exec, чтобы определить правильную версию MSBuild для каждого решения, которое вы хотите скомпилировать.

...