从.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中国学习小组,不过听说大神都是直接看源代码。

  官网:https://dotnet.github.io/

  园子: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作为主力生产力语言仍然还有很长一段路要走,但做为程序员,需要去适应并拥抱这种改变,未来并不是属于年轻人,而是属于能跟上时代脚步的人,既然做不成勇者,也要做个路人。

最新文章

  1. C#正则表达式Regex常用匹配
  2. stl学习(二)集合 set 的使用
  3. Eclipse中FindBugs插件的应用
  4. paip.提升用户体验--radio图片选择器 easyui 实现..
  5. 后端码农谈前端(CSS篇)第二课:CSS的5个来源
  6. maven项目 Java compiler level does not match the version of the installed Java project facet
  7. 对struts2的基本知识和环境的搭建(配图解)
  8. 转:前端冷知识(~~some fun , some useful)
  9. 第一百三十四节,JavaScript,封装库--遮罩锁屏
  10. nginx负载均衡2
  11. 剑指Offer——常用SQL语句、存储过程和函数
  12. Day 2 上午
  13. Spring data jpa 调用存储过程处理返回参数及结果集
  14. docker镜像运行错误排查
  15. Java如何从IP地址查找主机名?
  16. linux bash基本特性
  17. [ERROR] InnoDB: ibdata1 different size (rounded down to MB)
  18. 2.Django模型
  19. css 图片文字居中
  20. 7、Linux应用程序地址布局

热门文章

  1. BZOJ1096: [ZJOI2007]仓库建设(dp+斜率优化)
  2. 7) 十分钟学会android--Activity的生命周期之暂停与恢复
  3. Mybatis xml约束文件的使用
  4. URLLib库使用
  5. Oracle下rman备份和还原到数据库任意一个时间点
  6. 路飞学城Python-Day79
  7. TensorFlow+实战Google深度学习框架学习笔记(10)-----神经网络几种优化方法
  8. ajax异步上传文件和表单同步上传文件 的区别
  9. python第一周:python初识、流程控制
  10. 最快理解 - IO多路复用:select / poll / epoll 的区别.