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