Почему MSBuild, управляемый Nant, компилируется в разные каталоги на разных машинах?

StackOverflow https://stackoverflow.com/questions/715652

Вопрос

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

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

Это было полезно?

Решение

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

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

Другие советы

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

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

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

/p:Конфигурация=${project.config};Внешний каталог=bin\x86 elease

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top