pechkin: (Default)
pechkin ([personal profile] pechkin) wrote2011-02-17 05:33 pm
Entry tags:

(no subject)

проблема конфигураций в дотнете состоит в том, что информация о том, что нужно серверному проекту, содержится в самом серверном проекте (определения конфиг-секции, которую он будет юзать); информация о том, что серверный проект юзается, содержится в клиентном проекте (его зависимости); а информация о том, что юзается клиентный проект, находится где-то в зависимостях аппликации. Если бы можно было пройтись по дереву зависимостей, найти все клиентные проекты, собрать все их серверные проекты и просигнализировать аппликации, что она должна включить в свою конфигурацию их секции, можно было бы не волноваться, что что-то забыл.

Пока что я умею в пост-билд каждого серверного проекта вставлять подъем флажка, если ему нужна конфиг-секция. Можно даже скелет этой секции копировать, с указанием типа и библиотеки для последующего
тага. Это как бы проход по зависимостям.

Теперь в пре-билде аппликации нужно все эти флажки посмотреть и завалить билд, если не хватает соответствующих конфиг-секций (или их инклюдов, а сами секции можно скопировать в $(TargetDir) из какой-нибудь $(SolutionDir) подпапки). Вот только как? Перловый скрипт (первая мысль)? екзешник, анализирующий XML?

Лень скука, рассеянность и плохая память - величайшие двигатели программерского прогресса.