要求用户更新 .NET

Posted

技术标签:

【中文标题】要求用户更新 .NET【英文标题】:Requiring users to update .NET 【发布时间】:2010-09-11 12:14:07 【问题描述】:

我正在开发一些生产软件,在 .NET 框架上使用 C#。我真的很希望能够在项目中使用 LINQ。我相信它需要 .NET 3.5 版(如果我错了,请纠正我)。此应用程序是一个商业软件应用程序,需要在客户的工作 PC 上运行。假设他们有 .NET 3.5,或者假设他们不介意升级到最新版本是否合理?

我只是想了解强制框架升级以运行应用程序的共识是什么。

【问题讨论】:

【参考方案1】:

我会说假设他们拥有 .NET 3.5 是不安全的。

由于升级时出现任何问题的可能性非常非常小,因此更改任何内容总是有风险的。我知道我不介意升级,但我是一名开发人员。

我认为这是一种可以采取任何一种方式的事情,他们要么不会三思而后行,直接升级,要么他们可能会因此而出问题。我认为这取决于您的客户,“低技术”客户可能会三思而后行,因为他们可能无法完全理解它,这会让他们感到紧张。

【讨论】:

【参考方案2】:

如您所说,要使用 LINQ,您需要拥有 .NET 3.5。为了确认这一点,LINQ 的***页面说:

语言集成查询 (LINQ, 发音为“link”)是 Microsoft .NET 添加原生的框架组件 .NET 的数据查询功能 使用让人联想到语法的语言 的 SQL。 LINQ 的许多概念 已介绍 最初经过测试 在微软的 Cω 研究项目中。 LINQ 作为 .NET 的一部分发布 框架 3.5 于 2007 年 11 月 19 日发布

由于机器可能已经安装了一些以前版本的 .NET,您可能会发现这个站点,Smallest Dot NET,由 Scott Hanselman(Microsoft 员工)提供。它可以计算出您需要更新的最小更新(当前为 3.5 SP1)。

至于在客户端机器上期望它是否合理,我想这取决于你正在创建什么。我的感受是:

小型低成本应用程序 = 可能还没有 以低成本出售的小型应用程序(可能针对 3.5)有点早,并且由于烦恼因素可能会减少您的受众规模。

带有安装程序的大型商业应用程序 = YES 如果它是一个大型商业应用程序(您的基线规范已经是 WInXP 或在 .NET 2.0 上运行的更新版本),我认为客户不会在意。将可再发行组件放在安装程序磁盘上!

请记住,采用任何新技术都有很多原因。您对使用 LINQ 有什么需求,是否难以复制?如果 LINQ 为您提供了您真正需要的功能,您的成本和时间表可能会从选择它中受益。您的公司可以通过以更低的价格销售产品或增加利润来获得收益。

如Nescio 所指出的,最后一个选项,如果您只需要 Linq to Objects(例如,您不需要 Linq to SQL 或 Linq to XML),那么LinqBridge 可能是一个选项。

【讨论】:

【参考方案3】:

由于 .NET Framework 本身是免费分发的,人们很少反对升级它。但是,系统管理员的可用性或安装可能存在问题。

【讨论】:

【参考方案4】:

查看:LinqBridge

【讨论】:

【参考方案5】:

与您的副总裁交谈。的销售。严重地。如果 3.5 是最前沿的(老实说我不知道​​),那么他/她很可能不会非常喜欢这个想法。如果是几年前,那么他们会更容易接受。作为一个强制升级第三方软件的产品,不是不可逾越的短板,但也无济于事。

【讨论】:

【参考方案6】:

这取决于您的目标受众和您的应用的重要性。一般来说,此时您可能无法假设您的受众已经拥有 .NET 3.5。安装它可能需要相当长的时间,如果他们还没有 .NET 3.5 的其他先决条件,可能会非常乏味。

因此,除非它是相当全面和/或重要的企业软件,否则我强烈建议不要使用它。

【讨论】:

【参考方案7】:

您应该阅读这个 Hanselman 的条目:http://www.hanselman.com/blog/SmallestDotNetOnTheSizeOfTheNETFramework.aspx 如果涉及到安装并因此最小化 .NET 框架的安装大小,这真的很有趣。它应该以某种方式回答您的问题。

【讨论】:

【参考方案8】:

只要您知道不需要支持 Windows 2000 或任何旧版本的 Windows,那么需要最新最好的框架版本就不会觉得太繁琐。

一些不那么幸运的开发者被旧的框架版本卡住了,因为他们需要支持旧的操作系统版本。

【讨论】:

【参考方案9】:

.Net 3.5 尚未在 Windows PC 上自动更新,我不会打赌标准客户会“按原样”使用它。

请注意,您可能必须决定是否选择 .Net3.5 SP1,因为在 3.5 和 3.5SP1 之间存在一个小的 DataSet 向后不兼容(可能还有一些我没有看到)。

如果您的客户是一家大公司,您可能要考虑他们通常非常保守(我的客户仍然是 XP/IE6,有时甚至是 W2K/IE6)。

【讨论】:

【参考方案10】:

注意 Windows 2000 不支持 2.0 以上的任何框架。因此,您的应用程序将仅支持以下操作系统:

Microsoft Windows XP Microsoft Windows Server 2003 Windows Vista Windows Server 2008

祝你好运!

【讨论】:

以上是关于要求用户更新 .NET的主要内容,如果未能解决你的问题,请参考以下文章

向现有应用推送通知更新:是不是会要求用户允许?

Microsoft WebAPI 要求 System.Net.Http,版本=4.0.0.0

Google Play 政策更新 | 扩展目标 API 级别要求以增进用户安全

Google Play 政策更新 | 扩展目标 API 级别要求以增进用户安全

具有一些特定要求的 .NET 中的录音

重新加载数据后根据要求更新后未显示 uicollectionview 单元格