我知道这是一种奇怪的情况,但考虑一下两个程序员正在处理一个项目的情况。一名程序员正在Visual Studio 2012中的ASP.NET中处理数据库驱动的网站,而另一名程序员则在同一数据库驱动的ASP.NET网站的另一部分上处理Visual Studio 2008。
您认为集成这两个代码的最佳方式是什么?
附言:落选者请在落选前在评论中解释。:-)
让第二个开发人员将他的VS副本更新到2012年。如果您使用两个不同版本的VS,那么任何一个开发人员都无法处理与另一个版本一起构建(或升级到)的代码库的任何部分。
一旦每个人都在同一个平台上工作,从而可以毫无错误地加载和构建相同的解决方案、项目和源代码文件,那么"集成"这两个代码库就变得相当琐碎了。当然,转换过程可能并不那么琐碎。
我的第一步是确保对整个代码库进行可靠的备份;您可以将平面文件复制到文件存储中,或者更可靠的是,您可以使用像Subversion这样的集中式VCS来确保现有代码库的单个权威副本,并且可以轻松检索。然后,当2008开发人员将其机器更新到2012时,让2012开发人员提取整个代码库,加载2008开发人员一直在使用的任何解决方案,并运行转换向导。此向导将更新项目和解决方案文件背后的XML,以支持新IDE版本的功能。
如果你绝对不能让两个开发人员都使用同一个IDE版本,那么还是有希望的。让2012年的开发人员在他的副本中打开一个新的解决方案文件,并引入2008年的项目。如果VS要求转换它们,那么您就是SOL;另一个开发将不得不升级,或者2012年的开发将不得不恢复。但是,如果IDE没有抱怨,2012年的开发人员可以用不同的名称保存新的解决方案,并使用该解决方案文件处理项目及其源代码,而2008年的开发可以继续使用原始解决方案。要明白,只要这种情况持续下去,2012开发人员就不能使用C#4.0/4.5的任何功能,如动态类型、协方差/逆变关键字、可选参数/命名参数、异步/等待关键字等。2008开发人员不能在任何必须保持可用的源代码中使用。从语言角度来看,2012开发程序仅限于C#3.0和.NET Framework 3.5。这并不能解决2008年开发人员在IDE创建的项目中无法访问2012年开发人员从头开始编写的代码的问题;他只需要升级就可以在代码库的这些部分工作。