c# - C# 8.0、NET Core 3.0 和 Visual Studio 之间的关系
问题描述
文章Building C# 8.0状态
目前的计划是 C# 8.0 将与 .NET Core 3.0 同时发布。但是,随着我们正在开发的 Visual Studio 2019 预览版,这些功能将开始活跃起来。
C# 8.0、NET Core 3.0 和 Visual Studio 有什么关系?
作为后续,我也对物理部署方面的新语言版本实际上是什么感到困惑。它是作为新的 Visual Studio 部署的一部分部署的新程序集,还是作为网络核心 sdk 安装的一部分或其他东西?C# 8 是否需要同时添加到完整框架和 .NET Core 中?
解决方案
.NET Core 3 发布后更新
C# 8.0 中添加的一些功能需要 .NET Core 3.0,因此它们之间的关系比 C#/.NET 以前更紧密。这对可以通过 VS 作为工作负载获取,但请记住 C# 8.0 和 .NET Core 3.0 不需要 VS;您可以在其他 IDE 中使用它们。
C# 语言版本控制文档更详细地描述了语言/.NET 关系。
有关一些实用的详细信息,您可以阅读如何在 Visual Studio 中以 C# 8.0 为目标。
旧答案
查看C# 版本和 C# 工具的更新,它提供了有关与 Visual Studio 中的项目相关的语言的良好见解。
尤其是,
在这种情况下选择的默认语言版本是Preview。您可以访问的 C# 8.0 功能完全基于您使用的编译器版本(以及 .NET SDK)。当您使用未来的预览版时,您可能会获得更多(或略微调整)的功能。当您构建项目时,.NET SDK 将发出警告,表明这一切仍处于预览状态。
作为回答
C# 8.0、NET Core 3.0 和 Visual Studio 有什么关系?
语言、SDK 和 Visual Studio 版本之间的关系比以前松散了很多。该语言可以在其任何形式中独立于 .NET 发展。这并不意味着这将永远是真的。Visual Studio 也独立于语言和框架。如果您查看 Visual Studio 安装程序,您会发现语言和 .NET 支持是可以安装的“工作负载”。SDK 公开语言特性,VS 提供工具。
如果您现在使用 VS 2017,请查看
作为后续,我也对物理部署方面的新语言版本实际上是什么感到困惑
SDK 包含可以从 C# 8.0 源代码创建程序集的编译器。
它是作为新的 Visual Studio 部署的一部分部署的新程序集,还是作为网络核心 sdk 安装的一部分或其他东西?
SDK 的一部分,见上文。这意味着除了您的代码之外,没有“部署”任何内容。无论版本如何,您的代码都以 .NET 版本为目标。也就是说,目标版本的 .NET 必须存在于机器或容器上。
C# 8 是否需要同时添加到完整框架和 .NET Core 中?
它不需要“添加”。此框架 (4.8) 和 SDK (.NET Core 3.0) 的较新版本支持 C# 8.0。
推荐阅读
- eclipse - Makefile 不会卸载冲突模块
- python - 用 Pyautogui 从上到下画一个圆
- node.js - 如何使用 Node.js 和 Mongoose 在 mongodb 中运行多个“find()”查询
- python - 如何根据ID计算同一组内的计数
- c - 由于 %,printf 中的 c 程序出错
- javascript - 解析错误:意外的令牌,预期的“,” JavaScript React
- excel - Excel 索引匹配返回值而不是公式
- c++ - 随机化蛇游戏中的食物生产
- p2p - 我对 IPFS 响应时间的期望是什么?
- r - Hackerrank Sock Merchant Challenge - STDIN 和 STDOUT 与 R