人们一直在为以下问题开发自己的解决方案:
用于远程信息交换的一致消息传递框架(webservices,rpc,...)
SDK用于状态管理,例如有限状态机和工作流
身份验证框架
以及更多.
在过去的2年现在,微软提供.NET 3.0包含了工作流程,通信,身份验证和构建Web应用程序的新方式一致和有据可查的所谓的基础.
然而,......人们仍然在构建自己的框架,使用一致的对象关系映射来解决他们的数据库,自己的技术在运行时动态扩展类和方法(例如,客户能够自定义应用程序行为).
对于超过一年的现在,微软提供.NET 3.5其中-除其他-包含LINQ和为此一个伟大的ORM和奇妙的手段来扩展你的代码,使之更容易编写代码毕竟.
但环顾四周......似乎大多数人仍然使用.NET 2.0.网站是在纯ASP.NET中创建的.通过CSS,JavaScript和HTML的组合仍然可以实现桌面体验.可执行文件使用普通的WinForms,工作流程通过委托,事件,do/while和switch/case实现.
没有太多的讨论,我很高兴看到以下问题的具体原因:
在您看来:为什么人们不会跳上.NET 3.5列车?
出于同样的原因,我知道仍然使用Java 1.4编写代码的Java开发人员变得昂贵,并且对于那些在使用新技术比使用新技术更重要的公司内部工作的人来说,往往毫无意义.
对于大量内部工作而言,没有理由将旧应用程序升级为在较新的环境中工作.
此外,对于各种稳定性问题,大型公司并不喜欢任何变化,你仍然会发现他们决定在新解决方案中使用旧技术仅仅是因为他们认为新技术不够稳定,对它不够了解或者他们依赖的软件还不够支持它.
而且,我从来没有使用它,所以我不能说,但可能是这样的情况,.NET 2足以满足人们的需求,并且.NET 3.5不足以提供足够的证据来保证学习/改变参与其中,即使对于那些处于最前沿的公司也是如此.
需要学习新东西,许多"只是一份工作"LOB开发人员不能被打扰.
遗留代码投资,可能不需要自定义系统,但是它们可以工作,如果现有系统没有被破坏,重新编码使用基于框架的系统的东西是浪费时间.
开发软件成本.在.net 3.x中有效编码确实需要VS2008.将整个开发团队升级到2005年可能会花费成本.
稳定性.2.0是1.1框架的演变.3.0和3.5包括新的v1技术(您列出的那些).开发人员喜欢看到这些技术证明了自己能够证明自己的经理能够证明自己的价值.与Windows采用一样,您可能会看到更多人从VS2005到VS2010和.net 2.0到.net 4.0,因为它将包含3.x技术的v2.