Если два проекта в одном решении, то проектные зависимости. Если внешняя, то nuget. Если разработка dll идёт внутри компании, то приватный nuget репозиторий. И dll не будет в репозитории валяться и потом проблем с транзитивными зависимостями не будет