Мы используем Sandcastle для преобразования и Sandcastle Help File Builder в качестве пользовательского интерфейса для управления справочными проектами. На мой взгляд, прелесть Sandcastle и SHFB заключается в том, что помимо «усредненной» документации по исходному коду вы можете добавить дополнительную информацию, такую как архитектура программы, шаблоны, которым необходимо следовать, или любой дополнительный концептуальный контент для вашего проекта, который не связан непосредственно на один класс в вашей программе. Это можно сделать, создав дополнительные XML-файлы с помощью схемы авторинга Microsoft (можно отредактировать с помощью Visual Studio, поскольку XML-файл и схема для него доступны). С этими обоими инструментами довольно легко начать создавать документацию, подобную MSDN.
Давным-давно я попробовал docbook, который практически не отличается по технической части (файлы xml, содержащие информацию, и файлы xslt для преобразования в различные типы вывода). Но у нас не было выбора, потому что нет никакого преобразования, которое могло бы использовать визуальную студию, сгенерированную XML-документацию (плюс трансформация концептуального контента была для нас довольно болезненной).