Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

MsBuild & папочки...

25.11.19 17:57
MsBuild & папочки...
 
Murr_0001 знакомое лицо
Murr_0001

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 тоже не используется или используется только частично... возможно - где-то подменяется...

Но и без нее проект не компилируется...

Непонятно.


Дальше... папочка где лежит батничек... это - вообще отдельно. Т.е. - совсем. У меня ощущение что МсБуилд об ней не знает.

Тем не менее - она нужна - только от нее можно задать релативно копирование/перемещение полученных клиентских дллок.


Еще есть папочка Клиентов, куда надо копировать/перемещать построенные клиенты...

И есть папочки объектных файлов. Для Шарпа - не актуально, но используются.


В общем - Я так и не понял какие пути мне надо прописать в параметрах, чтобы МсБуилд взял корректные сорцы из одного места, уже откомпилированные библиотеки другого и сложил результат в третье...


П.С. Могу написать полный вызов Шарпового компилятора, но интересует решение на уровне МсБуилда.


 

Перейти на