.NET Core 开发:永远的Hello Word
从.NET Core发布到现在已经很长一段时间了,园子里的各路大神也和它打的火热,本着与时俱进,啥火学啥的原则,我也开始了我的.NET Core学习之旅。
简介
.NET从2002年发行到现在,从呱呱坠地到亭亭玉立,已经过去了十几年,但因为其出生一直被局限在Windows的生态圈,虽然跨平台与开源的呼声一直不断,但固执的微软爸爸好像并没有把自家孩子放出去闯荡的意愿,直到2013年新任CEO Satya Nadell正式走马上任之后,微软爸爸便有如磕了药一般在开源和跨平台方面动作不断,.NET Core计划也是在这个时候被宣布的,并随之推出了开发工具Visual Studio Code,Web开发平台则是ASP.NET 5,但由于这个名称很容易让人误以为她是ASP.NET 4系列的升级版本,但其实她是完全重写了新版本,于是被微软改名为ASP.NET Core。由于微软爸爸的努力,.NET终于可以在Windows、Linux和Mac上开发和运行了,.NET的程序员也终于可以在自己心爱的Mac上愉快的写代码了。
学习资源
如果想学习.NET Core的话,最好的当然是去扒官方文档,博客园也有.NET Core中国学习小组,不过听说大神都是直接看源代码。
园子:http://www.cnblogs.com/dotNETCoreSG
大神:http://www.cnblogs.com/artech/tag/.NET Core/
环境安装
.NET Core SDK:大家可以直接在去官网上进行下载,下载完成之后安装,安装完成后,在控制台中输入dotnet --version出现如下界面即表示安装成功:

若安装过程中报错:Element not found,请参考:https://q.cnblogs.com/q/86671/
开发工具:由于本子硬盘容量实在太小128G,实在是装不起的VS2015这么高大上的东西了,只能退而求其次,使用微软力推的跨平台编辑器VS Code了,后续的开发随笔也主要是以VS Code作为主要的生产力工具。
如图所示,打开VS Code的扩展界面,安装C#插件,使用Ctrl+`快捷键调出控制台,搜索C#,安装后重启VS Code即可(当然你也可以选择使用Ctrl+P调出Quick Open输入“ext install csharp”快速进行安装),如下图所示: 
永远的Hello Word
当开发环境配置完成后,就可以直接使用VS Code进行.NET Core进行开发啦,一如既往的以经典的“Hello World”为例:
第一步:新建文件夹Test,使用VS Code打开Test文件(文件→打开文件夹)后,使用Ctrl+`快捷键打开控制台终端,输入“dotnet new”,提示创建成功后,会生成如下的项目结构:

- dotnew new:创建基本项目;
- dotnet restore:还原项目;
- dotnet build:构建项目;
- dotnet publish:发布项目;
- dotnet run:编译并运行项目;
- dotnet pack:封装成nuget包。
第二步:打开Program.cs文件,按F5即可进入调试,界面和Visual Studio的界面类似: 
不过这里需要注意的是,第一次运行时,由于VS Code需要下载.NET Code Debugger和OmniSharp可能需要等待一段时间,请安心等待,执行结果如下图所示:

项目结构
- project.json:类似于.NET Framework中的.csproj文件,不过听说下一个版本.NET Core会弃用此文件,重新回归.csproj;
- launch.json:顾名思义,这是.NET Core的启动配置文件,包括启动变量,运行方式等配置;
- tasks.json:用于配置自动化任务,诸如编译、测试、调试等。
总结
虽然.NET Core和ASP.NET Core的跨平台、支持Docker,不依赖与IIS环境等让他有着相当大的潜能,但目前国内以.NET Core作为主力生产力语言仍然还有很长一段路要走,但做为程序员,需要去适应并拥抱这种改变,未来并不是属于年轻人,而是属于能跟上时代脚步的人,既然做不成勇者,也要做个路人。
.NET Core 开发:永远的Hello Word的更多相关文章
- .NET Core使用NPOI导出复杂Word详解
前言: 最近使用NPOI做了个导出Word文档的功能,关于使用.NET Core 导出Word文档的方式有很多.最终我为什么选择了NPOI来实现了这个功能,首先是NPOI是一个开源,免费且容易上手的第 ...
- [转]ASP.NET Core 开发-Logging 使用NLog 写日志文件
本文转自:http://www.cnblogs.com/Leo_wl/p/5561812.html ASP.NET Core 开发-Logging 使用NLog 写日志文件. NLog 可以适用于 . ...
- ASP.NET Core 开发-中间件(Middleware)
ASP.NET Core开发,开发并使用中间件(Middleware). 中间件是被组装成一个应用程序管道来处理请求和响应的软件组件. 每个组件选择是否传递给管道中的下一个组件的请求,并能之前和下一组 ...
- ASP.NET Core开发-Docker部署运行
ASP.NET Core开发Docker部署,.NET Core支持Docker 部署运行.我们将ASP.NET Core 部署在Docker 上运行. 大家可能都见识过Docker ,今天我们就详细 ...
- ASP.NET Core开发-后台任务利器Hangfire使用
ASP.NET Core开发系列之后台任务利器Hangfire 使用. Hangfire 是一款强大的.NET开源后台任务利器,无需Windows服务/任务计划程序. 可以使用于ASP.NET 应用也 ...
- Core 开发-Logging 使用NLog
ASP.NET Core 开发-Logging 使用NLog 写日志文件 ASP.NET Core 开发-Logging 使用NLog 写日志文件. NLog 可以适用于 .NET Core 和 ...
- ASP.NET Core开发-读取配置文件Configuration
ASP.NET Core 是如何读取配置文件,今天我们来学习. ASP.NET Core的配置系统已经和之前版本的ASP.NET有所不同了,之前是依赖于System.Configuration和XML ...
- ASP.NET Core 开发-Entity Framework (EF) Core 1.0 Database First
ASP.NET Core 开发-Entity Framework Core 1.0 Database First,ASP.NET Core 1.0 EF Core操作数据库. Entity Frame ...
- ASP.NET Core 开发-Logging 使用NLog 写日志文件
ASP.NET Core 开发-Logging 使用NLog 写日志文件. NLog 可以适用于 .NET Core 和 ASP.NET Core . ASP.NET Core已经内置了日志支持,可以 ...
随机推荐
- Android拍照,录制视频,相机简单功能实现
1.效果图,功能没有录制出来. 基本实现了拍照,录制视频,前后摄像头切换的功能,可以转屏,聚焦. 代码在最下面,可以看代码,运行apk看实际效果. 2.权限不能忘 <uses-permissio ...
- 2019苏州凯美瑞德Java开发面试
第四家Kmerit,苏州园区,出门晚了差点迟到,一点五十五到达,先花了一小时笔试,后来两个人技术面试,四点二十出了大楼. 一.笔试 1.单选,知识点很散,涉及数据结构链表,数组,树,堆,数据库,网络, ...
- Android--XML页面的编写
五个页面 代码如下: 图片资源链接: https://pan.baidu.com/s/1jIoTDGE // 第一个 <RelativeLayout xmlns:andr ...
- 【Oracle】闪回技术
1.闪回技术描述 2.数据库的准备: --undo表空间要设置成AUTO,设置合适的保存时间.undo表空间: SYS@ENMOEDU> show parameter undo NAME TYP ...
- css—文字渐变色
.text-gradient { display: inline-block; color: green; font-size: 10em; font-family: ´微软雅黑´; backgrou ...
- jquery获取元素内容-text()和val()
不传参数的text()方法在获取文本内容时,会把子元素的文本也获取过来(会删除 HTML 标记),例子: <!doctype html> <html> <head> ...
- JS 封装一个求圆面积的函数 传值:半径
y(6) var s = ""; function y (r){ s = Math.PI*r*r; alert(s); }
- bzoj 1121: [POI2008]激光发射器SZK 思维_结论
Description 多边形相邻边垂直,边长为整数,边平行坐标轴.要在多边形的点上放一些激光发射器和接收器.满足下列要求: 1发射器和接收器不能放置在同一点: 2发射器发出激光可以沿壁反射,最终到达 ...
- python之子类调用父类的两种方式
第一种方式 直接在子类中调用父类名: Vehicle.__init__(self,name,speed,load,power)#调用父类的实例 Vehicle.run(self) #调用父类的方法 # ...
- Python全双工聊天
全双工聊天 全双工聊天:服务端和客户端都可以发送并接收信息. 使用select模块中的select方法 select(rlist, wlist, xlist[, timeout]) -> (rl ...