用于Visual Studio项目的独立构建系统

Eri*_*ill 5 c# visual-studio

我们使用Make来编译我们的产品,包括C,C++,Java和其他一些零碎的东西.我们尽可能地拥有将整个事物编译到源代码控制中所需的所有工具,以消除本地依赖关系并确保dev机器之间的一致性.

最近我们使用Visual Studio添加了一些用C#编写的组件,并希望采用与Visual Studio解决方案类似的方法.向外倾斜devenv不是一个好选择.csc.exe直接调用(正如我在使用Nant之前所做的那样)需要在构建脚本中跟踪文件依赖性,我宁愿让Visual Studio解决方案这样做.

MSBuild似乎是一个不错的选择,虽然它的默认位置%windir%\Microsoft.NET\Framework\[version]\让我担心机器之间的可变性,无论是路径中的[版本]还是你将看到"Framework"和"Framework64"目录的事实.我不介意要求所有开发人员安装任何.NET框架版本,但我确实担心你的v3.5可能与我的不同.

有没有人有他们喜欢的解决方案?尝试过你真正不喜欢的事吗?

nit*_*one 6

MSBuild是最低摩擦力的选择.不同的fx版本在构建时并不是那么重要 - 如果你使用的fx版本比安装的更高,那么它就不会构建.在我最后一个地方,我们构建了一个以NAnt为基础的庞大的多环境构建系统,并通过NAnt的MSBuild任务连接到MSBuild.如果你只是做MS的话,MSBuild本身就很好,但我们有一些MSBuild本身不支持的东西,因此是NAnt包装器.