У меня есть специальная папка в нашем хранилище для сторонних библиотек и библиотек DLL, на которые могут ссылаться все проекты.
Что касается версии, я делаю это на индивидуальной основе. Для некоторых библиотек, которые не обновляются часто или которые я не планирую обновлять до последней версии, если она выйдет, я просто помещаю туда DLL.
Однако для основных библиотек, которые часто обновляются, я обычно делаю следующий шаблон:
<LibName>/Current/<LibName>.dll
<LibName>/v1.1/<LibName>.dll
<LibName>/v1.2/<LibName>.dll
Большинство проектов просто ссылаются на dll в папке «Current». Однако, если есть проблема, они могут ссылаться на более старую. Преимущество здесь в том, что если вы обнаружите проблему, очень легко переключать ссылки, чтобы увидеть, существует ли она в более старой версии.
ПРИМЕЧАНИЕ: если проект зависит от другого проекта, вам нужно использовать одну и ту же версию между проектами, поэтому лучше постараться, чтобы все использовали самую последнюю версию, если это возможно.