Visual Studio 2008使用自己的解决方案文件格式,不同的构建系统(如NAnt(甚至一些复杂的MSBuild案例))都使用自己的。你如何让他们保持同步?这样做有什么最佳做法吗?任何自动脚本,插件......?
在VS下构建项目并仅使用外部构建系统是否可行?
答案 0 :(得分:0)
等等,你做错了;) VS使用SLN文件格式来确定VS解决方案设置(xml),nAnt是一个构建系统使用BUILD文件格式(xml)来确定构建任务,它不是解决方案。 MSbuild使用PROJ文件(xml)来确定构建过程和任务。 “同步”是什么意思?在我的情况下,如果项目中有一些重大更改,我只是编辑这些构建文件(我们正在使用nAnt,msbuild等)并添加适当的更改。
答案 1 :(得分:0)
使用NAnt管理构建依赖项和项目确实很麻烦,因为您需要在构建脚本和解决方案文件中维护依赖项。通常的做法是确保开发人员更新构建脚本,因为他们在解决方案中添加/删除项目,并确保您有足够的自动化烟雾测试,当您没有添加预期的部分时,您会发现这些测试。
编写一个工具来解析解决方案文件并计算项目依赖关系并不困难,但我不知道任何已存在的工具。
请注意,MSBuild是VS在内部使用的,它可以接受解决方案文件作为参数,如果你在外部运行它,它将从.sln生成一个等效的MSBuild脚本并执行它(你会看到一个.sln。缓存文件出现。)
答案 2 :(得分:0)
Paolo's answer指向正确的方向:Visual Studio创建.sln文件,MSBuild可以处理这些解决方案文件,使用NAntContrib's msbuild
task,您可以轻松地从NAnt脚本调用MSBuild。