如何从MSBuild定位多个版本的.NET Framework?

mck*_*mey 12 c# msbuild .net-4.0 .net-3.5

我正在改进一个开源项目的构建,该项目目前支持.NET Framework v2.0,v3.5和现在的v4.0.到目前为止,我已经限制自己使用v2.0以确保兼容性,但是对于VS2010,我感兴趣的是拥有真正的目标版本.

我正在寻找关于如何编辑MSBuild csproj/sln以便能够为每个目标干净地生成构建的一些指导.我愿意在csproj和批处理文件中有复杂性来控制构建.

我的目标是能够拥有一个命令行脚本,可以在不需要安装Visual Studio的情况下生成构建,但只能创建必要的.NET Framework.理想情况下,我希望尽量减少对其他软件的依赖.我注意到很多人使用NAnt(例如Ninject使用NAnt 构建了许多目标),但我不确定这是否是必要的,或者他们是否更熟悉它.

我很确定这可以做到,但我很难找到关于设置和最佳实践的权威指南.

奖励:设置完成后我的下一步将是更好地支持Mono Framework.对Mono做同样事情的任何帮助都将非常感激.