лучшие практики подрывной деятельности .net-решения?
-
08-06-2019 - |
Вопрос
Существует так много примеров того, как настроить ваши проекты dotnet, но ни один из них, похоже, не подходит для нашей ситуации.
У нас есть одно решение с несколькими приложениями, несколькими зависимостями.В настоящее время мы работаем на SourceSafe и планируем перейти на subversion, но нам трудно правильно организовать наш исходный код.
Пример решения
- Приложение 1
- Приложение 2
- БизОбъекты
- Доступ к данным
- Пользовательские элементы управления
Зависимости
- BizObjects->Доступ к данным
- App1-> Пользовательские элементы управления
- Приложение 1-> БизОбъекты
- Приложение 1-> Доступ к данным
- App2-> Пользовательские элементы управления
- Приложение 2-> БизОбъекты
У нас также есть система управления конфигурацией, которая развертывается (посредством копирования из базы данных) в зависимости от рабочей нагрузки оператора.Мы помечаем приложение "release" версией и к этому выпуску добавляем несколько файловых зависимостей.Имейте в виду, что решение, которое у нас есть сейчас, - это попытка упростить работу со старым решением (разработанным для Windows 3.1).СЕТЕВАЯ структура файлов / зависимостей.
В случае App1 мы имеем App1.exe, BizObjects.dll, DataAccess.dll и CustomControls.dll.У нас есть тот же набор зависимостей для App2 из-за BizObjects, ссылающихся на DataAccess, но это определяется вручную.У нас нет системы для идентификации дерева зависимостей.
Каждая из зависимостей для "выпуска" представляет собой файл и идентификатор версии.И одно и то же приложение может содержать разные версии каждого файла для разной рабочей нагрузки.
- Где, черт возьми, мы пошли не так, как надо?Мы что-то сделали не так?
- Как мы можем структурировать дерево исходных текстов svn в соответствии с требованиями развертывания?
- или
- как мы можем реструктурировать код, чтобы лучше поддерживать стратегию развертывания, которая имеет смысл для нашей установки?
У нас есть старое и переработанное решение (казалось бы) относительно простой проблемы.Кто-нибудь может направить меня / нас в правильном направлении?
Редактировать:Я читал это вопрос и вспомнил, что у нас также есть те же области разработки / тестирования / prod, через которые должен проходить код.
Решение
Вот вопрос, который может быть уместен. текст ссылки.
Другие советы
Похоже, вы пытаетесь выполнить управление конфигурацией с помощью системы управления исходным кодом.
Subversion не будет правильным выбором, поскольку она действительно предназначена для исходного кода (ascii-файлов) и зависимостей сборки, а не для исполняемых файлов (двоичных) и зависимостей во время выполнения.
Я предполагаю, что вам действительно нужен установщик:http://en.wikipedia.org/wiki/List_of_installation_software
Или, может быть, просто скрипт для запуска правильной конфигурации с сетевого диска.