环境搭建
按照历史经验看,2.0版本应该比较靠谱,我猜这也是社区非常火爆的原因吧。下面就简单分享一下.net core2.0开发运行环境的搭建过程。.net core 理论知识在此就不赘述了,不了解的可以参考:https://docs.microsoft.com/zh-cn/dotnet/core/ 、https://msdn.microsoft.com/zh-cn/magazine/mt694084.aspx。
安装步骤还是比较简单、傻瓜化的,主要分为几部分的安装:
- .net core 2.0 SDK
- Visual Studio 2017 安装(VS2015已经out了,还在用2015的抓紧更新吧)
- Docker环境安装(非必须,不过既然玩.net core,估计没几人不安装这个吧)
(一 )安装.net core 2.0 SDK
请从https://github.com/dotnet/core/blob/master/release-notes/download-archives/2.0.0-download.md下载安装包,然后执行安装。
与1.0版本相比,2.0支持的OS也更多了,如果想获取其他版本的安装请到这里:https://github.com/dotnet/cli/tree/release/2.0.0#installers-and-binaries
(二)安装 Visual Studio 2017
请从下面地址下载VS2017,建议安装15.3以上的版本。https://www.visualstudio.com/en-us/news/releasenotes/vs2017-relnotes。VS2017的好东西还是非常多的,非常值得升级。
VS2017安装的安装采用了新的交互方式,在执行时请务必选择.net core相关的组件包。
如果在初始安装时,漏掉了.net core,可以在开始菜单中找到Visual Studio Installer,然后进行编辑安装信息,继续选择.net core 进行安装即可。
(三)Docker环境安装
1.在安装docker之前,先说一下对环境的要求。如果是Windows 桌面版本的话,必须是Windows8.1以上版本,并且必须是专业版本或者企业版,不能是家庭版。如果是家庭版,请重装OS。OS达标后,请先启用Hyper-V,具体请参考:https://docs.microsoft.com/zh-cn/virtualization/hyper-v-on-windows/quick-start/enable-hyper-v 。
2.从下面地址下载docker安装程序:https://www.docker.com/docker-windows,在安装前建议先把VMWare卸载掉,据说有冲突。Docker的操作指导请戳这里:https://docs.docker.com/docker-for-windows/#docker-settings
入门Hello World
官网已经有一个.net core的入手教程(https://www.microsoft.com/net/core#windowscmd),但这个教程完全没有顾及全宇宙第一IDE的感受。今天就跟大家体验一下在VS2017上开发.net core程序吧。
打开VS2017的新建项目面板,可以看到有两个新的分类:.Net Core和.Net Standard。
.Net Core下的工程还比较好理解,但是.Net Standard是怎么回事呢?下面看一张.net 架构图,可以帮助我们理解这个事情。简言之:.Net Standard是一组所有.Net平台( .NET Framework,.NET Core,和 Xamarin )都要实现的契约定义。 对于开发者而言,只需要掌握一种基础类库即可,当开发者在新的平台下开发应用时,将不再需要学习新的API知识。 这意味着,以 .NET Standard 作为目标平台的类库将可以在所有 .NET 所有平台上运行。具体信息可参考:https://zhuanlan.zhihu.com/p/24267356
(一)生成.net core的”Hello World!”解决方案
在VS2017的新建项目面板中,选择“控制台应用(.Net Core)”.数据项目名称,并点击下方的确定后,程序创建完成。
在自动生成的代码中,加入: Console.ReadLine(); 。然后点击键盘上的“F5”键,执行运行。
OK,我们的第一个程序就这样编写完成,并运行起来,非常的简单。
(二)dotnet.exe
.net core程序虽已写完,但是打开任务管理器,我们却无法找到demo.exe这个程序,只看到dotnet.exe程序。为什么会这样呢?这要从.net core的设计说起,给大家留个作业,自己找答案吧。
打开Demo程序编译后的目录,发现里面也没有exe文件。
怎样才能运行我们写的程序呢?其实很简单。打开 cmd,执行下面指令即可:dotnet “C:\Users\dell\Documents\visual studio 2017\Projects\Demo\Demo\bin\Debug\netcoreapp2.0\demo.dll”。其中dotnet是.Net Core的运行容器名,后面是我们自己开发的程序入口。更多指令请参考这里:
https://www.tianqiweiqi.com/net-core-dotnet-cmd.html
(三)带exe的.net core程序。
在项目上右键编辑demo.csproj,添加一行
<RuntimeIdentifier>win10-x64-corert</RuntimeIdentifier>
最终结果为:
<Project Sdk=”Microsoft.NET.Sdk”>
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp2.0</TargetFramework>
<RuntimeIdentifier>win10-x64-corert</RuntimeIdentifier>
<ApplicationIcon />
<StartupObject />
</PropertyGroup>
</Project>
说明:RuntimeIdentifier 用于标识程序编译时可生成的不同运行环境的程序版本。其值来自于:C:\Program Files\dotnet\sdk\NuGetFallbackFolder\microsoft.netcore.platforms\2.0.0\runtime.json。
保存编辑信息,然后重新编译,可以在生成目录下看到win10-x64-corert目录,此目录已经生成了exe文件。通过此方法,我们可以一次性编译各种环境下的程序文件。如果想更多的了解RID(RuntimeIdentifier ),请参考:https://docs.microsoft.com/en-us/dotnet/core/rid-catalog。