使用.NET 4.0还是.NET 3.5?

4
Windows 7和Vista已安装.NET 2.0/3.5语言运行时,因此您在3.5中编写的任何代码都可以在Windows 7上运行,并且大部分也可以在Vista上运行。但是,Windows 8仅提供.NET 4.0 CLR。在使用.NET 3.5构建程序集时,Windows 8需要安装.NET 3.5运行时。
这对于.NET 3.5来说是一个缺点,但对于.NET 4.0来说则是Windows 7及以下市场份额较低的缺点。
如果想要高兼容性,应该使用哪个.NET框架?

1
.NET 4.0 不向下兼容吗? - Martin Hennings
Windows Vista 预装 .NET Framework 3.0。 - Stilgar
是的,没错。唯一的问题是回退到1.1之前。 - ChrisBD
.NET 4.0是与.NET 3.5(即CLR 2.0)不同的CLR。 - Stilgar
1
@Devils,我不确定你在这里的关注点 - 如果兼容性是问题,那么显然.NET 4是胜利者,因为它是最新版本,向后兼容,并且将随新操作系统一起提供。如果担心强制用户下载和安装.NET Fx,则没有考虑到Windows XP(全球占有率为45%,美国为28%-请参见http://www.netmarketshare.com/operating-system-market-share.aspx?qprid=10&qpcustomd=0)- XP不包括带外的.NET 3.5 / 4.0。因此,如果这是您关注的问题,我不会太担心下载部分。 - VinayC
有没有统计数据显示平均计算机上安装了哪个.NET版本的操作系统?如果.NET确实被广泛安装,那就没关系了,但我对此表示怀疑。尽管如此,我还是没有找到任何统计数据... - bytecode77
5个回答

2

这要看你的应用部署方式。我认为使用.NET 4.0是个不错的选择,因为安装新版本的框架非常容易,特别是使用VS内置的部署工具。

既然有更好的版本可用,为什么要选择“更老”的框架呢?使用4.0而不是3.5会有什么好处吗?

我认为有,但也可能没有,如果没有的话,你可以选择3.5。


2
我认为这个问题的方向是,操作系统将“开箱即用”支持哪个框架。但正如你已经注意到的那样,不同的操作系统之间没有共同的基础。你所能做的就是建立一个安装程序,检查需求。

但我认为你应该选择 .Net 4,因为它需要的安装空间最小。关于更多信息,你可以查看smallestdotnet


2

1
我已经测试了Windows 8的消费者预览版,当执行一个.NET 3.5编译的可执行文件时,我确实需要安装.NET 3.5。在这方面,了解有多少台机器今天已安装.NET 4.0将非常有趣。 - bytecode77
真的。我使用3.5开发,但在一个原始的Windows 8机器上运行时,应用程序拒绝运行,必须安装3.5版本。 - Karlth

1

.Net甚至支持并行执行。 请查看MSDN文章以获取详细信息。
因此,运行代码>=2.0将不会成为未来版本的问题。
如果您不需要TPL,则3.5是一个合理的选择。


1

我以为 .NET 4 包含了所有之前的框架版本,从1.0开始。但是似乎在Windows 8中需要显式地 "启用"3.5版本。无论如何,4.0是最好的选择。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接