来势汹汹的.NET Core似乎要取代.NET Framework,ASP.NET也随之发布.NET Core版本。虽说名称沿用ASP.NET,但相较于ASP.NET确有许多架构上的差异,可说是除了名称外,已是两个不同的框架。
本系列文将介绍ASP.NET Core入门教学及一些实务运用的范例,本篇主要介绍基本的ASP.NET Core环境准备及如何用Visual Studio Code (VS Code)开发ASP.NET Core。

同步发布至个人部落格:
John Wu's Blog - [铁人赛Day01] ASP.NET Core 2系列-从头开始

前言

要开发.NET Core必需要安装.NET Core SDK,所以先到官网下载.NET Core SDK的安装档,官网下载位置点我

.NET Core是跨作业系统的框架,不再像.NET Framework要依附在Windows的作业系统才能执行,所以你可以依照你需要的版本进行下载及安装。
虽然我的电脑是Windows作业系统,但接下来的系列教学都会是以指令为主。
(安装软体步骤太简单,除了按下一步以外,几乎没什么好解说的,所以不介绍怎么安装软体。)

安装完成后,可以透过.NET Core CLI (Command-Line Interface)确认.NET Core SDK 安装的版本,指令如下:

dotnet --version

建立网站专案

先建立一个专案资料夹MyWebsite,然后在该资料夹执行.NET Core CLI建置网站的指令:

dotnet new web

.NET Core CLI 会在该资料夹,建立一个空的ASP.NET Core 专案,内容如下:

obj/                            # 專案暫存目錄
wwwroot/ # 預設網站根目錄 (空的)
MyWebsite.csproj # 專案檔
Program.cs # 程式進入檔
Startup.cs # 啟動網站設定

启动网站

建立完成后,就可以用.NET Core CLI 启动网站了。启动网站指令:

dotnet run

.NET Core CLI预设会起一个http://localhost:5000/的站台,用浏览器打开此连结就可以看到ASP.NET Core网站了。如下:

Visual Studio Code

.NET Core 都已经跨作业系统了,开发工具当然也就不再限制于Visual Studio IDE (Visual Studio 2017/2015 等)。基本上纯文字编辑器搭配.NET Core CLI 就可以开发ASP.NET Core 了,但没有中断点除错或Autocomplete 开发有些辛苦。如果是Windows 作业系统,最推荐的当然还是Visual Studio IDE,再来就是Visual Studio Code (简称VS Code)。

VS Code是一套可安装扩充套件的文字编辑器,有支援Windows、Mac及Linux版本,极轻量又免费。
只要安装扩充套件就变成了IDE,并且支援多种不同的程式语言。下载位置点我

安装扩充套件

打开VS Code可以在左边看到五个Icon,点选最下面的那个Extensions图示,并在Extensions搜寻列输入C#,便可以找到C#的扩充套件安装。如下图:

开启专案

VS Code跟一般文字编辑器有些不同,它是以资料夹为工作区域,开启一个目录,就等通于是开启一个专案。从上方工具列File -> Open Folder选择ASP.NET Core专案目录,大概隔几秒后,VS Code会提示是否要帮此专案加入Build/Debug的设定。如下图:

Build/Debug 设定

如果没有自动提示加入Build/Debug 设定,可以在左边Icon,点选倒数第二个Debug 图示,手动加入Build/Debug 设定。如下步骤:


设定完成后,VS Code会自动建立.vscode目录及设定档launch.jsontasks.json。目录结构如下:

.vscode/                        # VS Code 設定檔目錄
launch.json # 用 VS Code 啟動程式的設定檔
tasks.json # 定義 launch.json 會用道的指令設定檔
obj/ # 專案暫存目錄
wwwroot/ # 預設網站根目錄 (空的)
MyWebsite.csproj # 專案檔
Program.cs # 程式進入點
Startup.cs # 啟動網站設定

中断点除错

在程式码行号左边点击滑鼠就可以下中断点了,跟一般IDE 差不多。然后在Debug 侧栏启动侦错:

当执行到该中断点后,就会停下来,并在Debug 侧栏显示当前变数状态等,也可以用滑鼠移到变数上面检视该变数的内容。如下:

侦错方式跟大部分的IDE都差不多,可以Step over、Step in/out等。
如此一来就可以用VS Code轻松开发ASP.NET Core。

转载自:https://blog.johnwu.cc/article/ironman-day01-asp-net-core-starting.html

[铁人赛] ASP.NET Core 2 系列- 从头开始的更多相关文章

  1. 跟我学: 使用 fireasy 搭建 asp.net core 项目系列之一 —— 开篇

    ==== 目录 ==== 跟我学: 使用 fireasy 搭建 asp.net core 项目系列之一 —— 开篇 跟我学: 使用 fireasy 搭建 asp.net core 项目系列之二 —— ...

  2. 跟我学: 使用 fireasy 搭建 asp.net core 项目系列之三 —— 配置

    ==== 目录 ==== 跟我学: 使用 fireasy 搭建 asp.net core 项目系列之一 —— 开篇 跟我学: 使用 fireasy 搭建 asp.net core 项目系列之二 —— ...

  3. 跟我学: 使用 fireasy 搭建 asp.net core 项目系列之二 —— 准备

    ==== 目录 ==== 跟我学: 使用 fireasy 搭建 asp.net core 项目系列之一 —— 开篇 跟我学: 使用 fireasy 搭建 asp.net core 项目系列之二 —— ...

  4. 《ASP.NET Core 高性能系列》致敬伟大的.NET斗士甲骨文!

    写在开始 三年前,曾写过一篇文章:从.NET和Java之争谈IT这个行业,当时遭到某些自认为懂得java就了不起的Javaer抨击, 现在可以致敬伟大的.NET斗士甲骨文了 (JDK8以上都需要收费, ...

  5. ASP.NET Core Authentication系列(四)基于Cookie实现多应用间单点登录(SSO)

    前言 本系列前三篇文章分别从ASP.NET Core认证的三个重要概念,到如何实现最简单的登录.注销和认证,再到如何配置Cookie 选项,来介绍如何使用ASP.NET Core认证.感兴趣的可以了解 ...

  6. ASP.NET Core学习系列

    .NET Core ASP.NET Core ASP.NET Core学习之一 入门简介 ASP.NET Core学习之二 菜鸟踩坑 ASP.NET Core学习之三 NLog日志 ASP.NET C ...

  7. 转载: ASP.NET Core入门系列文章

    今天在网上发现了ithome上的asp.net core 系列文章,对于新手入门还不错,这里转载一下,也方便查阅. [Day01] 從頭開始 [Day02] 程式生命週期 (Application L ...

  8. 《ASP.NET Core 高性能系列》ASP.NET Core的启动过程(1)

    一.一切从头开始 简述:知道事情的真相就应该从头 开始,下面我们代码先行 public class Program { public static void Main(string[] args) { ...

  9. 《ASP.NET Core 高性能系列》关于.NET Core的配置信息的若干事项

    1.配置文件的相关闲话 Core自身对于配置文件不是必须品,但由上文分析可知ASP.NET Core默认采用appsettings.json作为配置文件,关于配置信息的优先等级 命令行>环境变量 ...

随机推荐

  1. SpringBoot项目优化和Jvm调优(楼主亲测,真实有效)

    项目调优 作为一名工程师,项目调优这事,是必须得熟练掌握的事情. 在SpringBoot项目中,调优主要通过配置文件和配置JVM的参数的方式进行. 在这边有一篇比较好的文章,推荐给大家! Spring ...

  2. [Android]TextView点击获取部分内容

    TextView控件本身有很多属性可以进行控制,如果要获取内容只需要getText()方法就可以实现,同时也可以为TextView设置各种监听器.但是,如果想要实现点击获取TextView内部的部分内 ...

  3. 关于HierarchyViewer的使用

    在学习ViewGroup和Layout时我们可能会有一个疑问,如果我在Xml布局文件中不放置Layout,直接放TextView等组件的时候,它是用什么方式布局的?还有要学习别人优秀的布局怎么办? H ...

  4. 【转】mac版微信web开发者工具(小程序开发工具)无法显示二维码 解决方案

    转自:https://www.cnblogs.com/stevenluo/p/6030445.html   微信小程序概念的提出,绝对可以算得上中国IT界惊天动地的一件大事,这可能意味着一场新的开发热 ...

  5. “warning C4996: 'fopen': This function or variable may be unsafe”和“LINK : fatal error LNK1104”的解决办法

    程序有时编译出现警告C4996,报错:  warning C4996: 'fopen': This function or variable may be unsafe. Consider using ...

  6. python实现身份证校验位计算

    身份证校验码的计算方法 1.将前面的身份证号码17位数分别乘以不同的系数.第i位对应的数为[2^(18-i)]mod11.从第一位到第十七位的系数分别为:7 9 10 5 8 4 2 1 6 3 7 ...

  7. Linux性能测试 ss命令

    ss即socket state,也就是说,是可以查看系统中socket的状态的.我们可以用netstat,但为什么还要用ss这个工具呢,当然ss也是有好处的.当我们打开的socket数量很多时,net ...

  8. Unity3d 鼠标的事件GetMouseButtonDown()、GetMouseButton()、GetMouseButtonUp()

    当鼠标按键按下时,返回一次true,后面參数0是左键,1是右键,2是中键 if(Input.GetMouseButtonDown(0)) Debug.Log("Pressed left cl ...

  9. AntDesign Form表单字段校验的三种方式

    1.使用getFieldDecorator的rules规则 最简单的方法就是使用getFieldDecorator中的rules验证.rules中定义校验规则,message为校验不通过时的提示文字. ...

  10. DELPHI下多线程编程的几个思维误区(QDAC)

    有几个网友私下问我一些有关线程的事情.过节写个东西上来大家交流. 思维误区1,自己新建的THREAD是线程,自己的主程序不是线程. 很多人在多线程编程没有把主线程也当作线程.其实主线程也是线程.看起来 ...