原文:ASP.NET Core 2 学习笔记(一)开始

来势汹汹的.NET Core似乎要取代.NET Framework,ASP.NET也随之发布.NET Core版本。虽然名称沿用ASP.NET,但相对于ASP.NET确实有许多架构上的差异,可以说除了名称外,已是两个不同的框架。

前言

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

.NET Core作为跨平台的框架,不再像 .NET Framework 要依附在 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 网站了。如下:  

用VS 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 和一般的文字编辑器有些不同,它是以文件夹为工作区域,打开一个目录,就等于打开了一个项目。从上方工具栏中文件->打开文件夹 选择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://github.com/SnailDev/SnailDev.NETCore2Learning

ASP.NET Core 2 学习笔记(一)开始的更多相关文章

  1. Asp.Net Core WebApi学习笔记(四)-- Middleware

    Asp.Net Core WebApi学习笔记(四)-- Middleware 本文记录了Asp.Net管道模型和Asp.Net Core的Middleware模型的对比,并在上一篇的基础上增加Mid ...

  2. ASP.NET Core 2 学习笔记(七)路由

    ASP.NET Core通过路由(Routing)设定,将定义的URL规则找到相对应行为:当使用者Request的URL满足特定规则条件时,则自动对应到相符合的行为处理.从ASP.NET就已经存在的架 ...

  3. ASP.NET Core 2 学习笔记(十三)Swagger

    Swagger也算是行之有年的API文件生成器,只要在API上使用C#的<summary />文件注解标签,就可以产生精美的线上文件,并且对RESTful API有良好的支持.不仅支持生成 ...

  4. ASP.NET Core 2 学习笔记(十二)REST-Like API

    Restful几乎已算是API设计的标准,通过HTTP Method区分新增(Create).查询(Read).修改(Update)和删除(Delete),简称CRUD四种数据存取方式,简约又直接的风 ...

  5. ASP.NET Core 2 学习笔记(十)视图

    ASP.NET Core MVC中的Views是负责网页显示,将数据一并渲染至UI包含HTML.CSS等.并能痛过Razor语法在*.cshtml中写渲染画面的程序逻辑.本篇将介绍ASP.NET Co ...

  6. sql server 关于表中只增标识问题 C# 实现自动化打开和关闭可执行文件(或 关闭停止与系统交互的可执行文件) ajaxfileupload插件上传图片功能,用MVC和aspx做后台各写了一个案例 将小写阿拉伯数字转换成大写的汉字, C# WinForm 中英文实现, 国际化实现的简单方法 ASP.NET Core 2 学习笔记(六)ASP.NET Core 2 学习笔记(三)

    sql server 关于表中只增标识问题   由于我们系统时间用的过长,数据量大,设计是采用自增ID 我们插入数据的时候把ID也写进去,我们可以采用 关闭和开启自增标识 没有关闭的时候 ,提示一下错 ...

  7. 使用Visual Studio Code开发Asp.Net Core WebApi学习笔记(十)-- 发布(Windows)

    本篇将在这个系列演示的例子上继续记录Asp.Net Core在Windows上发布的过程. Asp.Net Core在Windows上可以采用两种运行方式.一种是自托管运行,另一种是发布到IIS托管运 ...

  8. ASP.NET Core MVC学习笔记

    最近由于疫情紧张,遂在家办公,在领导的带领下,学习了一下.Net Core MVC. 一,构建web应用 1.选择c#-所有平台-web  找到ASP.NET Core web应用程序 2.项目命名之 ...

  9. 使用Visual Studio Code开发Asp.Net Core WebApi学习笔记(九)-- 单元测试

    本篇将结合这个系列的例子的基础上演示在Asp.Net Core里如何使用XUnit结合Moq进行单元测试,同时对整个项目进行集成测试. 第一部分.XUnit 修改 Project.json 文件内容, ...

随机推荐

  1. How to use WinSCP with public key authentication

          http://www.techrepublic.com/blog/it-security/how-to-use-winscp-with-public-key-authentication/ ...

  2. 以Network Dataset(网络数据集)方式实现的最短路径分析

    转自原文 以Network Dataset(网络数据集)方式实现的最短路径分析 构建网络有两种方式,分别是网络数据集NetworkDataset和几何网络Geometric Network,这个网络结 ...

  3. 判断文件是否存在的另一种方法 _access 和 _waccess

    函数原型: int _access( const char *path, int mode ); int _waccess( const wchar_t *path, int mode ); 示例代码 ...

  4. [React] Recompose: Theme React Components Live with Context

    SASS Bootstrap allows us to configure theme or branding variables that affect all components (e.g. P ...

  5. js进阶 10-8 伪类选择器有哪几类(自己不用,永远不是自己的)

    js进阶 10-8 伪类选择器有哪几类(自己不用,永远不是自己的) 一.总结 一句话总结:自己不用,永远不是自己的. 0.学而不用,却是为何? 自己不用,永远不是自己的,有需求的时候要想到它,然后操作 ...

  6. MySQL忘记root密码不重启mysqld的方法

    MySQL忘记root密码不重启mysqld的方法   1.首先得有一个可以拥有修改权限的mysql数据库账号,当前的mysql实例账号(较低权限的账号,比如可以修改zabbix数据库)或者其他相同版 ...

  7. 选课 - 树型DP(孩子兄弟建树法)

    题目描述 学校实行学分制.每门的必修课都有固定的学分,同时还必须获得相应的选修课程学分.学校开设了 N(N<300)门的选修课程,每个学生可选课程的数量 M 是给定的.学生选修了这M门课并考核通 ...

  8. OVS处理upcall流程分析

    处理upcall总体框架: 1.由函数handle_upcalls()批量处理(in batches)的是由内核传上来的dpif_upcalls,会解析出upcall的类型.这里主要看在内核中匹配流表 ...

  9. [Cordova+Sencha Touch] 移动开发1 sencha 2.4.0 + 在 安卓2.3.6上使用报错 - has no method 'bind'

    Sencha Touch 2.3.2和2.4.0在安卓2.3上面用会报错,具体报错信息如下: 解决办法是: 打开文件:你的file:///android_asset/www/sencha-touch- ...

  10. 推断(inference)、贝叶斯规则(Bayes's rule)与导出分布(derived distribution)

    1. 建模 对原始信号 X 进行观测,观测可以抽象为(离散:PY|X(y|x), 连续:fY|X(y|x)),物理世界噪声的存在,将导致观测到的 X 出现一定的噪声,记为 Y: X⇒fY|X(y|x) ...