.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已经内置了日志支持,可以 ...
随机推荐
- 实现model中的文件上传FTP(二)
上一篇博客记录了如何将model中的图片存入FTP,通过一个第三方的storages简单的实现了,但是后续我发现如果想在浏览器通过url直接获取图片,就不太容易了(大神轻喷,小弟自学django和py ...
- [转]SURF算法解析
SURF算法解析 一.积分图像 积分图像的概念是由Viola和Jones提出的.积分图像中任意一点(i,j)的值为原图像左上角到任意点(i,j)相应的对焦区域的灰度值的总和,其数学公式如图1所示 ...
- SQLServer 事务的隔离级别
SQLServer事务的隔离级别 数据库是要被广大客户所共享访问的,那么在数据库操作过程中很可能出现以下几种不确定情况. 更新丢失(Lost update) 两个事务都同时更新一行数据,但是第二个事务 ...
- (转)Bootstrap 之 Metronic 模板的学习之路 - (7)GULP 前端自动化工具
https://segmentfault.com/a/1190000006738327 初步了解 Metronic 的结构和应用后,我们就可以在项目中应用起来了.考虑到实际项目应用时,会有很多文件需要 ...
- JS去空格、截取页面url
1. 去掉字符串前后所有空格: 代码如下: function Trim(str) { return str.replace(/(^\s*)|(\s*$)/g, ""); } 说明 ...
- 路飞学城Python-Day140
Django思维导图
- 什么时候用created,什么时候用mounted
created 在实例创建完成后被立即调用.在这一步,实例已完成以下的配置:数据观测 (data observer), 属性和方法的运算,watch/event 事件回调.然而,挂载阶段还没开始,$e ...
- 小白学习Spark系列六:Spark调参优化
前几节介绍了下常用的函数和常踩的坑以及如何打包程序,现在来说下如何调参优化.当我们开发完一个项目,测试完成后,就要提交到服务器上运行,但运行不稳定,老是抛出如下异常,这就很纳闷了呀,明明测试上没问题, ...
- Javascript中的原型链,__proto__和prototype等问题总结
1.js中除了原始数据类型 都是对象. 包括函数也是对象,可能类似于C++函数对象把 应该是通过解释器 进行()操作符重载或其他操作, 用的时候把它当函数用就行 但是实际上本质是一个对象 原型也是一个 ...
- jenkins 新增节点的3种方式
1.通过ssh建立节点(在节点机子上要安装好jdk) (1)通过用户+密码建立ssh连接 (2)通过用户+密钥建立连接 2.通过jnlp,javaweb的方式连接 (1)创建好节点 (2)在节点的机子 ...