我们正在使用TeamCity进行持续集成,并通过解决方案文件(.sln)构建我们的发行版。过去,我曾在各种系统上使用过Makefile,但从未使用过msbuild(我听说这有点像Makefiles + XML mashup)。我已经看到很多关于如何直接使用msbuild而不是解决方案文件的文章,但是我对为什么要使用msbuild并没有一个很明确的答案。
那么,为什么还要麻烦从解决方案文件迁移到MSBuild“ makefile”呢?我们确实有几个版本,它们之间的区别是#define(功能完善的版本),但大多数情况下一切正常。
更大的问题是,现在添加项目/源代码时,我们必须维护两个系统。
更新:
人们能否阐明以下三个组成部分的生命周期和相互作用?
- Visual Studio .sln文件
- 许多项目级别的.csproj文件(据我了解,这是一个“子” msbuild脚本)
- 自定义msbuild脚本
可以肯定地说,在自定义msbuild脚本是手写的并且通常以“原样”使用已经存在的单个.csproj的情况下,从Visual Studio IDE GUI照例使用/维护.sln和.csproj吗?这是我可以看到减少维护重叠/重复的一种方式...
希望从其他人的操作经验中得到一些启发
Because it's reputed to be better practice
哪里?
So, why should we bother migrating from solution files to an MSBuild 'makefile'?
首先,您必须告诉您为什么还要考虑?解决方案文件不够吗?