Шаг 1: Определите свойства в сценарии NAnt для отслеживания среды вы строите для (местный, тест, производство и т. д.).
<property name="environment" value="local" />
Шаг 2: Если вы уже не имеете целевую конфигурацию или инициализацию, что все цели зависят, а затем создать целевую конфигурацию, и убедитесь, что другие цели зависят от него.
<target name="config">
<!-- configuration logic goes here -->
</target>
<target name="buildmyproject" depends="config">
<!-- this target builds your project, but runs the config target first -->
</target>
Шаг 3: Обновите свою цель конфигурации, чтобы тянуть в файл соответствующих свойств на основе свойства среды.
<target name="config">
<property name="configFile" value="${environment}.config.xml" />
<if test="${file::exists(configFile)}">
<echo message="Loading ${configFile}..." />
<include buildfile="${configFile}" />
</if>
<if test="${not file::exists(configFile) and environment != 'local'}">
<fail message="Configuration file '${configFile}' could not be found." />
</if>
</target>
Обратите внимание, я хотел бы, чтобы члены команды, чтобы определить свои собственные файлы local.config.xml, которые не получают привержен управления версиями. Это обеспечивает хорошее место для хранения локальных строк подключения или других параметров локальной среды.
Шаг 4: Установите свойство среды при вызове NAnt, например:
- NANT -D: окружающая среда = DEV
- Nant -Д: среда = тест
- Nant -D: окружающая среда = производство
Ваша строка завершает работу с сообщением: «Задача не разрешена в целях. Должно быть на уровне проекта». –
vakman
2011-10-03 20:34:03