要求用户更新.NET
我正在开发一些生产软件,在 .NET 框架上使用 C#。 我真的很希望能够在项目中使用 LINQ。 我相信它需要 .NET 版本 3.5(如果我错了,请纠正我)。 该应用程序是一个商业软件应用程序,需要在客户的工作电脑上运行。 假设他们拥有 .NET 3.5,或者假设他们不介意升级到最新版本,是否合理?
我只是想了解一下强制框架升级以运行应用程序的共识是什么。
I'm working on some production software, using C# on the .NET framework. I really would like to be able to use LINQ on the project. I believe it requires .NET version 3.5 (correct me if I'm wrong). This application is a commercial software app, required to run on a client's work PC. Is it reasonable to assume they have .NET 3.5, or assume that they won't mind upgrading to the latest version?
I just wanted to feel out what the consensus was as far as mandating framework upgrades to run apps.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(10)
我想说,假设他们拥有 .NET 3.5 是不安全的。
尽管他们在升级时不太可能出现任何问题,但更改任何内容总是存在风险。 我知道我不介意升级,但我是一名开发人员。
我认为这是任何一种情况都可能发生的事情之一,他们要么不会三思而后行,要么升级,或者他们可能会从中提出问题。 我认为这取决于你的客户,“低技术”客户可能会三思而后行,因为他们可能不完全理解它,这会让他们感到紧张。
I would say that it isn't safe to assume they have .NET 3.5.
Where as it is very, very unlikely they will have any problems when upgrading, changing anything always carries a risk. I know I wouldn't mind upgrading, but I am a developer.
I think it's one of those things that could go either way, they either won't think twice about it and just upgrade, or they might make an issue out of it. I think it would depend on your customers, 'low-tech' clients may think twice as they may not fully understand it, which would make them nervous.
正如您所说,要使用 LINQ,您需要拥有 .NET 3.5。 为了证实这一点,LINQ 的 Wikipedia 页面说道:
由于计算机可能已经安装了某些早期版本的 .NET,您可能会发现此站点 Smallest Dot NET 很有用。 它计算出您需要更新的最小更新(当前为 3.5 SP1)。
至于在客户端的机器上期望它是否合理,我想这取决于您正在创建的内容。 我的感受是:
小型低成本应用程序 = 也许还没有
一个以低成本出售的小型应用程序,也许目标为 3.5 有点早,并且可能会因为烦恼因素而减少您的受众规模。
大型商业应用程序,带有安装程序=是
如果它是一个大型商业应用程序(您的基线规范已经是 WInXP 或在 .NET 2.0 上运行的更新版本),我认为客户不会关心。 将可再发行文件放在安装程序磁盘上!
请记住,采用任何新技术都应该出于多种原因。 您使用 LINQ 的需求是什么?它是否难以复制? 如果 LINQ 为您提供了真正需要的功能,那么您的成本和时间表可能会因选择它而受益。 您的公司可以通过以更低的价格销售产品或增加利润来获利。
最后一个选择,如 Nescio 指出的,如果您只需要 Linq到对象(例如,您不需要 Linq to SQL 或 Linq to XML),然后 LinqBridge 可能是一个选项。
To use LINQ, as you have said, you need to have .NET 3.5. Just to confirm this, the Wikipedia page for LINQ says:
Due to the fact that machines may have some of the previous versions of .NET already installed, you may find that this site, Smallest Dot NET by Scott Hanselman (Microsoft employee) is useful. It works out the smallest updates you need to get up to date (currently 3.5 SP1).
As for whether it is reasonable to expect it on the client's machine, I guess it depends upon what you're creating. My feelings are:
Small low cost applications = PERHAPS NOT YET
A tiny application sold at low cost, perhaps targeting 3.5 is a little early and likely to reduce the size of your audience because of the annoyance factor.
Large commercial applications, with installers = YES
If it is a large commercial application (your baseline specifications are already WInXP or newer running on .NET 2.0), I don't think the customer would care. Put the redistributable on the installer disk!
Remember that adopting any new technology should be done for a number of reasons. What is your need to use LINQ, is it something that would be tough to replicate? If LINQ gives you functionality you really need, your costs and timetable are likely to benefit from selecting it. Your company gain by being able to sell the product for less or increase their margins.
One final option, as pointed out by Nescio, if all you need is Linq to Objects (eg. you don't need Linq to SQL or Linq to XML) then LinqBridge may be an option.
与您的销售副总裁交谈。 严重地。 如果 3.5 是前沿技术(我真的不知道),那么他/她很可能不会非常喜欢这个想法。 如果是几年前的事,他们会更容易接受。 作为一款强制第三方软件升级的产品,并不是无法克服的缺点,但也无济于事。
Talk to your V.P. of Sales. Seriously. If 3.5 is bleeding edge (I honestly don't know), then odds are he/she will not like the idea very much. If it is a couple of years old, then they'll be more accepting. Being a product that forces upgrades of third party SW is not an insurmountable shortcoming, but it doesn't help.
查看:LinqBridge
Check out: LinqBridge
由于 .NET Framework 本身是免费分发的,因此人们很少反对升级它。 但是,可能存在系统管理员可用性问题或安装问题。
Since .NET Framework itself is distributed for free, people are rarely against upgrading it. However there may be problems with system administrator availability or problems with installation.
这取决于您的目标受众和应用程序的重要性。 一般来说,此时您可能无法假设您的受众已经拥有 .NET 3.5。 安装它可能需要相当长的时间,并且如果他们不具备 .NET 3.5 的其他先决条件,则可能会非常乏味。
因此,除非它是一个相当全面和/或重要的企业软件,否则我强烈建议不要这样做。
It depends on your target audience and the importance of your app. Generally speaking at this point you probably can't assume that your audience already has .NET 3.5. Installing it can take quite a while, and can be quite tedious if they don't already have the other prerequisites to .NET 3.5.
So unless it's a fairly comprehensive and/or important piece of enterprise software, I would strongly advise against it.
您应该阅读此 Hanselman 的条目: http://www.hanselman.com/blog/SmallestDotNetOnTheSizeOfTheNETFramework.aspx
如果涉及到安装并从而最小化 .NET 框架的安装大小,这真的很有趣。 它应该以某种方式回答你的问题。
You should read this Hanselman's entry: http://www.hanselman.com/blog/SmallestDotNetOnTheSizeOfTheNETFramework.aspx
It's really interesting if it comes to installing and thus minimalizing installation size of .NET framework. It should be somehow an answer to your question.
只要您知道不需要支持 Windows 2000 或任何旧版本的 Windows,那么需要最新和最好的框架版本就不会感觉太麻烦。
一些不幸的开发人员被困在旧的框架版本中,因为他们需要支持旧的操作系统版本。
So long as you know that you don't need to support Windows 2000 or any older versions of Windows then requiring the latest and greatest framework version doesn't feel too onerous.
Some less fortunate developers are stuck with older framework versions because they need to support older OS versions.
.Net 3.5 尚未在 Windows PC 上自动更新,我不会打赌标准客户会“按原样”使用它。
请注意,您可能必须决定是否选择 .Net3.5 SP1,因为 3.5 和 3.5SP1 之间存在一个小的 DataSet 向后不兼容性(也许还有一些我没有看到的其他数据集)。
如果您的客户是一家大公司,您可能需要考虑到他们通常非常保守(我的客户仍然是 XP/IE6,有时甚至是 W2K/IE6)。
.Net 3.5 is not yet auto updated on Windows PC, I would not bet on a standard customer having it "as is".
Notice you may have to decide if you go for .Net3.5 SP1, since there is a small DataSet backward incompatibility between 3.5 and 3.5SP1 (and maybe some others I did not see).
If your client is a big company you may want to consider that they are often very conservative (My clients are still XP/IE6 and sometime even W2K/IE6).
请注意,2.0 以上的任何框架都不支持 Windows 2000。 因此,您的应用程序将仅支持以下操作系统:
祝您好运!
Beware Windows 2000 is not supported on any frameworks above 2.0. So you're application would then only support the following operating systems:
Good Luck!