Одна малоизвестная / используемая функция, с которой я постоянно работаю с несколькими ссылками и помогаю легко их обновить, это Пути ссылок в сочетании с перенаправлениями привязки. Используя ссылочные пути, я могу поддерживать разделяемую библиотеку в отдельной библиотеке классов / пакете в контроле исходного кода, которая содержит зависимую библиотеку, которую мы используем.
Имея собственную копию файлов, контролируемую отдельно (часто необходимо включить файл .license в папку с общими библиотеками, если это платная библиотека), позволяет новым разработчикам быстро убедиться, что они имеют правильная версия установлена на их компьютере, не вступая в конфликт с существующими библиотеками на вашем компьютере.
В этом подходе есть предостережение, и любые дополнительные ссылочные пути, которые вы добавляете, не хранятся в файле .csproj , а вместо этого .csproj.user . ,
Во многих готовых решениях по управлению исходным кодом, таких как Team Foundation Server или Vault; эти файлы по умолчанию не включены в процесс регистрации. Большинство поставщиков систем управления версиями, включая двух упомянутых выше, имеют возможность изменять контролируемые расширения файлов для каждого проекта, а также для всего мира.
Единственное другое предостережение - некоторые поставщики управления исходным кодом, такие как Vault, по умолчанию обрабатывают файлы .csproj и .csproj.user как двоичные файлы; опять же, это можно изменить, и они могут рассматриваться как XML в случае Vault, что позволяет выполнять слияния.
В Team Foundation Server они обрабатываются как готовые XML.