来势汹汹的.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 安装的版本,指令如下:

  1. dotnet --version

建立网站专案

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

  1. dotnet new web

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

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

启动网站

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

  1. 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。目录结构如下:

  1. .vscode/ # VS Code 設定檔目錄
  2. launch.json # 用 VS Code 啟動程式的設定檔
  3. tasks.json # 定義 launch.json 會用道的指令設定檔
  4. obj/ # 專案暫存目錄
  5. wwwroot/ # 預設網站根目錄 (空的)
  6. MyWebsite.csproj # 專案檔
  7. Program.cs # 程式進入點
  8. 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. SQLite的查询优化

    SQLite是个典型的嵌入式DBMS,它有很多优点,它是轻量级的,在编译之后很小,其中一个原因就是在查询优化方面比较简单,它只是运用索引机制来进行优化的,经过对SQLite的查询优化的分析以及对源代码 ...

  2. Qt5信号与槽C++11风格连接简介

    最近在论坛上看到了这个方面的问题,详见这里. 随后浅浅地学习了一下子,看到了Qt官方论坛上给出的说明,觉得C++11的functional连接方法还是比Qt4既有的宏连接方法有很大不同. 官方论坛的文 ...

  3. caffe 源码阅读

    bvlc:Berkeley Vision and Learning Center. 1. 目录结构 models(四个文件夹均有四个文件构成,deploy.prototxt, readme.md, s ...

  4. 解决无法定位程序输入点SymEnumSymbols于动态链接库dbghelp.dll

    作者:朱金灿 来源:http://blog.csdn.net/clever101 下载一个源码,使用VS2008编译链接无问题,运行时出现一个错误:无法定位程序输入点SymEnumSymbols于动态 ...

  5. DELPHI高性能大容量SOCKET并发(四):粘包、分包、解包

    粘包 使用TCP长连接就会引入粘包的问题,粘包是指发送方发送的若干包数据到接收方接收时粘成一包,从接收缓冲区看,后一包数据的头紧接着前一包数据的尾.粘包可能由发送方造成,也可能由接收方造成.TCP为提 ...

  6. go语言刷leetcode - 14 Longest Common Prefix

    func longestCommonPrefix(strs []string) string { { return "" } { ] } ; ; idx++ { ; i < ...

  7. 转:PyQt4学习资料汇总 from coderzh

    一个月前研究了下PyQt4,感觉比较不错.相比wxpython,界面美观了很多,并且将界面设计与代码逻辑很好的分离了开来.关于PyQt4的资料也不少,这里我将我找到的资料汇总一下,以防自己以后忘得一干 ...

  8. 合并 && 还原属性链

    效果 原数据 { "id": 10, "text": { "title": "title", "content ...

  9. SICP 1.11-1.13

    1.11 递归版本 (define (f n) (cond ((< n ) n) ()) (* (f (- n )) ) (* (f (- n )) ))))) 迭代版本 (define (f ...

  10. jquery开关灯

    <!DOCTYPE html><html lang="en" xmlns="http://www.w3.org/1999/xhtml"> ...