.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 Studio\2019\Preview

这个路径就很有意思了,我们知道,C:\Program Files (x86)\Microsoft Visual Studio\2019\ 是 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 Studio\2019\Preview\Common7\IDE 下,将 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!");}
}

项目配置文件

打开 bin\Debug\PreviewConsoleApp.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 的原因吧,当然了,流畅度还是很令人满意的。

最后,祝大家都顺利安装成功!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/308016.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

leetcode977. 有序数组的平方(暴力+双指针)

一:题目 二:暴力双指针 1:暴力 class Solution { public:vector<int> sortedSquares(vector<int>& nums) {vector<int> v;for(int num : nums){int temp pow(num,2);v.push_back(temp);} sort(v.begin(),v.end());return v;} };2:双指针 思路:1.利…

『软件工程10』结构化系统分析:数据流图和字典案例分析

结构化系统分析——数据流图和数据字典案例分析一、数据流图案例分析1、案例1&#xff1a;商店业务管理系统2、案例2&#xff1a;学籍管理系统3、案例3&#xff1a;大型企业数据中心二、数据字典案例分析1、案例1&#xff1a;学籍管理系统三、写在最后接 上一篇文章的内容&…

MongoDB最新4.2.7版本三分片集群修改IP实操演练

背景重新组网&#xff0c;需要对现有MongoDB分片集群服务器的IP进行更改&#xff0c;因此也需要对MongoDB分片集群的IP也进行相应的更新&#xff0c;而MongoDB分片集群的IP修改不能单纯的通过配置来进行&#xff0c;需要一番折腾后才能正常更新&#xff0c;这里对整个MongoDB集…

浅谈Web前端安全策略xss和csrf,及又该如何预防?

Web前端安全策略xss和csrf的攻击和防御一、XSS跨站请求攻击1、什么是XSS2、场景模拟3、XSS的攻击类型4、如何防御XSS二、XSRF跨站请求伪造1、什么是csrf2、场景模拟&#xff08;1&#xff09;场景一&#xff08;2&#xff09;场景二3、CSRF的特点4、CSRF攻击方式5、CSRF常见的攻…

leetcode209. 长度最小的子数组(暴力+滑动窗口)

一:题目 二:暴力滑动窗口 1:暴力解法 class Solution { public:int min (int a ,int b){return a < b ? a : b;}int minSubArrayLen(int target, vector<int>& nums) {int minx 100001;for(int i 0; i < nums.size(); i){vector<int> v;int sum nu…

做权限认证,还不了解IdentityServer4?不二话,赶紧拥抱吧,.NET Core官方推荐!...

目前大多数的应用程序或多或少看起来是上图所示这样的&#xff0c;最常见的交互场景有&#xff08;浏览器与Web应用程序、Web应用程序与WebApi通讯、本地应用程序狱WebApi通讯、基于浏览器的应用程序与WebApi 通讯、基本服务器的应用程序与WebApi通讯、WebApi与WebApi通讯&…

leetcode 904:水果成篮(滑动窗口)

一:题目 二:思路 1.用两个篮子装进两个数&#xff0c;后面只能装入这两个相同的数,并统计个数;如果遇到其他数,则重新开始计数&#xff0c; 这里的重新开始计数指的是在去除第一个篮子中所装进的数 2.滑动窗口来做 滑动窗口的起始位置为:数组的起始位置 滑动体为 统计的个数 滑…

真・WPF 按钮拖动和调整大小

真・WPF 按钮拖动和调整大小独立观察员 2020 年 8 月 29 日手头有个 Winform 程序&#xff0c;是使用动态生成按钮&#xff0c;然后拖动、调整大小&#xff0c;以此来记录一些坐标数据&#xff0c;最后保存坐标数据的。在数据量&#xff08;按钮数量&#xff09;比较小的时候是…

『软件工程11』结构化系统设计:解决软件“怎么做”问题

结构化系统设计——解决软件“做什么”问题一、设计的目标和任务1、目标2、任务3、开发阶段的信息流4、软件设计的重要性5、软件设计的技术观点和管理观点二、设计基础1、结构图&#xff08;体系结构图、模块结构图&#xff09;&#xff08;1&#xff09;分析结构图三者间的关系…

map容器中删除一个元素(value)

一:问题描述 我们想要删除map容器中&#xff0c;一个key值对应的vlaue 二&#xff1a;上码 #include<iostream> #include<map> #include<vector> using namespace std; int main(){map<int,int> m;for(int i 0; i < 4; i){m[i] i1;}//正常输出 …

.Net5发布在即,当心技术断层!

就在上周&#xff0c;.NET5的最后一个预览版&#xff0c;.NET5 Preview.8发布了&#xff0c;更新内容只有几个小bug的修复&#xff0c;已完成.NET5正式版的最后准备&#xff0c;.NET5即将正式面世&#xff01;时光荏苒&#xff0c;回首2016年发布.NET Core1.0至今&#xff0c;已…

『软件测试4』耗子尾汁!2021年了,你还不知道这4种白盒测试方法吗?

软件测试——详解白盒测试基本概念&#xff0c;四种白盒测试方法一、白盒测试基本概念1、白盒测试的定义2、白盒测试的测试对象3、白盒测试的原则4、白盒测试的分类二、静态白盒测试1、代码检查法&#xff08;1&#xff09;代码审查的定义&#xff08;2&#xff09;代码审查的目…

leetcode76:最小覆盖字串(滑动窗口)

一&#xff1a;题目 二:思路 思路拿别人的&#xff0c;感觉写的很nice!! 渣渣杰只能膜拜大佬的了 1.滑动窗口的思想&#xff1a; left 指针和 ring 指针&#xff0c;保证两个指针之间的字符串包含所需要的全部字符。 2在保证 1 的前提下&#xff0c; 向右移动 left&#x…

Orleans 知多少 | Orleans 中文文档上线

Orleans 简介Orleans是一个跨平台框架&#xff0c;用于构建健壮&#xff0c;可扩展的分布式应用程序Orleans建立在.NET开发人员生产力的基础上&#xff0c;并将其带入了分布式应用程序的世界&#xff0c;例如云服务。Orleans可从单个本地服务器扩展到云中全局分布的高可用性应用…

『软件工程12』软件工程实践方法——软件测试

软件工程实践方法—— 软件测试一、软件测试概述1、软件测试的目的&#xff08;1&#xff09;从用户和开发者角度&#xff08;2&#xff09;Myers软件测试目的2、软件测试的原则3、软件测试的对象4、测试信息流5、测试与软件开发各阶段的关系二、软件测试用例1、黑盒测试概述2、…

leetcode59:螺旋矩阵||(思路+详解)

一:题目 二&#xff1a;思路 1.我们需要模拟数字的变化过程, 2.模拟填充的过程:(顺时针) 填充上行 从左到右 填充右行 从上到下 填充下行 从右向左 填充左行 从下到上 3.分析我们填充数字的过程&#xff0c;比如n3的时候 上行:1,2 右行:3,4 下行:5,6 左行:7,8 这么分析下来我们…

在香蕉派的树莓派系统上配置 Syncthing 自启动(暨 Linux 软件自启服务配置)

在香蕉派的树莓派系统上配置 Syncthing 自启动独立观察员 2020 年 1 月 19 日&#xff08;2020年8月30日 更新&#xff09;首先做个名词解释&#xff0c;” 香蕉派” 是国内一款山寨树莓派的硬件产品&#xff0c;” 树莓派系统” 指的是”raspberrypi”&#xff0c;而”Syncthi…

『软件工程13』浅谈面向对象方法,统一建模语言UML

浅谈面向对象方法UML一、UML的含义二、UML的主要内容1、UML的概念模型2、UML概念模型图例三、UML的基本构造块1、UML中的事物&#xff08;1&#xff09;UML中的四种事物&#xff08;2&#xff09;UML中各种事物的图示法2、UML中的四种关系&#xff08;1&#xff09;依赖&#x…

leetcode54:螺旋矩阵

一:题目 二&#xff1a;上码 class Solution { public:vector<int> spiralOrder(vector<vector<int>>& matrix) {vector<int> ans;int startx 0,starty 0;int n matrix.size();//求出行int m matrix[0].size();//求出列int loop m/2 < n/…

查漏补缺方为上策!!两万六字总结vue的基本使用和高级特性,周边插件vuex和vue-router任你挑选

vue的基本使用和高级特性&#xff0c;周边插件vuex和vue-router一、vue的使用1、vue-cli2、基本使用&#xff08;1&#xff09;模板&#xff08;插值&#xff0c;指令&#xff09;&#xff08;2&#xff09;computed和watch&#xff08;3&#xff09;class和style&#xff08;4…