.NET 3.5于11/06发布于11/07 .NET 3.0。为什么大多数人仍在使用.NET 2.0?

时间:2008-10-01 10:42:07

标签: .net .net-3.5 .net-2.0 .net-3.0

人们一直在为以下问题开发自己的解决方案:

  • 用于远程信息交换的一致消息传递框架(webservices,rpc,...)
  • 用于状态管理的SDK,用于诸如有限状态机和工作流程之类的东西
  • 身份验证框架
  • 还有更多。

对于两年现在,Microsoft提供了.NET 3.0,其中包含一致且记录完备的所谓工作流基础,通信,身份验证以及构建Web应用程序的新方法。

然而,......人们仍在构建自己的框架,使用一致的对象关系映射来解决他们的数据库,拥有在运行时动态扩展类和方法的技术(例如,客户能够自定义应用程序行为)。

对于超过一年现在,Microsoft提供了.NET 3.5,其中包含LINQ,因此有一个很好的ORM和极好的方法来扩展代码并使代码编写更加容易

但环顾四周......似乎大多数人仍然使用.NET 2.0。网站是在纯ASP.NET中创建的。通过CSS,JavaScript和HTML的组合仍然可以实现桌面体验。可执行文件使用普通的WinForms,工作流程通过委托,事件,do / while和switch / case实现。

如果没有太多讨论,我很高兴看到以下问题的具体原因:

在您看来:为什么人们不会跳上.NET 3.5火车?

15 个答案:

答案 0 :(得分:13)

出于同样的原因,我知道仍然使用Java 1.4编写代码的Java开发人员变得昂贵,并且对于那些在使用新技术比使用新技术更重要的公司内部工作的人来说,往往毫无意义。

对于许多内部工作而言,没有理由将旧应用程序升级为在较新的环境中工作。

此外,对于各种稳定性问题,大型公司并不喜欢任何改变,你仍然会发现他们决定在新的解决方案中使用旧技术只是因为他们认为新技术不够稳定,知之甚少关于它或它们所依赖的软件是否足够支持它。

并且,我从来没有使用它,所以我不能说,但可能是这样的情况,.NET 2足够满足人们的需求,并且.NET 3.5不足以提供学习/改变这种情况,即使对于那些处于最前沿的公司也是如此。

答案 1 :(得分:5)

  1. 需要学习新东西,许多“只是一份工作”LOB开发人员不能被打扰。
  2. 传统代码投资,可能不需要自定义系统,但它们可以工作,如果现有系统没有被破坏,重新编码使用基于框架的系统的东西是浪费时间。
  3. 开发软件成本。在.net 3.x中有效编码确实需要VS2008。将整个开发团队升级到2005年可能会花费成本。
  4. 稳定性。 2.0是1.1框架的演变。 3.0和3.5包括新的v1技术(您列出的那些)。开发人员喜欢看到这些技术证明了自己能够证明自己的经理能够证明自己的价值。与Windows一样,您可能会看到更多人从VS2005到VS2010和.net 2.0再到.net 4.0,因为它将包含3.x技术的v2。

答案 2 :(得分:4)

因为它不是很好的支持网络托管公司。

我正在开发一个新的Web应用程序,但我的托管公司只提供ASP.NET 2.0支持。

答案 3 :(得分:3)

如果您需要Windows 2000支持,则必须使用.NET 2.0。无论如何,它并没有那么糟糕。

答案 4 :(得分:3)

我可以为自己和我的公司说话。我们仍然不使用它。 为什么?好

1 - 我们的大多数用户已经安装了.NET 2.0框架。无需安装其他框架 2 - 我们不会因为它是新事物而改变。它必须增加一些价值。
3 - 真正还清这项改变意味着大量的工作。再来一次,它必须得到回报。
4 - 就错误和新问题而言,现在判断它是否值得(一年还不够)还为时尚早。但这似乎值得。

答案 5 :(得分:2)

.NET 3.0包含对新项目很有用的东西,但许多现有项目为了更新而不想采取的东西 - 需要进行大量的返工才能集成任何项目。

至于此:

  

一年多来,微软提供.NET 3.5

一年前的2007年11月是怎样的?是的,.NET 3.5非常棒,我喜欢 LINQ(特别是对象的LINQ)和C#3.0的好处 - 但改变总是涉及成本。首先,推出Visual Studio 2008的成本很高。然后是针对.NET 3.5(现在是.NET 3.5SP1)重新测试所有内容的成本。然后是将.NET 3.5部署到所有服务器的成本,或者在所有客户端上需要.NET 3.5的成本。哦,更不用说实际学习以高效的方式使用所有新技术的成本了。

它会发生,但你不应该期望非常快。

答案 6 :(得分:2)

要为@ SCdF所说的内容添加一个注释,任何拥有大量IT人员但不以开发人员为中心的公司(即多数人)通常会对新技术产生严重抵制。

IT部门往往落后于开发人员的角度,因为他们没有看到升级到新系统/硬件的商业价值只是为了保持领先地位。 IT部门忙着处理开发人员试图让他们升级到.Net 3.5的安全和维护(真实的或只是感觉到的)。

与其他部门就业务价值进行沟通时,开发人员也是出了名的不好。当开发人员试图通过升级到.Net 3.5来获取IT或业务时,他们开始谈论自动化工作流程和XML以及Web服务,而不是谈论美元和美分。

微软的Brian Prince对“软技能”有一个非常好的演示,其中包含了一些内容。如果你很好地问他,他可能会来你公司并出席:)

答案 7 :(得分:2)

我问过前雇主的经理他为什么还没有进行转换,答案是“我不想支持三个框架”,意思是1.1,2.0,3.5。

我解释说升级到3.5与从1.1切换到2.0不同(3.5是使用不同的dll(Core.dll)的2.0的扩展,而不是像1.1到2.0的更新的dll)。

我可以看到很多经理都在使用这种思路,所以由你决定让他们知道!

答案 8 :(得分:1)

2.0有效,对吗?我认为新的东西很棒很酷,我喜欢熬夜,但最终如果有效,通常决定坚持你拥有的东西。我支持一家运行DOS 6.2x程序多年的商店(直到2004年),我用它来讨论它。但最终,在这种情况下没有令人信服的商业理由来花费任何东西来推进。

我确信还有其他原因。

答案 9 :(得分:1)

对于所有新项目,我尝试使用3.5(或者最新的框架)。但是所有旧网站,为什么客户在工作时会支付优惠费用?

如果您想要3.5中的特定技术,那么升级,但除非;不要修复没有损坏的东西..

答案 10 :(得分:1)

我有兴趣看看2.0在获得“多数市场份额”之前已经有多长时间了 - 我的意思是,1年或2年对你我来说可能听起来很长,但你必须要记住必须释放新语言,然后人们必须对其进行培训,然后他们必须非常清楚地将其“出售”给管理层。此外,VS2005对于不少人而言“足够好”,升级到VS2008以支持更新的语言版本需要花费成本 - 不仅仅是金钱,还有时间。

答案 11 :(得分:1)

大多数人仍在使用Windows XP的原因相同!

答案 12 :(得分:1)

几个工作前,我处于一个有趣的情况。作为该公司ASMX Web服务的原作者,我被问及对它们进行版本控制。特别值得关注的是,我将这些服务建立在手工制作的XSD上,并且没有其他人真正理解XSD。

我建议使用WCF,因为它们不需要自定义XML格式,也不必使用XSD:只需在代码中定义数据协定。

即使在我解释.NET 3.5 SP1相当于.NET 2.0的几个服务包以及一些新的程序集之后,他们仍然看着我,就像我即将变得暴力一样。 显然,升级.NET版本是一个漫长而昂贵的过程。 .NET 1.1 .NET 2.0迁移的经验教训。

朝着正确方向迈出的一小步,就向WCF的迁移而言:见ASMX Web Services are a “Legacy Technology”

答案 13 :(得分:0)

对于政府处理,3.5框架尚未批准用于某些环境,因此您不得不使用2.0或3.0。

答案 14 :(得分:0)

最大的挑战是证明升级业务的合理性,特别是现在我们处于全球经济衰退期。

3.5必须有一个特定的优势或技术,你的项目(可能是绿地)绝对离不开,推动它。

我正试图在一家大公司中整理一个案例,因此商业利益必须超越现状。在目前的情况下,“维持人才”也不会削减它,特别是随着越来越多的候选人的涌入。