Использование NAnt для управления зависимостями сборки и проектами действительно проблематично, поскольку необходимо поддерживать зависимости как в сценарии сборки, так и в файле решения. Обычная вещь заключается в том, чтобы разработчики просто обновляли сценарии сборки при добавлении / удалении проектов в решения и обеспечили достаточное количество автоматических дымовых тестов, которые вы обнаружите, когда ожидаемые части не были добавлены.
Нетрудно написать инструмент для анализа файла решения и определения зависимостей проекта, но я не знаю ни одного из них, которые уже существуют.
Обратите внимание, что MSBuild - это то, что VS использует внутренне, и она может принять файл решения в качестве аргумента, если вы запустите его извне, он сгенерирует эквивалентный скрипт MSBuild из .sln и выполнит его (вы увидите .sln. файл кеша появляется).