要求用户更新.NET

时间:2008-09-19 23:43:58

标签: c# .net linq client-applications

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

我只是想知道在执行应用程序的强制框架升级方面的共识是什么。

10 个答案:

答案 0 :(得分:5)

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

在升级时,它们非常非常不可能出现任何问题,更改任何内容都会带来风险。我知道我不介意升级,但我是开发人员。

我认为这可能是其中之一,他们或者不会三思而后行,只是升级,或者他们可能会提出问题。我认为这取决于你的客户,'低技术'的客户可能会三思而后行,因为他们可能不会完全理解它,这会让他们感到紧张。

答案 1 :(得分:4)

要使用LINQ,正如您所说,您需要使用.NET 3.5。为了证实这一点,LINQ的维基百科页面说:

  

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

由于机器可能已经安装了某些早期版本的.NET,您可能会发现Scott Hanselman(Microsoft员工)这个站点Smallest Dot NET非常有用。它可以计算出最新的最新更新(目前为3.5 SP1)。

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

小型低成本应用= PERHAPS NOT YET
以低成本出售的小型应用程序(可能以3.5为目标)有点早,并且由于烦恼因素可能会缩小您的受众规模。

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

请记住,出于多种原因应采用任何新技术。您需要使用LINQ,是否难以复制?如果LINQ为您提供了您真正需要的功能,那么您的成本和时间表可能会从选择它中受益。您的公司能够以更低的价格销售产品或增加利润,从而获益。

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

答案 2 :(得分:3)

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

答案 3 :(得分:1)

退房:LinqBridge

答案 4 :(得分:1)

与你的V.P.交谈销售。认真。如果3.5是最前沿(我老实说不知道),那么他/她将不会非常喜欢这个想法。如果它已经有几年了,那么他们会更加接受。作为一种强制升级第三方SW的产品并不是一个不可逾越的缺点,但它没有帮助。

答案 5 :(得分:1)

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

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

答案 6 :(得分:1)

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

答案 7 :(得分:0)

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

一些不太幸运的开发人员坚持使用较旧的框架版本,因为他们需要支持较旧的OS版本。

答案 8 :(得分:0)

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

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

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

答案 9 :(得分:0)

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

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

祝你好运!