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

发布于 2024-07-10 15:55:50 字数 265 浏览 5 评论 0原文

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

作为一名程序员,当您知道使用较新的框架可以更轻松地完成此操作时,我感到使用旧框架非常令人沮丧。 我通常会安装测试版并使用它们,因此我很快就会熟悉它们,并在这个过程中忘记旧的做事方式,因此当您受到使用旧版本的限制时,重新学习您试图忘记的东西是很痛苦的。

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

I see a lot of people have .NET 2.0 or even 1.1 as a requirement for their projects. In my own workplace there is also lots of skepticism for upgrading to the latest and greatest .NET framework.

As a programmer I feel it is very frustrating working with the older frameworks when you know that you could have done this so much easier with the newer frameworks. I usually install beta versions and play with them so I quickly get familiar with them and in the process forget the old way of doing things so it's a pain to relearn what you have tried to forget when you have the constraint of working with older versions.

What are the reasons for hanging on to the old versions when they should be compatible and how can you convince people to upgrade?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(14

筑梦 2024-07-17 15:55:51

对我来说,这纯粹是为了钱——2.0 正在为公司工作,所以他们看不到升级的动力。

我想这并不罕见。

For me here, it's purely about the money - 2.0 is working for the company so they see no motivation for an upgrade.

I imagine this is not uncommon.

Scott Hanselman 有一篇关于 3.5 SP1 不兼容性的文章:

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

尽管这仅适用于一小部分错误,但底线是:新框架需要非常彻底的测试,并且不是 5 分钟的任务,因为虽然它具有 99.99% 的兼容性,但 0.01 % 不兼容性是真正晦涩且难以找到的。

Scott Hanselman had an article about 3.5 SP1 incompatibilities:

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

Even though that only applies to a small list of bugs, the bottom line is: A new Framework requires a very thorough test and is no 5-minute task, because while it is 99.99% compatible, the 0.01% incompatibilities are the really obscure and hard to find ones.

悲喜皆因你 2024-07-17 15:55:51

请求该软件的人可能不一定知道该框架的最新版本是什么。

我看到的大多数客户都不是技术人员,只是要求他们想要的功能。

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

有些人可能担心与他们已有的整合。 如果他们已经拥有的内容是在 .NET 1.1 中构建的,他们可能希望坚持使用它以保持一切一致。

至于你自己的工作场所,我想说的是,你要负责并进行演示,展示它有多么不同,一旦你学会了如何使用它,它是多么容易。 有一个关于如何使用 .NET 3.5 和 .NET 3.5 中新的动态数据内容的精彩屏幕演示。 VS2008。 我公司不少人看到后都安装了最新版本的VS。 我会尝试看看是否可以找到它的链接。

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

It's possible that the people asking for the software don't necessarily know what the latest version of the framework is out there.

Most of the clients I see aren't technical and just ask for the functionality that they want.

Some ask specifically for .NET 1.1/2.0 and we're able to tell them that development costs will be reduced if we use 3.5 since it's easier to work with and it's easy to get them to switch.

Some people maybe concerned about integration with what they already have. If what they already have is built in .NET 1.1, they may want to stick with it in order to keep everything consistent.

As for your own workplace, I'd say take charge and have demonstrations where you show how different it is, how easy it is once you learn how to use it. There was a great screen cast of how to use the new dynamic data stuff in .NET 3.5 & VS2008. Quite a few people in my company got the latest version of VS installed after seeing it. I'll try to see if I can find a link to it.

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

那伤。 2024-07-17 15:55:51

我已经在这里发布了非常类似的内容: Is the C# 2.0 to C# 3.0对于这个项目来说,过渡值得吗?,大​​多数人表示它是兼容的,但不值得转换,因为项目已经在进行中。

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

I already posted something very similar here : Is the C# 2.0 to C# 3.0 transition worth it for this project?, and the majority says that it's compatible but not worth it to switch because of how the project is already in progress.

The switch is justifiable if you really want new stuff on the framework, otherwise you will need to update all your licenses for Visual Studio for nothing and may have to change a few little things in your project.

記憶穿過時間隧道 2024-07-17 15:55:51

2.0相对稳定,而且相当广泛。 1.1 版本较旧,这意味着它可能存在错误,并且其解决方法是众所周知的。 如果我发现一台 Windows 机器没有安装 2.0,我会感到非常惊讶。 这些因素可能会产生影响。

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

最后,还有神话。 人们喜欢相信他们的朋友,无论他们是否无知。 根据您询问的人,.NET Framework 3.5 的下载大小为 50 MB、100 MB、200 MB 或 1.82 TB。 人们似乎会选择对当前情况来说似乎令人恐惧的最大数字。 这些人类似于鼓吹这项名为“互联网”的新发明的危险的人,它可能使我们所有人都面临犯罪和危险。 您可以下载只有 28 MB 的框架。 听起来很粗糙吗? 如今,你只需 1 美元就能买到能容纳这么多东西的 USB 驱动器,而且我下载的 PDF 文件更重。

2.0 is relatively stable, and fairly widespread. 1.1 is older, which means it's likely bugs and their workarounds are well-known. I'd be very surprised to find a Windows machine without 2.0 installed. These factors might have an effect.

Also, consider that people might have started developing their product before an older version of the framework came out. In a lot of cases, if your application is a .NET 2.0 application, you may not need anything in the 3.x framework. Visual Studio 2008 can target the 2.0 framework, so there's no real pressing need to "upgrade" these applications. It's not really worth the QA effort to validate that everything works fine when there's no benefit to the change.

Finally, there's myth. People like to believe their friends whether or not they are ignorant. Depending on who you ask, the .NET Framework 3.5 is a 50 MB, 100 MB, 200 MB, or 1.82 TB download. It seems like people pick the largest number that seems scary for the situation at hand. Those people are akin to people who preach the dangers of this new invention called "the Internet" that could expose us all to criminals and danger. You can download the framework in as little as 28 MB. Sound rough? You can get USB drives that hold that much for practically $1 these days, and I've downloaded PDF files that weighed in heavier.

乜一 2024-07-17 15:55:51

因为它们“应该”兼容并不意味着它们就是兼容的。 版本之间总是存在重大变化。

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

最新!=最棒。 只要问问任何曾经使用过 Vista 的人就知道了。

编辑

关于Vista...放松,这是一个例子! 有多少东西在 Vista 下无法使用,而在 XP 上却可以正常使用? 在使用 Windows 2000 后,我很难转换到 XP - 还记得 98 有多糟糕吗? 在那之后我不想离开我的“安全毯”。 这不是一场狂欢,真的。

Because they "should" be compatible does not mean they are. There are always breaking changes between versions.

Also most QA procedures dictate that a change in code requires a retest of that code. Changing frameworks will require an entire test run on the code, and involve much more man hours.

Latest != Greatest. Just ask anyone who has had to deal with Vista.

Edit

Regarding Vista... relax, it's an example! How many things didn't work with Vista that were fine with XP? I had a hard time converting to XP after using Windows 2000 - remember how bad 98 was? I didn't want to leave my "safety blanket" after that. It's not a bash, really.

浅笑依然 2024-07-17 15:55:51

我们的许多客户对于可以在其业务线桌面上安装哪些软件都有严格的限制性政策。 他们甚至没有配置为在发布时接收 MS 自动更新,而只会应用由他们自己的 IT 管理人员推出的某些更新(大多数桌面都没有互联网连接)。

对于这样的客户,我们不能仅仅发布依赖 .Net 3.5 的新版本软件。 由于这些政策,我们将在 2.0 上再使用 18 个月(至少),直到我们现有的客户认为 .net 3.5 不是邪恶的并且它不会破坏他们的任何业务线软件。 。 。 到那时 4.0 将被打破,我将不得不坐下来对这个时髦的“新”linq 东西感到满意,而其他人则可以使用很酷的新 4.0 功能叹气

Many of our clients have highly restrictive policies as regards what software can be installed on their line-of-business desktops. They're aren't even configured to receive MS Automatic Updates as they're published, but will only apply certian updates, as pushed out by their own IT admin staff (most of these desktops will not have internet connectivity).

For clients like these we cannot just release a new version of our software that relies on .Net 3.5. Because of these policies we're on 2.0 for another 18 months (at least), until our existing clients decide that .net 3.5 isn't evil and that it won't break any of their line-of-business software . . . at which point 4.0 will be breaking and I'll have to sit and be happy with this funky "new" linq stuff, while everyone else gets to play with cool new 4.0 functionality sigh

执手闯天涯 2024-07-17 15:55:51

我想很多人忘记了,不升级框架实际上会带来很多成本。

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

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

    大多数程序员(我认为)喜欢

  3. 您将能够更快地创建程序,这当然会再次降低您的产品和项目的价格,因此为了在竞争中保持领先地位,您希望处于优势。

I think many people forget that there are actually many costs for not having upgraded frameworks.

  1. Sometime you have to upgrade. Your OS or other programs will become unsupported. So it is more a question of taking small upgrades every now and then or a big upgrade later.

  2. Most programmers (I think) would like to play with the latest toys and learn new technology in order to stay motivated.

  3. You will be able to create programs faster which will of course again lower the price of your products and projects, so to stay ahead of the competition you would like to be on the edge.

土豪我们做朋友吧 2024-07-17 15:55:51

如果您仍处于开发阶段并且尚未发布您的软件,那么可以切换到较新的 fx 版本(对于 java 运行时也是如此)。 但如果您已经发布了部署更新就会困难得多。 在这种情况下,保留旧的效果要容易得多。

If you are still in development and have not released your software it is fine to switch to a newer fx version (same for java runtime). But if you have already released deploying updates is much harder. In this case it is much easier to stay with the old fx.

盛夏已如深秋| 2024-07-17 15:55:51

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

The major problem is that your application will require a certain version of the .NET framework; not that fun for your end users who might have to download an installer of 100 MB or more.

晚雾 2024-07-17 15:55:50

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

对于大多数公司来说,计算机系统并不是战略优势。 它们是必要的服务功能。

由于它们是必要的,破坏它们可能会非常昂贵。 既然不是战略优势,那么能够发展得稍微快一点也不算什么大优势。

您建议一家公司花费资源不断升级到最新版本,以获得可能但不确定且不是重大的收益,并且可能会出现大量损坏。 对于大多数公司来说,这并不是一场胜利。 事物已经存在一段时间之后再采用会更安全。 他们错过了一些上行空间,但避免了灾难性下行的机会。

如果您愿意,可以继续建议升级到最新和最好的版本,但以业务(而不是技术)方式进行升级会更有效。 试着从数量上找出它能让你的效率提高多少,从而为公司节省多少钱。 (他们不会关注你编造的人物,可能会关注某个知名人士编造的人物,并且更有可能相信研究支持的东西。)承认缺点,并表明可能的成本是什么将会,并找到限制负面影响的方法。 对于捏造任何事情都要非常小心,因为决策者拒绝此类事情的经验比你提出建议的经验要多得多。

不要提及开发者喜欢最新的东西,否则你会让人觉得你是一个希望公司为新玩具买单的人,从而失去很多可信度。

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

First, understand the reasons why businesses are slow to upgrade.

Computer systems are not a strategic advantage for most of the companies out there. They are a necessary service function.

Since they are necessary, breaking them can be extremely expensive. Since they are not a strategic advantage, being able to develop slightly faster is not a large advantage.

You are proposing that a company spend resources to keep upgrading to the latest version for likely but not certain and not major gains, with the possibility of a lot of breakage. For most companies, this is not a win. It's safer to adopt things after they have been out there for a while. They miss some upside but avoid a chance of a disastrous downside.

Go ahead and propose upgrading to the latest and greatest if you like, but you'll be much more effective putting it in a business (as opposed to technical) manner. Try to find out quantitatively how much more effective it will make you, and therefore what the company can save. (They won't pay attention to a figure you make up, might possibly pay attention to one somebody well known makes up, and are more likely to believe something supported by a study.) Acknowledge the downsides, and show what the likely costs are going to be, and find ways to limit the downside. Be very wary about fudging anything, as the decision-makers have a lot more experience rejecting this sort of thing than you have of proposing it.

Don't make any mention of developers liking the latest stuff, or you'll come off as somebody wanting the company to pay for new toys, and lose a lot of credibility.

You can sometimes get what you want, but it helps to know how to ask for it.

一场信仰旅途 2024-07-17 15:55:50

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

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

链接文本

A reason not mentioned is that the 3.5 framework can't be installed on versions of Windows prior to Windows XP.

Supported Operating Systems: Windows
Server 2003; Windows Server 2008;
Windows Vista; Windows XP

link text

风轻花落早 2024-07-17 15:55:50

在新项目上跳入新框架会更容易。

在现有项目中,需要一定的工作量才能利用新功能。 很多时候,这些只是对程序员有利。 当您从事仅维护项目时,有时您只需耸耸肩并说,这在版本 x 中的代码会少得多。

It's easier to jump into a new framework on a new project.

On existing projects, it takes a certain amount of work to take advantage of the new features. In many cases, these are only beneficial to the programmer. When you're working on a maintenance-only project, you sometimes just have to shrug and say, This would have been so much less code in version x.

酷到爆炸 2024-07-17 15:55:50

我已将 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 :)

I've migrated 1.1 projects to 2.0 and to 3.5 and also from 2.0 to 3.5.

What I can tell from my experience is that I had absolutely no problems migrating from 2.0 to 3.5. However, I faced some errors projects from 1.1 to either 2.0 or 3.5, so I have to advice people to be extra careful while migrating a 1.1 project.

If you are working in 2.0, I say go for it. You will find the projects a little faster on the run, and you get to play with LINQ :)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文