首页 / 知识
关于优化:.NET Framework 3.5而不是2.0编译是否有任何优势?
2023-04-15 14:15:00

Are there any advantages compiling for .NET Framework 3.5 instead of 2.0?.NET Framework 3.5而不是2.0编译有什么优势? 例如更少的内存消耗,更快的启动,更好的性能... 我个人不这么认为,但是我可能错过了一些东西。 编辑:当然,3.5框架中还有更多功能,但是这些不是此问题的重点。 Edit2:似乎没有优势。 Edit3:是的,我的意思是针对框架。 我已经安装了最新的3.5 SP1和VS 2008,因此使用框架进行编译和针对框架有什么区别? 我可以在项目选项中定位框架,但是如何"编译"特定的框架版本? 我不知道有什么区别。 Edit4:所以现在我们同意没有优势。 谢谢你的意见 编译和定位之间有区别。 使用(例如)C#3.0编译器编译代码可能会提高性能(无论如何很少),因为其中包括对生成的IL代码的一些优化。它还允许您使用一些新功能,例如自动属性或lambda表达式。 针对给定框架的目标将确保您的程序集适用于该框架(及后继者),并且如果目标为2.0并且使用3.5库,则将失败。除非您将一个框架中的一个类替换为另一个"最快"类,否则任何性能改进都不会直接与此相关。例如,针对.NET 1.1,将不允许您使用泛型,因此,您必须使用比List慢得多的ArrayList(由于装箱和拆箱)。 关于.NET 2.0和.NET 3.5,要记住两件事。 如果您的.NET程序集以.NET 3.5为目标,则生成的应用程序将查找并需要.NET 3.5库,仅此而已。这些库附带了.NET 2.0框架中找不到的许多其他分类,因此这将是针对这些库的优势。 但是,如果您使用例如附带的C#3.0编译器来编译C#代码。 Visual Studio 2008,适用于.NET 3.5,但装配目标为.NET 2.0,您仍然只需要常规的.NET 2.0库,尽管它实际上使用某些.NET 3.5编译器功能,但其中许多功能最后只使用.NET 2.0代码。在此处了解更多有关此信息:http://weblogs.asp.net/shahar/archive/2008/01/23/use-c-3-features-from-c-2-and-net-2-0-code。 aspx 我相信每个版本的Visual Studio都附带一个不同的编译器。例如,对于C#,Visual Studio 2005附带的2.0编译器和Visual Studio 2008附带的C#3.0。根据所使用的Visual Studio版本,最终会使用不同的编译器。 定位框架是指在编译过程中要定位的框架版本。定位框架是Visual Studio 2008的新功能。例如,我可以在Visual Studio 2008中打开一个解决方案,并以.Net为目标v2.0。结果将是在编译期间我无法使用任何3.0或3.5 .Net功能,例如WPF。 我认为您必须要针对.NET 3.5框架进行编译?如果是这样,那么正如其他人所说,我相信您不会看到太大的不同。 但是,如果您正在谈论使用更新的编译器,则在以下链接中对C#和VB进行了各种更改和中断更改:
如果您没有使用该框架版本中的任何类,则编译到3.5框架没有任何好处。 我还没找到如果您不需要3.5特定功能,则明显的缺点是3.5代码库更年轻,因此有可能(尽管不太可能)潜伏着一些错误。 3.5具有2.0没有的类。例如Func <...>。如果您的目标是2.0,则不能使用它们。 |
最新内容
相关内容
linux看剩余内存命令?
linux看剩余内存命令?,系统,情况,工具,信息,分析,状态,实时,命令,内存,总量,Linux系统中查看执行中的进程占用内存量的方法1、(1)top top命令查询linux内存命令?
查询linux内存命令?,系统,情况,信息,工具,电脑,状态,命令,内存,发行,总量,查看linux的cpu和内存1、要查看内存使用情况,可以使用free命令。Freelinux启动项加命令行?
linux启动项加命令行?,系统,工作,项目,地址,命令,首页,数字,管理,服务,信息,怎样使Linux一开机就进入命令行1、linux如何进入命令行?我们一起来linux查内存命令6?
linux查内存命令6?,情况,系统,信息,工具,数据,内存,命令,单位,环境,方法,查看linux内存使用情况1、linux查看内存使用情况的方法是使用free命linux下sh启动命令?
linux下sh启动命令?,服务,标准,文件,工具,软件,权限,命令,脚本,终端,目录,Linux中的sh命令的详细解释1、sh是linux中运行shell的命令,是shell的服务启动linux命令?
服务启动linux命令?,服务,密码,信息,系统,名称,命令,文件,用户,下面,服务器,linux如何启动mysql服务1、首先,我们需要修改mysql的配置文件,一般linux中编译命令是?
linux中编译命令是?,系统,代码,工具,基础,名字,命令,编译器,文件,终端,源程序,要怎么在linux系统中编译并运行c程序1、在Linux下面,如果要编译linux终端编译命令?
linux终端编译命令?,代码,工具,环境,系统,终端,文件,源程序,编译器,语言,指令,linux终端下如何进行C语言编译在Linux下面,如果要编译一个C语言linux性能检测命令?
linux性能检测命令?,系统,情况,信息,状态,工具,实时,百分比,指标,分析,命令,查看linux的cpu和内存要查看CPU使用情况,可以使用top命令。Top命令linux修改内存命令?
linux修改内存命令?,系统,信息,标准,工具,数据,在线,内存,命令,分区,大小,Linux系统中的内存清理和释放命令归纳第一步:先执行sync命令 sync sylinux启动进命令行?
linux启动进命令行?,系统,首页,密码,工具,终端,情况,电脑,数字,界面,命令,如何让linux开机时就进入命令行界面linux如何进入命令行?我们一起来linux启动蓝牙命令?
linux启动蓝牙命令?,设备,手机,系统,蓝牙,电脑,管理,网络,密码,通讯,信息,Linux系统如何利用命令打开蓝牙,开启手机蓝牙 2,运行hcitool scan,找到