来势汹汹的.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. ElasticSearch:分析器

    ElasticSearch入门 第七篇:分析器 这是ElasticSearch 2.4 版本系列的第七篇: ElasticSearch入门 第一篇:Windows下安装ElasticSearch El ...

  2. [Android]Fragment自定义动画、动画监听以及兼容性包使用

    Fragment是Android在API 11之后加入的一个组件,对提高Android开发中的布局合理性和布局效率都有很大作用,尤其是在Android平板等大屏幕设备的开发中,Fragment的引入能 ...

  3. shp数据和tab数据的两点区别

    作者:朱金灿 来源:http://blog.csdn.net/clever101 shp是ArcGIS的矢量格式,tab是Mapinfo的矢量格式.shp数据和tab数据有两点区别:一是shp数据的f ...

  4. C# 反射调用私有事件

    原文:C# 反射调用私有事件 在 C# 反射调用私有事件经常会不知道如何写,本文告诉大家如何调用 假设有 A 类的代码定义了一个私有的事件 class A { private event EventH ...

  5. Android中判断网络是否连接并提示设置

    /** * 判断网络是否连通 * @param context * @return */ public static boolean isNetworkConnected(Context contex ...

  6. WPF 设置了阴影效果后,Y轴位置会有变化的问题

    原文:WPF 设置了阴影效果后,Y轴位置会有变化的问题 背景 最近遇到一个动画执行时,文本位置变化的问题.如下图: 如果你仔细看的话,当星星变小时,文本往下降了几个像素. 貌似有点莫名其妙,因为控件之 ...

  7. WinForm - 窗体淡入效果界面的简单实现方法

    WinForm窗体淡入效果主要使用到控件的Opacity属性 首先在WinForm窗体中拖入一个Timer控件,然后再Timer控件的Tick事件添加如下代码: private void timer1 ...

  8. Project Euler:Problem 39 Integer right triangles

    If p is the perimeter of a right angle triangle with integral length sides, {a,b,c}, there are exact ...

  9. spring mybatis circular reference

    摘要: Error creating bean with name 'XXX': Requested bean is currently in creation: Is there an unreso ...

  10. Backbone Collection

    http://yujianshenbing.iteye.com/blog/1748826 如果将一个Model对象比喻成数据库中的一条记录,那么Collection就是一张数据表.它表示为一个模型集合 ...