代码之家  ›  专栏  ›  技术社区  ›  terjetyl

为什么不升级到最新的.NET框架?

  •  14
  • terjetyl  · 技术社区  · 16 年前

    我看到很多人都把.NET 2.0甚至1.1作为他们项目的需求。在我自己的工作场所,对于升级到最新和最棒的.NET框架也存在很多怀疑。

    作为一个程序员,当你知道你可以用新的框架做的这么容易的时候,我觉得用旧的框架工作是非常令人沮丧的。我通常安装beta版本并与它们一起玩,因此我很快就会熟悉它们,在这个过程中,忘记了以前的做法,所以当你有使用旧版本的限制时,重新学习你试图忘记的东西是很痛苦的。

    当旧版本应该兼容时,坚持使用它们的原因是什么?您如何说服人们升级?

    14 回复  |  直到 14 年前
        1
  •  17
  •   David Thornley    16 年前

    首先,了解企业升级缓慢的原因。

    计算机系统并不是大多数公司的战略优势。它们是必需的服务功能。

    因为它们是必需的,所以破坏它们可能非常昂贵。因为它们不是一个战略优势,所以能够稍微加快发展并不是一个很大的优势。

    您建议一家公司花费资源,不断升级到最新版本,以获得可能的但不确定的、不重大的收益,并有可能出现大量损坏。对于大多数公司来说,这不是一个胜利。在外面呆了一段时间后再领养是比较安全的。他们错过了一些有利因素,但避免了灾难性的不利因素。

    如果你愿意的话,你可以提出升级到最新和最好的版本,但是你可以更有效地将它应用到业务(而不是技术)中。试着从数量上找出它能让你更有效地发挥作用,因此公司能节省多少钱。(他们不会注意你所编的数字,可能会注意某个知名人物所编的数字,而且更可能相信某项研究所支持的东西。)承认不利因素,并说明可能的成本,并找到限制不利因素的方法。要非常谨慎地回避任何事情,因为决策者拒绝这类事情的经验比你提出的要多得多。

    不要提开发人员喜欢最新的东西,否则你会成为一个希望公司为新玩具买单的人,失去很多信誉。

    有时你可以得到你想要的,但知道如何去要求它会有所帮助。

        2
  •  11
  •   Heidelbergensis    14 年前

    未提及的原因是3.5框架不能安装在Windows XP之前的Windows版本上。

    支持的操作系统:Windows 服务器2003;Windows Server 2008; Windows Vista;Windows XP

    link text

        3
  •  4
  •   harpo    16 年前

    在一个新的项目上跳到一个新的框架中比较容易。

    在现有的项目中,利用新特性需要一定的工作量。在许多情况下,这些只对程序员有益。当你在做一个只需维护的项目时,有时你不得不耸耸肩说,在版本X中,这会少得多。

        4
  •  4
  •   Heidelbergensis    14 年前

    我已经将1.1项目迁移到2.0和3.5,也从2.0迁移到3.5。

    从我的经验可以看出,从2.0迁移到3.5完全没有问题。但是,我在从1.1到2.0或3.5的项目中遇到了一些错误,因此我必须建议人们在迁移1.1项目时要格外小心。

    如果你在2.0工作,我说去做吧。你会发现项目运行得更快,你可以和Linq一起玩:)

        5
  •  3
  •   annakata    16 年前

    对我来说,这完全是为了钱——2.0是为公司工作的,所以他们看不到升级的动机。

    我想这并不少见。

        6
  •  2
  •   Michael Stum    16 年前

    Scott Hanselman发表了一篇关于3.5 SP1不兼容的文章:

    http://www.hanselman.com/blog/UpdateOnNETFramework35SP1AndWindowsUpdate.aspx

    尽管这只适用于一个小的bug列表,但底线是:一个新的框架需要非常彻底的测试,而不是5分钟的任务,因为尽管它99.99%的兼容性,0.01%的不兼容性却是非常模糊和难以找到的。

        7
  •  2
  •   Rex Morgan    16 年前

    有可能,要求使用该软件的人并不一定知道该框架的最新版本。

    我看到的大多数客户机都不是技术性的,只是需要他们想要的功能。

    有些人特别要求.NET 1.1/2.0,我们可以告诉他们,如果我们使用3.5,开发成本会降低,因为它更容易使用,而且很容易让他们切换。

    有些人可能关心与他们已有的整合。如果他们已经拥有的是内置在.NET 1.1中的,那么他们可能希望坚持使用它,以保持所有内容的一致性。

    至于你自己的工作场所,我想说,负责并演示一下,你在哪里展示它有多不同,一旦你学会了如何使用它是多么容易。在.NET 3.5&vs2008中,有一个关于如何使用新的动态数据内容的精彩屏幕。我公司有不少人在看过最新版本的vs之后就安装了它。我会试试看能不能找到它的链接。

    http://blogs.msdn.com/davidebb/archive/2007/12/12/dynamic-data-screencast-is-now-available.aspx

        8
  •  2
  •   Community datashaman    7 年前

    我已经在这里发布了类似的内容: Is the C# 2.0 to C# 3.0 transition worth it for this project? 大多数人说它是兼容的,但不值得因为项目已经在进行中而改变。

    如果您真的想要框架上的新东西,那么这个转换是合理的,否则您将需要免费更新您的Visual Studio的所有许可证,并且可能需要在项目中更改一些小东西。

        9
  •  1
  •   StingyJack    16 年前

    因为它们“应该”是兼容的并不意味着它们是兼容的。版本之间总是有中断的更改。

    此外,大多数质量保证程序规定,代码变更需要重新测试该代码。更改框架将需要对代码进行完整的测试运行,并且需要更多的工时。

    最新的!=最大。只要问任何一个必须和Vista打交道的人。

    编辑:重新查看…放松,这是一个例子!有多少东西在Vista上不起作用,而在XP上却很好。在使用Windows2000之后,我很难转换到XP-还记得98有多糟糕吗?之后我不想离开我的“安全毯”。真的,这不是一个狂欢。

        10
  •  1
  •   Heidelbergensis    14 年前

    2.0相对稳定,分布较为广泛。1.1更老,这意味着它很可能是错误,它们的解决方法是众所周知的。我会很惊讶地发现一台没有安装2.0的Windows计算机。这些因素可能会产生影响。

    另外,考虑到人们可能在框架的旧版本出现之前就开始开发他们的产品。在许多情况下,如果您的应用程序是.NET 2.0应用程序,则在3.x框架中可能不需要任何内容。Visual Studio 2008可以针对2.0框架,因此没有真正迫切的需要“升级”这些应用程序。当变更没有任何好处时,验证所有的工作都正常是不值得的。

    最后,还有神话。人们喜欢相信自己的朋友,不管他们是否无知。根据您的要求,.NET Framework 3.5是50 MB、100 MB、200 MB或1.82 TB的下载。似乎人们选择的数字最多,这对目前的形势似乎是可怕的。这些人类似于鼓吹这项被称为“互联网”的新发明的危险的人,它可能使我们所有人暴露在犯罪和危险之中。 You can download the framework in as little as 28 MB. 听起来粗糙?这些天,你可以用1美元买一个能装这么多东西的USB驱动器,我还下载了重量更重的PDF文件。

        11
  •  0
  •   Binary Worrier    16 年前

    我们的许多客户对在其业务桌面上安装哪些软件有严格的限制性政策。它们甚至没有配置为在发布时接收MS自动更新,但只应用由自己的IT管理人员推出的证书更新(大多数桌面将没有Internet连接)。

    对于这些客户机,我们不能仅仅发布依赖于.NET 3.5的软件的新版本。由于这些政策,我们将在2.0上再运行18个月(至少),直到我们现有的客户决定.NET 3.5不是邪恶的,并且不会破坏他们的任何业务线软件。…在这一点上,4.0将被打破,我将不得不坐下来,对这个时髦的“新”linq东西感到高兴,而其他人都可以玩酷的新4.0功能。 叹息

        12
  •  0
  •   terjetyl    16 年前

    我认为很多人忘记了没有升级框架实际上有很多成本。

    1. 有时你必须升级。您的操作系统或其他程序将不受支持。所以这更像是一个时不时进行小升级或稍后进行大升级的问题。

    2. 大多数程序员(我认为)都想玩最新的玩具,学习新技术,以保持动力。

    3. 您将能够更快地创建程序,这当然会再次降低您的产品和项目的价格,以便保持领先的竞争,您希望在边缘。

        13
  •  0
  •   EricSchaefer    16 年前

    如果你还在开发中,还没有发布你的软件,那么切换到一个更新的FX版本(同样适用于Java运行时)是很好的。但是,如果您已经发布了,部署更新就要困难得多。在这种情况下,使用旧的外汇更容易。

        14
  •  0
  •   Heidelbergensis    14 年前

    主要的问题是,您的应用程序将需要特定版本的.NET框架;对于可能需要下载100MB或更多安装程序的最终用户来说,这并不是那么有趣。