Visual Studio 中.net8.0(以前叫NET Core)框架和.net framewok 框架有什么区别?

更新vs到2022版本后,新建项目时就多出不少选项,这里来给大家分享下.net8.0(以前叫NET Core)框架和.net framewok的区别

如下图,不带后缀的就是使用.net8.0。

.net framewok框架选项:

正文开始:

支持的 C# 语言版本

  • **.NET Core (及其后续版本,如.NET 5, .NET 6, .NET 7)**: 这些框架支持最新的 C# 版本。例如,.NET 6 和 .NET 7 支持 C# 10 和 C# 11,这可以让开发者使用最新的语言特性,如记录类型、模式匹配增强、全局 using 指令等。

  • **.NET Framework**: 支持到 C# 7.3。较新的 C# 语言特性(例如 C# 8 和更高版本的特性)不被支持。

编写程序

  • **.NET Core (及 .NET 5+)**: 提供更高的灵活性和跨平台功能。开发者可以在 Visual Studio、Visual Studio Code 或其他编辑器中编写代码,并且可以在 Windows、Linux 和 macOS 上开发。

  • **.NET Framework**: 主要在 Windows 环境下使用 Visual Studio 进行开发,IDE 集成度较高,但主要限于 Windows 平台。

生成程序

  • **.NET Core (及 .NET 5+)**: 使用命令行工具如 `dotnet build` 可以轻松地构建项目。支持创建依赖于框架的部署(FDD)或独立部署(SCD)。

  • **.NET Framework**: 通常在 Visual Studio 中使用 MSBuild 进行构建。生成的是依赖于特定版本 .NET Framework 的应用程序。

打包程序

  • **.NET Core (及 .NET 5+)**: 支持通过 `dotnet publish` 命令进行打包,可以选择打包为独立应用程序,不需要目标系统预装 .NET 运行时。

  • **.NET Framework**: 打包通常依赖于第三方工具如 WiX 或 InstallShield,或使用 Visual Studio 的内置打包功能,生成的安装程序需要目标机器预装相应版本的 .NET Framework。

运行程序

  • **.NET Core (及 .NET 5+)**: 应用程序可以在任何支持 .NET 运行时的平台上运行,包括 Windows、Linux 和 macOS。

  • **.NET Framework**: 应用程序主要在 Windows 平台上运行,因为 .NET Framework 是为 Windows 设计和优化的。

总结来说,.NET Core 和后续的 .NET 5+ 版本提供了更多的现代化特性、跨平台支持和对最新 C# 版本的支持。而 .NET Framework 则更多地集中在为 Windows 平台提供稳定的开发环境,但在新特性和跨平台方面较为有限。

相关推荐
百锦再1 小时前
.NET 的 WebApi 项目必要可配置项都有哪些?
java·开发语言·c#·.net·core·net
hqwest13 小时前
C#WPF实战出真汁06--【系统设置】--餐桌类型设置
c#·.net·wpf·布局·分页·命令·viewmodel
做一位快乐的码农16 小时前
基于.net、C#、asp.net、vs的保护大自然网站的设计与实现
c#·asp.net·.net
YF云飞20 小时前
.NET 在鸿蒙系统(HarmonyOS Next)上的适配探索与实践
华为·.net·harmonyos
小码编匠20 小时前
C# Bitmap 类在工控实时图像处理中的高效应用与避坑
后端·c#·.net
咕白m6252 天前
C# 将 Excel 转为 CSV 的高效解决方案
.net
不知名搬运工2 天前
18 ABP Framework 模块管理
.net
追逐时光者3 天前
精选 5 款 .NET 开源、功能强大的工作流系统,告别重复造轮子!
后端·.net
专注VB编程开发20年3 天前
c#,vb.net全局多线程锁,可以在任意模块或类中使用,但尽量用多个锁提高效率
java·前端·数据库·c#·.net
岩屿3 天前
.NET 应用程序 Linux下守护进程脚本编写
linux·运维·服务器·c#·.net