Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#WPF应用程序.NET Framework 4.8与.NET Core 3.1与.NET 5.0_C#_.net_Wpf - Fatal编程技术网

C#WPF应用程序.NET Framework 4.8与.NET Core 3.1与.NET 5.0

C#WPF应用程序.NET Framework 4.8与.NET Core 3.1与.NET 5.0,c#,.net,wpf,C#,.net,Wpf,我很困惑WPF应用程序实际上更喜欢哪个版本 从技术上讲,.NET Framework是最好的,原因如下: WPF是为这个平台制作的 各种各样的插件 无论如何,WPF都是为Windows制作的,所以核心多平台支持在这里是无用的 但我的逻辑可能有缺陷,所以我想确定一下。我对.NET 5.0感到非常困惑,因为我几乎可以肯定很多NuGet不支持.NET Core,所以为了安全起见,您可能需要选择.NET Framework。.NET Framework 4.x 不会更新(修复程序除外)。现在这是一条

我很困惑WPF应用程序实际上更喜欢哪个版本

从技术上讲,.NET Framework是最好的,原因如下:

  • WPF是为这个平台制作的
  • 各种各样的插件
  • 无论如何,WPF都是为Windows制作的,所以核心多平台支持在这里是无用的
但我的逻辑可能有缺陷,所以我想确定一下。我对.NET 5.0感到非常困惑,因为我几乎可以肯定很多NuGet不支持.NET Core,所以为了安全起见,您可能需要选择.NET Framework。

.NET Framework 4.x 不会更新(修复程序除外)。现在这是一条死胡同。这样做可以为您带来稳定性和与许多库的兼容性,但会阻止您获得新功能

.NET6.0(.NETCore6的新名称) 今年的发布实际上是.Net努力的延续。它将加入.net框架中可用的内容,并在.net核心世界中保持活力。虽然它最初是框架的多平台重新实现,但现在它也成为了windows的终极点网

我希望这将得到最大的牵引力

.Net 5.0 曾是实现统一的候选人,最终在6.0版本中实现,但由于流感大流行,未能在5.0版本中实现

.NET3.x 不是完整的功能,无法与.net framework中的所有内容竞争


如果我必须选择,我会选择5.0或6.0版本的候选版本,这取决于产品的发布时间。

在大多数情况下,在创建新应用程序时,您应该使用最新版本的.NET(目前是.NET 5)。NET Framework具有默认安装在现代Windows中的优点,但缺乏新功能和改进。另外.NET Framework模板采用传统格式,因此如果以后需要新功能,则必须转换项目。另一方面,如果您从.NET模板开始,您可以稍后添加.NET Framework支持,而无需转换。 .NET Core 3.1是LTS的一个分支,如果您的应用程序必须在没有更改的情况下工作几年,那么它最有意义

每个主要的.NET版本都包括主要的性能改进,因此即使您不需要新功能,使用最新版本也是合理的


现在大多数NuGet软件包都支持.NET标准2.0,因此它们与列出的所有运行时都兼容。仅支持.NET Framework的软件包可能已被放弃,不应在新的应用程序中使用。一些软件包甚至放弃了对.NET标准的支持,专门针对最新的.NET(如即将推出的EntityFrameworkCore6)。随着时间的推移,会有越来越多的软件包出现。

.NET 5是最新的,您应该使用NET 5.0。除了Net Framework的安全更新之外,没有其他未来的更新。NET5是NetCore的下一个版本,微软决定从其名称中删除“Core”