[铁人赛] ASP.NET Core 2 系列- 从头开始
来势汹汹的.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.json、tasks.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 系列- 从头开始的更多相关文章
- 跟我学: 使用 fireasy 搭建 asp.net core 项目系列之一 —— 开篇
==== 目录 ==== 跟我学: 使用 fireasy 搭建 asp.net core 项目系列之一 —— 开篇 跟我学: 使用 fireasy 搭建 asp.net core 项目系列之二 —— ...
- 跟我学: 使用 fireasy 搭建 asp.net core 项目系列之三 —— 配置
==== 目录 ==== 跟我学: 使用 fireasy 搭建 asp.net core 项目系列之一 —— 开篇 跟我学: 使用 fireasy 搭建 asp.net core 项目系列之二 —— ...
- 跟我学: 使用 fireasy 搭建 asp.net core 项目系列之二 —— 准备
==== 目录 ==== 跟我学: 使用 fireasy 搭建 asp.net core 项目系列之一 —— 开篇 跟我学: 使用 fireasy 搭建 asp.net core 项目系列之二 —— ...
- 《ASP.NET Core 高性能系列》致敬伟大的.NET斗士甲骨文!
写在开始 三年前,曾写过一篇文章:从.NET和Java之争谈IT这个行业,当时遭到某些自认为懂得java就了不起的Javaer抨击, 现在可以致敬伟大的.NET斗士甲骨文了 (JDK8以上都需要收费, ...
- ASP.NET Core Authentication系列(四)基于Cookie实现多应用间单点登录(SSO)
前言 本系列前三篇文章分别从ASP.NET Core认证的三个重要概念,到如何实现最简单的登录.注销和认证,再到如何配置Cookie 选项,来介绍如何使用ASP.NET Core认证.感兴趣的可以了解 ...
- ASP.NET Core学习系列
.NET Core ASP.NET Core ASP.NET Core学习之一 入门简介 ASP.NET Core学习之二 菜鸟踩坑 ASP.NET Core学习之三 NLog日志 ASP.NET C ...
- 转载: ASP.NET Core入门系列文章
今天在网上发现了ithome上的asp.net core 系列文章,对于新手入门还不错,这里转载一下,也方便查阅. [Day01] 從頭開始 [Day02] 程式生命週期 (Application L ...
- 《ASP.NET Core 高性能系列》ASP.NET Core的启动过程(1)
一.一切从头开始 简述:知道事情的真相就应该从头 开始,下面我们代码先行 public class Program { public static void Main(string[] args) { ...
- 《ASP.NET Core 高性能系列》关于.NET Core的配置信息的若干事项
1.配置文件的相关闲话 Core自身对于配置文件不是必须品,但由上文分析可知ASP.NET Core默认采用appsettings.json作为配置文件,关于配置信息的优先等级 命令行>环境变量 ...
随机推荐
- JavaScript实现简单图片滚动 --9张图告诉你,C罗欲哭无泪
源代码下载:http://download.csdn.net/detail/u011043843/7510425 昨晚德国和葡萄牙的焦点之战你看了吗?北京时间凌晨的比赛中.C罗领衔的葡萄牙0-4德国被 ...
- js判断两个时间段是否有交集
//判断两个时间是否有交集 function isDateIntersection(start1, end1, start2, end2) { var startdate1 = new Date(st ...
- Ubuntu server使用命令行上板VPNclient
Ubuntu server使用命令行上板VPNclient VPN,虚拟专用网络,这个技术还是非常有用的.近期笔者參与的项目中就使用上了VPN,大概情况是这种.有两个开发团队,在异地,代码服务器在深圳 ...
- 读取和修改xml文件
如有一个xml文件DownData.xml,内容如下 <?xml version="1.0" standalone="yes"?> <Root ...
- Hadoop和RDBMS的混合系统介绍
现在大数据概念被时常提起,社会各界对其关注度越来越高.往往越是火热的东西,人们越容易忽略它的本质.在 slides 中,我首先按照自己的理解,简单的理顺数据处理领域的发展历程.之后,落脚点是两个比较有 ...
- node lesson4--eventproxy不懂
var express = require('express'); var superagent = require('superagent'); var cheerio = require('che ...
- 获得WIN7管理员权限(可通过修改注册表,或者组策略改变)
在使用WIN7过程中,常常会再出现没有管理员权限而不能正常运行软件(有的软件直接就是打不开,有的软件不能正常运行(比如如果没有管理员权限,keil就不能注册成功))....也许你会说,我的电脑里只有一 ...
- wxWidgets初学者导引(3)——wxWidgets应用程序初体验
wxWidgets初学者导引全目录 PDF版及附件下载 1 前言2 下载.安装wxWidgets3 wxWidgets应用程序初体验4 wxWidgets学习资料及利用方法指导5 用wxSmith ...
- python reversed
reversed()函数是返回序列seq的反向访问的迭代子.参数可以是列表,元组,字符串,不改变原对象. 例题: 牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上.同事 ...
- echarts 堆叠折线
option = { title: { text: '折线图堆叠' }, tooltip: { trigger: 'axis' }, legend: { data:['邮件营销','联盟广告','视频 ...