Я только начинаю использовать NAnt. Я работал над учебным пособием и просто пытался установить цель для очистки своего решения при сборке. Моя структура решения Visual Studio выглядит следующим образом:
- Папка с решениями
- Папка проекта
- Папка проекта
- Папка с инструментами
Файл NAnt .exe находится в папке Tools / NAnt. Мой файл .build также там. Вот мой файл .build:
<?xml version="1.0" encoding="utf-8" ?>
<project name="NAntTest" default="build" xmlns="http://nant.sf.net/release/0.86-beta1/nant.xsd">
<property name="solution.file.name" value="NAntTest.sln" />
<property name="project.config" value="debug" />
<target name="build" depends="clean.source" />
<target name="clean.source">
<exec program="${framework::get-framework-directory(framework::get-target-framework())}\msbuild.exe"
commandline="${solution.file.name} /t:Clean /p:Configuration=${project.config} /v:q"
workingdir="."/>
</target>
</project>
Вот как был отформатирован пример, которому я следую. Если я пытаюсь запустить эту сборку, я получаю сообщение о том, что файл проекта не существует. В цели clean.source, если я заменю атрибут workingdir жестко закодированным путем к папке с базовым решением, скрипт скомпилируется и будет работать правильно. Очевидно, что это не идеально для переносимости, если мне нужно перенести проект куда-нибудь.
Как мне получить NAnt, чтобы увидеть базовый рабочий каталог?