【发布时间】:2009-09-25 15:25:53
【问题描述】:
抱歉有点含糊不清,但我现在领导的项目也是如此。我继承了大量各种内部工具,并试图围绕每个工具建立统一的构建系统。我们拥有的一些项目(几十个)主要是基于 .NET 的 Web 项目 C#,其中一些是 Web-服务和一些网络应用程序。这些应用程序是在过去 6 年中构建的,因此 .NET 版本从 2 到 3.5 不等。最糟糕的部分 - 所有应用程序都是使用 VS 构建的,没有一个具有命令行构建。
要求是:我应该能够从 SVN 签出代码并完全从命令行构建任何或所有项目,无需输入提示,因此最终可以集成到 TeamCity(持续集成工具)
我有 C/C++、Java 背景,所以我做了一些研究,一切似乎都指向 MSBuild 作为工具。在过去的 2 周里,我从我们的 .NET 开发人员那里听到的所有消息:“这很难,不可能,我们不知道该怎么做”所以现在问题来了:
- 是否可以仅使用命令行构建来改造任何现有的 .Net 项目?如果有限制,那会是什么?
- 我是否需要完整版本的 VS 来执行构建和部署,或者是否有一些较小的替代方案(同样,最终项目将在没有 GUI 的持续集成盒上构建)
- 我可以将代码(来自 SVN)检出到任何目录吗?目前我被告知我需要将代码放入配置为由 VS“监控”的“特殊位置”
- 如何管理外部依赖?目前,我从团队那里听说,任何 3rd 方库都需要在使用 UI 构建之前“预安装”,团队为我提供的最佳解决方案是“安装和创建 VM”
您的建议将不胜感激
【问题讨论】:
标签: .net msbuild build-process