.NET5.0 Preview 8 开箱教程
.NET5.0 Preview 8 开箱教程
前言
首先,看到 .NET5.0 Preview 8 发布后,作为一枚基层应用开发人员,很想要体验一下新版本的魅力;这可能就是程序员对新技术的一种执着吧。其实从官方宣布 .NETCore 将更名为 .NET5 开始,我就一直在关注着 Github 上版本更新的进程,这回终于发布了最后一个 Preview 版本,那么我个人觉得,还是有必要的去提前体验一下即将到来的正式版,就当是预习吧。
Visual Studio 2019 16.8.0 Preview 2.0
想要体验 .NET5.0 Preview 8,你的 Visual Studio 2019 必须是 16.8.0 Preview 2.0 的版本,否则无法识别 .NET5.0 的 SDK。
我为了下载这个版本也是好一通找,过程稍微有点繁琐,还要各种阅读理解。
首先要理解的就是, 16.8 以下的版本,可以利用现有的 Visual Studio 2019,检查更新,自动的升级到 16.7.2,但是这个版本是无法识别 .NET5.0 的 SDK 的;所以,必须单独下载 VS2019 Preview 2 ,下载地址为:
VS2019 发行说明:
https://docs.microsoft.com/zh-cn/visualstudio/releases/2019/release-notes#16.7.2
下载地址:
https://docs.microsoft.com/zh-cn/visualstudio/releases/2019/system-requirements
.NET5.0 下载地址:
https://dotnet.microsoft.com/download/dotnet/5.0
不知道大家发现了没有,原站点 asp.net 已经重定向到 dotnet.microsoft.com 去了,看来从上到下,都要动起来了。
上图所示三个版本,请根据自身已安装的不同版本进行选择,我这里选择的是 Enterprise 2019 。
下载完成,我的下载时间是昨天。没错,我就是要先体验,再卸载,再重装,一定要给后来者一个非常清晰的指引。看在我推倒重来好几次的基础上,客官您给点个赞再走呗?
准备安装
双击 vsenterprise_554246896.1591690632.exe 文件开始安装,这里我要给官方提一个建议哈,这个界面完全是没有必要的,建议干掉。
点击继续后就加载了一些什么我们不知道的东西,耐心等待就好。
选择组件
进去了,这个是非常熟悉的 VS Install 界面,正上方的 Title 表示我们现在安装的是 VS2019 16.8.0 Preview 2.0,这个一定要看清楚了,再看安装路径:
C:Program Files (x86)Microsoft Visual Studio2019Preview
这个路径就很有意思了,我们知道,C:Program Files (x86)Microsoft Visual Studio2019 是 VS2019 的根路径,所有的 VS2019 版本,都可以安装在此目录下,等待 Preview 版本安装完成后,该目录下将出现两个文件夹,分别是 Enterprise 和 Preview。
在第一次安装的时候,由于我担心和旧版本冲突,以及可能会额外安装的不需要的组件,我选择了不安装任何附加组件。事实证明,我的担心是多余的,在这里建议大家完全可以选择 Web/桌面开发两个组件群。
选择这两个组件群后,我们再切换选项卡到“单个组件”看一下,确认 .NET5.0 已被勾选。
开始安装
上面的准备工作完成之后,点击右下角的“安装”按钮,开始安装,接下来就是漫长的等待。
这个时候,可以去翻翻官方的发行说明,提前预习一下。
VS2019 发行说明:
https://docs.microsoft.com/zh-cn/visualstudio/releases/2019/release-notes#16.7.2
安装完成
安装完成后看到,列表中已经添加了 VS2091 Previe 版本的展示。
同时,安装目录下也看了 Preview 版本的文件夹。
由于安装完成后,启动程序不会自动的添加桌面快捷方式,我们可以到目录 C:Program Files (x86)Microsoft Visual Studio2019PreviewCommon7IDE 下,将 devenv.exe 添加快捷方式到桌面,并命名 VS 2019 Preview 2.0 以进行区分。从颜色可以看出 Preview 2.0 版本的颜色稍微深一些。
启动 VS2019 Preview
安装完成后,就是正式的开箱了,启动画面相对于旧版本多了 “Preview” 的标识
进入主界面后,右上角还是保持了 “Preview” 的标识,官方为了让我们不在生产环境中误用,也是做足了细节。
接下来我们就创建一个新的 .NET5.0 的项目
这里我们还是选择 .NETCore 控制台项目,并命名为 PreviewConsoleApp 直接点击“创建”按钮,进入项目后,右键点击项目查看属性,可以看到,在Preview 版本下,默认创建的项目就是 .NET5.0 的。
打开 .csproj 文件,查看配置
<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <OutputType>Exe</OutputType> <TargetFramework>net5.0</TargetFramework> </PropertyGroup></Project>
各位可以创建 WinForm 项目看看,属性节点 TargetFramework 会有不一样的标识喔。
运行我的第一个 .NET5.0 应用程序
老规矩,咱们第一步还是要编写代码,打开 Program.cs 文件,和 .NET5.0 进行第一次亲密接触。
class Program{ static void Main(string[] args) { Console.WriteLine("Hello World!"); }}
项目配置文件
打开 binDebugPreviewConsoleApp.deps.json 文件看看项目依赖,targets 都已经变成了 net5.0
"targets": { "net5.0": { "PreviewConsoleApp/1.0.0": { "runtime": { "PreviewConsoleApp.dll": {} } } } }
再看运行时配置文件,也都切换过来了,当前版本 5.0.0-preview.8.20407.11
{ "runtimeOptions": { "tfm": "net5.0", "framework": { "name": "Microsoft.NETCore.App", "version": "5.0.0-preview.8.20407.11" } }}
结束语
至此,我的 .NET5.0 体验之旅完美结束了。从整个流程体验来看,整体的感觉就是此 Preview 版本真的有可能就是最终版本了,从安装文件上看 VS2019 Preview 版本比旧版本的体积还要大,这有点不可思议,实际上,我电脑上的 16.7 版本的 VS2019 安装的组件比 Preview 版本还要多。可能是因为多安装了 .NET5.0 的原因吧,当然了,流畅度还是很令人满意的。
最后,祝大家都顺利安装成功!
- oclhashcat:离线hash密码破解工具官方文档(中文版)
- 如何动态加载js?
- 【自然框架】数据访问之精雕细琢(一)存储过程的参数
- 100w条记录分页,可以有多快?—— DataReader分页与SQL语句分页的对比测试(在线演示)
- Mimikatz小实验:黄金票据+dcsync
- 【自然框架】n级下拉列表框的原理
- 【自然框架】分享 n级联动下拉列表框
- GSM Hacking Part ②:使用SDR捕获GSM网络数据并解密
- 【自然框架】之数据访问 —— 再小的类库也需要设计。
- 【自然框架】之表单控件(一)实体类(Class)VS 字典(Dictionary)
- 跨平台后门Mokes现已加入OS X豪华午餐
- 【问底】严澜:数据挖掘入门——分词
- 机器学习-简单线性回归教程
- NSA(美国国安局)泄漏Exploit分析
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- C# 获取.exe文件的运行目录
- MySQL存储过程示例
- C# winform之Log4Net的使用
- C# 调用百度AI接口实现文字识别
- MySQL 案例:自增列的空洞问题与“小”BUG
- 教你用云开发打造一个双端自动发布的博客体系(上)
- [Oracle概念]密码文件
- [Oracle 11g RAC安装]OPENFILER配置
- [Oracle 11g RAC安装]RAC环境搭建
- [Oracle 11g RAC安装]Grid安装
- [Oracle 11g RAC安装]Oracle安装
- [Oracle 11g RAC安装]UDEV设置
- Oracle参数(Undo_Retention)
- Oracle基本概念(Undo空间)
- [AWR报告]Buffer Hit %