集成用两个不同 Visual Studio 版本编写的 ASP.NET 项目的最佳方式

Posted

技术标签:

【中文标题】集成用两个不同 Visual Studio 版本编写的 ASP.NET 项目的最佳方式【英文标题】:Best way to integrate ASP.NET projects written in two different Visual Studio versions 【发布时间】:2012-11-14 07:37:15 【问题描述】:

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

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

PS:投反对票的人请在投反对票之前在 cmets 中解释。 :-)

【问题讨论】:

【参考方案1】:

让第二个开发人员将他的 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 创建的项目中从头开始编写的代码的问题;他必须升级才能在代码库的这些部分工作。

【讨论】:

以上是关于集成用两个不同 Visual Studio 版本编写的 ASP.NET 项目的最佳方式的主要内容,如果未能解决你的问题,请参考以下文章

GitLab 和 Visual Studio 代码集成

Visual Studio 的集成版本控制

如何用visual studio2012编c++程序?

Tkinter 程序在 IDE (Visual Studio) 中运行良好,但是当使用 pyinstaller 编译为 .exe 时,线程的工作方式与在 IDE 中不同

用\Microsoft Visual Studio 2010编C++程序,运行时程序报错

Visual Studio 2015 各个版本有啥区别