Методы управления исходным кодом

Я записал изрядное количество программного обеспечения за последние годы, большинство которых все склонны совместно использовать одну или несколько общих библиотек. (Наиболее распространенная библиотека, будучи той, которую я использую для вызова хранимых процедур SQL и возврата массивов объектов),

Я не доволен способом, которым я управляю библиотеками, и я ищу предложения для улучшения способа, которым я работаю.

В первый раз я создал то, что является теперь общей библиотекой, я добавил библиотеку как отдельный проект библиотеки классов в решении.

Теперь, когда я запускаю новое решение, и я знаю, что испытываю необходимость в библиотеке, которую я уже имею, я пойду и найду проект библиотеки и скопирую файлы в новое решение.

Это оставляет меня с несколькими копиями тот же проект библиотеки отмеченный точкой вокруг моей файловой системы (и сервер SVN), и это просто не чувствует себя хорошо.

Существует ли лучший способ работать, так, чтобы у меня только была одна основная копия этой библиотеки, которую все решения совместно используют, а не каждое решение, имеющее его собственную копию проекта библиотеки?

5
задан JasonMArcher 13 July 2015 в 02:24
поделиться

4 ответа

Просто создайте библиотеку один раз и укажите скомпилированный двоичный файл из вашего проекта, который должен его использовать.

В Visual Studio щелкните проект правой кнопкой мыши и выберите «Добавить ссылку», затем выберите вкладку «Обзор» и найдите двоичный файл своих библиотек.

(Очевидно, вам потребуется распространить сборку библиотеки вместе с вашим приложением)

5
ответ дан 14 December 2019 в 01:06
поделиться

Вам нужно просто создать dll с вашей библиотекой, а затем просто сослаться на нее ..

Ссылки> Добавить ссылку в VS.

1
ответ дан 14 December 2019 в 01:06
поделиться

Ваше мнение абсолютно верно. Должен быть только один мастер библиотеки источник .

В нашем магазине у нас есть несколько проектов общих библиотек, используемых в нескольких продуктах. Мы рассматриваем эти библиотеки как сами продукты и относимся к ним соответственно. В частности, когда проекту требуется одна из этих библиотек, мы помещаем скомпилированную версию библиотеки в папку lib в проекте. Мы избавляемся от необходимости копировать исходный код, и наш проект ссылается только на стабильную копию dll.

Вот пример структуры в репозитории

 / LibraryX <- корень продукта 
 ../branches
 ../tags
 ../trunk <- папка решения 
 ../LibraryX <- папка проекта 
 ../lib <- сторонние библиотеки, используемые LibraryX 
 
 / ProductY <- корень продукта 
 ../branches
 ../tags
 ../trunk <- папка решения 
 ../ProductY <- папка проекта 
 ../lib <- сторонние библиотеки 
, используемые ProductY, например копия LibraryX.dll 
 

Итак, в проект ProductY вместо того, чтобы включать копию проекта LibraryY, вы добавляете ссылку на LibraryX.dll, находящуюся в папке lib.

2
ответ дан 14 December 2019 в 01:06
поделиться

Я бы посоветовал скомпилировать вашу библиотеку в dll, которую можно добавить в качестве ссылки на любой другой проект, над которым вы работаете. Тогда вам не нужно везде копировать исходные файлы.

1
ответ дан 14 December 2019 в 01:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: