В компании, в которой я работаю, у нас есть проект «Утилита», на который ссылается практически любое приложение, которое мы создаем. У него есть много вещей, таких как NullHelpers, ConfigSettingHelpers, Common ExtensionMethods и т. Д.
Способ, которым мы работаем, заключается в том, что, когда мы хотим создать новый проект, мы получаем последнюю версию проекта из системы контроля версий, добавляем ее в решение, а затем ссылаемся на проект из любых новых проектов, которые добавляются в решение.
Это сработало нормально, однако была пара случаев, когда люди вносили «критические изменения» в общий проект, который работает для них, но не работает для других.
Я думал, что вместо того, чтобы добавлять общую библиотеку в качестве ссылки на проект, возможно, нам следует начать разработку общей библиотеки в виде автономной библиотеки DLL и публиковать разные версии и нацеливать конкретную версию для конкретного проекта, чтобы можно было внести изменения без риска для других проектов, использующих общую библиотеку.
Сказав все это, мне интересно посмотреть, как другие ссылаются или используют свои общие библиотеки.