2014-01-10 225 views
6

我计划为我们的解决方案升级3pt,它将包含从VS2008 SP1升级到VS2013和.NET 3.5到4.5.1(以及MS SQL Server 2008到2012)我正在尽可能提前做好准备,以便我可以提供准确的LOE,并尽可能使过程尽可能无痛苦。不过,我还没有找到任何有关如何将解决方案从VS2008升级到VS2013的信息。对于以前做过这件事的人,是否有任何指导方针可以帮助您找到有用的或面临的问题?将Visual Studio 2008升级到2013和.NET 3.5升级到4.5.1

+1

计算需要多少时间的一种可能方法是:继续并更改目标框架(如Vincent的答案中所述),然后单击“重建解决方案”。你得到的编译错误的数量可能会告诉你一些关于它会有多难的事情。 –

+1

我认为最终只取决于产品和开发人员。我从2010年开始,发现2012年无痛,但有些人完全拒绝。我会注意到,您应该一次完成所有操作,因为解决方案转换不是向后兼容的,尽管2010+是向前兼容的。 – Magus

回答

12

不知道你的项目有多少(真的是什么),这将是很难给你一个直接的答案。不过,我可以这样说。自从第一天起,微软就向后兼容性引以为傲。在VS 2013中简单地打开项目将触发实际SLN的升级过程。这通常很痛苦。一旦完成,您仍然能够以.NET 3.5为目标,因此您无需同时从VS2008 - > VS2013 & & NET35 - > NET451跳转。

框架本身不应该给你任何严重的问题,但是任何引用的第三部分dll都可能导致(有时是严重的)问题。它们可能不再被维护,可能已经改变了名字,或者根本不存在。在这种情况下,您将需要找到一个新库来执行旧的操作,这将需要重构,最坏情况下需要进行重大重写。

这些都不考虑从NET35添加到NET45的功能,例如async/await关键字和许多许多其他功能。

由于您的问题非常模糊,除了这样做之外,很难给您一个很好的答案,VS2013的更新应该花费很少的时间,并且它会告诉您如果甚至会出现问题。一旦你这样做了,如果你甚至可以编译的话,你应该立刻把目标框架改为NET45或NET451,再次找出它。如果不这样做,你无法估计所需的工作水平。然后,您仍然必须执行所有测试,以查看运行时是否有更改。

+2

非常感谢您的信息,您的照片也非常棒。这个人不会忘记他的毛巾。 – Honanin

5

问题不在于从Visual Studio 2008升级到2013,因为您仍然可以在Visual Studio 2013中运行和编译.NET 3.5应用程序。真正耗时的过程是从.NET 3.5迁移到4.5.1,这个过程可能很短或很长,具体取决于您的应用程序的大小以及您使用的是什么技术。

通常,.NET 3.5是非常向前兼容的。

从一个运行时改变到另一个运行时(3.5到4.5)只是改变项目(目标框架)中的设置的问题。

1

请注意,Windows XP不支持.NET 4.5。如果您的解决方案需要在XP上运行,则需要保持.NET 4.0或更低版本。