MsBuild & папочки...
MsBuild & папочки...
Снова слегка запутался...
ВМ начала произвольно отключатся от хоста - как результат - не могу деплоить изменения в проектах.
Идея была заменить Студию обычным БАТ-файликом с вызовом MsBuild для каждого из проектов
и далее как-то сделать деплоймент.
Но! Запутался в папочках... :( в трех-четырех штуках... ну может в пяти...
Первая часть - Компиляция аппликатиона.
Три папочки определяются тремя параметрами:
/p:WorkingDirectory=%L4%\Builds\ImportWinApp
/p:OutDir=%L4%\Builds\ImportWinApp
%L4% - переменная среды хранящая "уровень вложенности" проекта, ну или по простому - часть релативного пути к месту результата...
Одна сложность - путь требуется относительно местоположения файла проекта.
Вроде как корректно поправил файлики проектов апппикейшена - все компилируется и складывается куда указано.
Вторая часть - Копиляция клиентов.
Клиенты у меня оформлены в дллки и должны лежать в папочке Clients.
Соответственно заменяю
/p:WorkingDirectory=%L4%\Builds\ImportWinApp
/p:OutputPath=%L4%\Builds\ImportWinApp\Clients
Первая нужна чтобы понять ссылки на компилированные дллки, вторая, как обычно, определяет куда выгружать сборку.
Вроде все правильно?
Ну Я надеюсь, что вы заметили разницу - OutDir & OutputPath?
Ну это мелочь... правда за исключением того, что второе понятно, а первое нет. Я не нашел как используется и используется ли первое. Только примеры с использованием.
Проблема похоже в том, что WorkingDirectory тоже не используется или используется только частично... возможно - где-то подменяется...
Но и без нее проект не компилируется...
Непонятно.
Дальше... папочка где лежит батничек... это - вообще отдельно. Т.е. - совсем. У меня ощущение что МсБуилд об ней не знает.
Тем не менее - она нужна - только от нее можно задать релативно копирование/перемещение полученных клиентских дллок.
Еще есть папочка Клиентов, куда надо копировать/перемещать построенные клиенты...
И есть папочки объектных файлов. Для Шарпа - не актуально, но используются.
В общем - Я так и не понял какие пути мне надо прописать в параметрах, чтобы МсБуилд взял корректные сорцы из одного места, уже откомпилированные библиотеки другого и сложил результат в третье...
П.С. Могу написать полный вызов Шарпового компилятора, но интересует решение на уровне МсБуилда.