Как настроить несколько версий .NET Framework из MSBuild?

Я улучшаю сборки для проекта с открытым исходным кодом, который в настоящее время поддерживает .NET Framework v2.0, v3.5 и теперь v4.0. До сих пор я ограничился v2.0 для обеспечения совместимости, но с VS2010 мне интересно иметь реальные целевые сборки.

Я ищу некоторые рекомендации по редактированию MSBuild csproj/sln, чтобы иметь возможность производить сборки для каждой цели. Я хочу иметь сложность в csproj и в пакетном файле для управления сборкой.

Моя цель - иметь командную строку script, которая могла бы создавать сборки без необходимости установки Visual Studio, но только необходимые .NET Framework (ы). В идеале я хотел бы минимизировать зависимости от дополнительного программного обеспечения. Я замечаю, что многие люди используют NAnt (например, Ninject строит много целей с NAnt), но я не уверен, что это необходимо или если они просто более знакомы с ним.

Я уверен, что это можно сделать, но у меня проблемы с поиском окончательного руководства по его настройке и лучшим практикам.

Бонус: мой следующий шаг после получения этой настройки будет заключаться в лучшей поддержке Mono Framework. Любая помощь в том, чтобы делать то же самое для Mono, была бы очень признательна.