目前,我们仍在使用2.0框架,尽管2.0提供了我们目前所需的所有必要功能,但我们迟早会转向3.5。前几天进行了一次内部讨论,讨论这次升级是否涉及任何风险,这种风险不能掉以轻心,因为我们所有的客户都还在使用2.0框架。有一位同事表示,根据3.5框架重新编译我们所有的产品会更安全,因为它需要完成新的推出。这将解决任何兼容性问题。确实有很多工作,也许是不必要的,我相信微软给予我们的框架是向后兼容的,为什么我们应该对此有任何怀疑?关于这一点我说得对吗?
发布于 2009-05-22 20:35:15
它不是100%……最重要的是,3.5和3.5SP1都包含到2.0和3.0的服务包;这些更改并不都是微不足道的。
这是一个关键问题;如果您开始在SP1 中使用类型,即使是在您认为是2.0的环境中,它在“正确的”2.0客户端上也会失败。有一个FX cop工具可以帮助避免这种情况,IIRC。其次,(在服务包中)对核心内部的内容进行了更改-例如,池线程的数量(或者是池线程的堆栈大小……那个区域的东西),如果你不走运,它可能会咬你。
此外,2.0代码中也有错误修复;如果您碰巧(偶然地)依赖于service pack (SP1/SP2)中更改的行为...
但是也不要忘记你现在有这个问题;如果你的客户安装了 3.5,那么他们已经安装了2.0 service pack ;-p
因此,不要完全否定它--但如果你采取了适当的预防措施(通过测试),它应该是可以实现的。
发布于 2009-05-22 20:35:11
我注意到的最大的一件事是安装.net 3.5,你得到的是.net 2.0 SP1。Hanselman有一个显示变化的post (“红色比特”)。
就我个人而言,如果这能让你感觉好一点,我没有问题。
发布于 2009-05-22 20:35:17
当我们从2.0框架迁移到3.5版时,我们能够做到这一点,没有任何问题。原因是3.5框架本质上是2.0框架的扩展,这就是为什么当你进入IIS为网站设置.NET框架时,你看到的是.NET 2.0,而不是3.0 / 3.5 (作为示例)。
现在,关于你的客户仍然使用2.0框架的问题,你需要确保的是,你的开发人员将他们的集成开发环境设置为在2.0框架下编译VS2008,而不是3.5,直到你的客户升级。这是为了确保任何3.5功能,如LINQ,不会被利用并编译到应用程序中,并在部署应用程序时导致错误。
https://stackoverflow.com/questions/899847
复制相似问题