来势汹汹的.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. BZOJ 2330 - 差分约束系统

    传送门 题目分析 差分约束 这里做个简单介绍:形如\(x_i - x_j >= d\)的不等式,可以联想到我们求最短路时\(d_v <= d_u + len\),则上式可以变形为\(x_i ...

  2. JavaScript实现简单图片滚动 --9张图告诉你,C罗欲哭无泪

    源代码下载:http://download.csdn.net/detail/u011043843/7510425 昨晚德国和葡萄牙的焦点之战你看了吗?北京时间凌晨的比赛中.C罗领衔的葡萄牙0-4德国被 ...

  3. KDE 邀请用户测试 Plasma Mobile 的首个专用 ISO 镜像(可以考虑做一个极客。。。)

    KDE 项目依旧在继续改进智能手机.平板电脑和其他移动设备的 Plasma Mobile 用户界面,并于近日发布了一个 ISO 镜像,邀请社区的尝鲜用户进行测试. 他们曾承诺在 2018 年年底之前, ...

  4. AndroidStudio一步步教你修改项目包名(最详细,最易懂)

    如果你看了很多篇博文还是修改不了包名,我相信这篇可以帮你解决修改包名的问题 修改项目包名,实现不覆盖安装(如果只是想不覆盖安装,更改build.gradle里面的包名就OK了,那这篇博文到这里就可以结 ...

  5. 利用WPF建立自己的3d gis软件(非axhost方式)(一)

    原文:利用WPF建立自己的3d gis软件(非axhost方式)(一) 先下载SDK:https://pan.baidu.com/s/1M9kBS6ouUwLfrt0zV0bPew 密码:1te1 地 ...

  6. 【Codeforces Round #438 A】Bark to Unlock

    [链接]h在这里写链接 [题意] 在这里写题意 [题解] 枚举它是在连接处,还是就是整个字符串就好. [错的次数] 0 [反思] 在这了写反思 [代码] #include <bits/stdc+ ...

  7. JSON排序

    //排序之前 var arrs=[{"PageID":"1"},{"PageID":"10"},{"PageI ...

  8. c语言学习笔记(14)——算法

    链表 算法: 1.通俗定义: 解题的方法和步骤 2.狭义定义: 对存储数据的操作 对不同的存储结构,要完成某一个功能所执行的操作是不一样的 比如:要输出数组中所有的元素和输出链表中所有元素的操作是不一 ...

  9. JDK源代码学习系列03----StringBuffer+StringBuilder

                         JDK源代码学习系列03----StringBuffer+StringBuilder 因为前面学习了StringBuffer和StringBuilder的父类 ...

  10. Method and system for public-key-based secure authentication to distributed legacy applications

    A method, a system, an apparatus, and a computer program product are presented for an authentication ...