【问题标题】:Requiring users to update .NET要求用户更新 .NET
【发布时间】:2010-09-11 12:14:07
【问题描述】:
我正在开发一些生产软件,在 .NET 框架上使用 C#。我真的很希望能够在项目中使用 LINQ。我相信它需要 .NET 3.5 版(如果我错了,请纠正我)。此应用程序是一个商业软件应用程序,需要在客户的工作 PC 上运行。假设他们有 .NET 3.5,或者假设他们不介意升级到最新版本是否合理?
我只是想了解强制框架升级以运行应用程序的共识是什么。
【问题讨论】:
标签:
c#
.net
linq
client-applications
【解决方案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 本身是免费分发的,人们很少反对升级它。但是,系统管理员的可用性或安装可能存在问题。
【解决方案5】:
与您的副总裁交谈。的销售。严重地。如果 3.5 是最前沿的(老实说我不知道),那么他/她很可能不会非常喜欢这个想法。如果是几年前,那么他们会更容易接受。作为一个强制升级第三方软件的产品,不是不可逾越的短板,但也无济于事。
【解决方案6】:
这取决于您的目标受众和您的应用的重要性。一般来说,此时您可能无法假设您的受众已经拥有 .NET 3.5。安装它可能需要相当长的时间,如果他们还没有 .NET 3.5 的其他先决条件,可能会非常乏味。
因此,除非它是相当全面和/或重要的企业软件,否则我强烈建议不要使用它。
【解决方案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
祝你好运!