1

我知道这是一种奇怪的情况,但考虑一下两个程序员正在处理一个项目的情况。一位程序员正在 Visual Studio 2012 中使用 ASP.NET 开发数据库驱动的网站,而另一位程序员正在同一数据库驱动的 ASP.NET 网站的另一部分开发 Visual Studio 2008。

您认为整合这两个代码的最佳方式是什么?

PS:投反对票的人请在评论中解释,然后再投反对票。:-)

4

1 回答 1

3

让第二个开发人员将他的 VS 副本更新到 2012。如果您正在使用两个不同版本的 VS,您将非常简单地无法让任何一个开发人员在使用另一个构建(或升级到)的代码库的任何部分上工作版本。

一旦每个人都在同一个平台上工作,从而可以毫无错误地加载和构建相同的解决方案、项目和源代码文件,“集成”两个代码库就变得相当简单。当然,转换过程可能不是那么简单。

我的第一步是确保对整个代码库进行了可靠的备份;您可以将平面文件复制到文件存储中,或者更可靠的是,您可以使用像 Subversion 这样的集中式 VCS 来确保代码库的单个权威副本按原样存在并且可以轻松检索。然后,当 2008 开发人员将他的机器更新到 2012 时,让 2012 开发人员拉出整个代码库并加载 2008 开发人员一直在使用的任何解决方案,并运行转换向导。此向导将更新项目和解决方案文件背后的 XML 以支持新 IDE 版本的功能。

如果您绝对不能让两个开发人员都使用同一个 IDE 版本,那么仍有希望。让 2012 年的开发人员在他的副本中打开一个新的解决方案文件,然后拉入 2008 年的项目。如果 VS 要求转换它们,你就是 SOL;另一个开发者必须升级,否则 2012 年的开发者将不得不恢复。但是,如果 IDE 没有抱怨,2012 开发人员可以以不同的名称保存新解决方案,并使用该解决方案文件处理项目及其源代码,而 2008 开发人员可以继续使用原始解决方案。明白只要这种状态继续下去,2012 dev 就不能使用 C# 4.0/4.5 的任何特性,比如动态类型、协变/逆变关键字、可选参数/命名参数、async/await 关键字等都不能用在2008 开发人员必须保持可用的任何源代码。语言方面,2012 年的开发人员仅限于 C# 3.0 和 .NET Framework 3.5。这并不能解决 2008 开发人员无法访问 2012 开发人员在该 IDE 创建的项目中从头开始编写的代码的问题;他只需升级即可在代码库的这些部分工作。

于 2012-11-26T19:22:34.587 回答