.NET Framework-何时升级?

.NET Framework-何时升级?,.net,.net,我面临着一个挑战,那就是领导两个(目前)独立的.NET开发小组,采用不同的开发策略。一个小组正在.NETFramework2.0上开发(3.5上可能有一些应用程序)。另一组立即采用任何新出现的框架,并开始用它编写任何新的应用程序(他们运行的是2.0-4.0应用程序)。对于最后一个组,使用比最新框架更早的版本编写的应用程序不会得到升级 对于开发web应用程序的公司来说,当前的想法是什么?何时采用新框架,是否将基于以前版本构建的应用程序迁移到最新框架?几年前,人们的想法是等到这项技术成为主流——但现

我面临着一个挑战,那就是领导两个(目前)独立的.NET开发小组,采用不同的开发策略。一个小组正在.NETFramework2.0上开发(3.5上可能有一些应用程序)。另一组立即采用任何新出现的框架,并开始用它编写任何新的应用程序(他们运行的是2.0-4.0应用程序)。对于最后一个组,使用比最新框架更早的版本编写的应用程序不会得到升级

对于开发web应用程序的公司来说,当前的想法是什么?何时采用新框架,是否将基于以前版本构建的应用程序迁移到最新框架?几年前,人们的想法是等到这项技术成为主流——但现在这似乎不太适用于.NET。

(以下是我的个人观点,基于在相同的公司环境中使用.NET大约1年半的经验。其他观点肯定与我不同。)

可能考虑的最重要的事情是他们的客户机上安装的.NETFramework版本。

例如,我们的主要客户机在所有(>5000)台机器上都安装了.NET 3.5和Silverlight 3。虽然我们非常希望针对版本4框架进行开发,但在客户的IT人员最终决定部署这些框架之前,这并不是一个真正的选项。(我们预计这种情况最终会在2011年年中左右发生。但是客户端有很多机器,所以时间总是比您希望的要长。它们还在所有桌面机器上运行Windows Vista。换句话说,大型客户端采用较新的.NET framework版本的速度可能较慢。这是另一件需要记住的事情。)


但是,我认为现在您的客户应该已经安装了.NET3.5,这是安全的。NET 2已经慢慢成为过去,您甚至可以停止在桌面计算机上支持.NET 1.1。

我运行开发团队的方式是,在考虑团队和我们支持的客户的需求的同时,为单个项目做最好的事情

通常,升级提供了新功能,使编写代码以实现客户可能需要的功能变得更容易/更快。然而,升级有一个明显的成本-有时需要新的培训,有时向后兼容性有问题(特别是对于任何非平凡的应用程序)。当然,所有这些都要花钱

在大多数情况下,我试图让我的团队保持在最前沿,因为我们(通过经验)了解到,维护各种版本的框架可能会造成很多混乱,最终需要与一次性升级相同或更多的成本。话虽如此,我们有几个客户特别不希望我们升级。当然,这些都是特殊情况,但我们会根据需要进行管理


基本上,总结一下答案——决定什么对你最重要。新功能?成本节约(您需要考虑多种成本-开发和客户成本)?可维护性?支持?一旦您决定了这些事情,并且收到了开发团队的意见,答案应该相当清楚。

我们有一个双人商店。如果由我决定,我们会在.NET和Visual Studio的新版本发布后立即升级。我的搭档更为谨慎,他更愿意等待至少6个月,看看是否有任何已知的问题出现

无论哪种方式,我认为最好是合理地快速更新,而我的伴侣的方法虽然让我感到沮丧,但也有道理,所以我跟随她的领导。我最担心的是我们需要保留多少版本的VisualStudio来支持较旧的应用程序。我们仍然有VB6(和一个FoxPro for DOS)应用程序,因为我们的前辈从未想过升级。我们生活在恐惧中,担心需要对其中一个应用程序进行修改。它通常以重写结束,因为旧代码太糟糕了(或者我们不擅长阅读旧代码)

我认为随着一套新工具的出现,合理快速地升级程序和代码库是非常明智的。通常,迁移工具在相对新到新的转换中工作得更好,而不是非常旧到新的转换。这只会让生活更轻松