2009-03-09 5 views
0

Я заметил, что проекты, которые изначально были созданы в VS 2008, не компилируются с помощью задачи nantcontrib msbuild. Существует решение, которое я видел here, но это похоже на хак, поскольку «MSBuildBinPath» был лишен, и мне не совсем нравится идея изменить это свойство на каждый отдельный файл проекта, который я создаю в VS 2008.Запуск сборки с использованием .net 3.5 MSBuild и NantContrib

Не удалось изменить скрипты сборки для вызова msbuild с помощью задачи exec, есть ли способ указать задачу msbuild в конкретной версии MSBuild? Возможно, это в работе для следующего выпуска Нанта?

ответ

3

Существует еще один вариант, вызывая MSBuild.exe непосредственно.

Вот пример:

<property name="MSBuildPath" value="C:\WINDOWS\Microsoft.NET\Framework\v3.5\MSBuild.exe"/>  
    <target name="build"> 
     <exec program="${MSBuildPath}"> 
      <arg line='"${SolutionFile}"' /> 
      <arg line="/property:Configuration=${SolutionConfiguration}" /> 
      <arg value="/target:Rebuild" /> 
      <arg value="/verbosity:normal" /> 
      <arg value="/nologo" /> 
     </exec> 
    </target> 

Если вы звоните NANT из Cruise Control .NET, вы также можете добавить этот аргумент:

<arg line='/logger:"C:\Program Files\CruiseControl.NET\server\ThoughtWorks.CruiseControl.MsBuild.dll"'/>