Обычно это происходит, когда команды регистрируют файлы, которые не следует регистрировать (например, файл .suo), или «оптимизируют» свои сборки для исключения редко изменяемых проектов.(снимите флажки в проектах в диспетчере конфигурации.)
Другая распространенная причина отсутствия ссылок - это когда разработчики ссылаются на зависимость из папки / bin вместо папки пакетов, но, похоже, вы подтвердили, что это не такдело.
Другие вопросы, такие как Файл метаданных '.dll' не найден перечислите ряд вещей, которые нужно проверить, поэтому ваша проблема наверняка будет одной из них.Попробуйте построить каждый проект индивидуально, работая от проектов, не имеющих проектных зависимостей, выше, чем основной проект (ы) приложения.Убедитесь, что они используют одинаковые версии .Net, проверьте пакеты NuGet решения на наличие зависимостей с «несколькими версиями» и объедините их так, чтобы решение использовало одну версию каждой зависимости.(как правило, подходит для очистки). Также посмотрите на файлы .config для перенаправления версий, которые иногда зомбируются в системе контроля версий.