.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已经内置了日志支持,可以 ...
随机推荐
- 关于出现Failed to instantiate SLF4J LoggerFactory问题原因,解决办法
在创建spring boot 文档进行配置的时候,因为使用spring boot 父级依赖的版本 <artifactId>spring-boot-starter-parent</ar ...
- R 连接DB2数据库,并制作词图
#写在前面的话:此教程主要是用R连接了DB2数据库,并进行文本分析,制作了词图 #教程为markdown编写 ---title: "网站留言分析"output: html_docu ...
- C#中null、""、string.empty区别
(1)NULLnull 关键字是表示不引用任何对象的空引用的文字值.null 是引用类型变量的默认值.那么也只有引用型的变量可以为NULL,如果int i=null,的话,是不可以的,因为Int是值类 ...
- WinAPI使用: 时间,线程,中断
(1):C/C++获取当前系统时间:http://www.cnblogs.com/mfryf/archive/2012/02/13/2349360.html 不过当计算算法耗时的时候,不要忘记seco ...
- 2018秋招blibli算法工程师
我给出代码如下:和之前做数塔(dp的入门题目)的思路一致 dp[i][j]为走到坐标(i,j)的最小减速(只有向右走和向上走两种情况) #include<stdio.h> #include ...
- 洛谷P1850 换教室_数学期望_Floyd
调了一下午QAQ-让我对数学期望的理解又提升了一个层次. 首先,我们发现 v<=300v<=300v<=300 , 这样我们就可以用 FloydFloydFloyd 算法来 O(n3 ...
- PowerDesigner工具
PowerDesigner是一款数据库设计与建模工具,开发人员可以在上面设计表结构,而不用一开始就创建数据库中的表,因为设计阶段数据库表结构会经常变动.设计完后可以导出创建所有表的SQL脚本,直接执行 ...
- 网络教程(13) 深入TCP协议
应用层向TCP层发送用于网间传输的.用8位字节表示的数据流,然后TCP把数据流分割成适当长度的报文段(通常受该计算机连接的网络的数据链路层的最大传输单元(MTU)的限制).之后TCP把结果包传给IP层 ...
- springboot实现mongodb上传下载
1.上传: private static Logger log = LoggerFactory.getLogger(MongoDbFSUtil.class); private static final ...
- WEBGL学习【七】画布绘图
主要是对WEBGL的绘图部分进行了进一步加强的认识和理解 <!DOCTYPE HTML> <html lang="en"> <head> < ...