Чуть больше года назад я опубликовал вопрос о разбиении сборки на несколько выходов и следовал рекомендованному решению . Теперь мне нужно немного развить это. Это решение содержит три проекта, которые создают развертываемые биты, а затем некоторые другие проекты, которые содержат код, общий для развертываемых проектов (бизнес-логика и тип доступа к данным). Из трех развертываемых проектов два из них являются службами Windows, а один - веб-службой wcf. Я могу собрать все это локально, но когда я создаю это на нашем сервере сборки, все становится немного странно.
Когда я строю свой проект веб-сервиса локально, я получаю структуру папок, подобную этой:
-Published Websites
Service file
Config file
-Bin
Service DLL’s
Это желаемый вывод для веб-службы, однако я не хочу создавать локально. Когда я изначально собирал сервер сборки, все перемешивалось так:
-Published Websites
Service file
Config file
-Bin
Service DLL’s
All windows service exe's
All DLL's needed by the service exe's
Я следовал советам в статье, указанной в начале этого поста. В двух словах, я внес изменения в шаблон сборки, а также изменил путь вывода в файлах проекта. Это привело к тому, что мой результат сборки выглядел так:
Build Folder
-WIN SERVICE 1
EXE’s
DLL’s
-WIN SERVICE 2
EXE’s
DLL’s
-WEBSERVICE
DLL’s
Проблема здесь в том, что структура папок для веб-службы не повреждена (отсутствуют файлы svc и config, а также папка bin). Мне нужна эта структура, так как я не развертываюсь непосредственно на веб-сервере, мы используем промежуточное местоположение. Я бы предпочел не разбивать веб-сервис на собственное решение, так как оно логически связано со службами Windows и всем общим кодом в решении.
Итак, главный вопрос в том, как настроить сборку, которая может выводить несколько каталогов, но один из этих каталогов является веб-сервисом и содержит соответствующие файлы и структуру каталогов?