Почему Nant-управляемый MsBuild компилируется в разные каталоги на разных машинах? - PullRequest
0 голосов
/ 04 апреля 2009

Я написал скрипт Nant, который выполняет MSBUILD.exe для компиляции проекта на моем компьютере разработчика. На моем компьютере разработчика проекты выводят его в bin \ x86 \ Release, а мой скрипт Nant архивирует содержимое этого каталога. Затем я фиксирую все в SVN и позволяю TeamCity запустить сценарий Nant, который выполняет MSBUILD.exe, чтобы скомпилировать проект и сжать выходные данные, но выходные данные создаются в bin \ Release, а файл zip пуст, поскольку он выглядит в bin \ x86 \ Релиз. Почему это происходит?

Когда я делаю изменения в конфигурации и платформе в VS.NET 2008, я не вижу, как файл проекта загорается как измененный. Сохраняются ли эти параметры в файле проекта, файле решения или файле конфигурации пользователя и поэтому не переносятся на сервер сборки?

Ответы [ 2 ]

1 голос
/ 05 апреля 2009

Вы уверены, что $ {project.config} указывают на одно и то же место как в локальной среде, так и в среде TeamCity?

Агент не всегда работает с переменными среды sem как локальный компьютер. Поэтому я бы начал проверять все свойства и видеть, куда они указывают на локальной машине, а также в TeamCity.

Что касается /p:Configuration=$ndomproject.config}, у вас может быть запущена только одна конфигурация, но вы можете указать больше свойств с помощью; между ними:

/ р: Configuration = $ {project.config}; OutDir = Bin \ x86 \ Release

1 голос
/ 04 апреля 2009

Быстрое исправление: Вы можете использовать флаг / свойство: OutDir = bin \ x86 \ Release

Вы должны найти основную причину этого. Возможно, конфигурация неверна. Вы можете явно изменить конфигурацию на что-то вроде / p: Configuration = Release

...