使用 VS2019 创建 ASP.NET Core Web 程序

本文作者:梁桐铭- 微软最有价值专家(Microsoft MVP) 
文章会随着版本进行更新,关注我获取最新版本 
本文出自《从零开始学 ASP.NET Core 与 EntityFramework Core》目录 
视频课程效果更佳:跨平台开发实战掌握 ASP.NET Core 与 EntityFramework Core

创建 ASP.NET Core Web 应用程序

如果您使用的是 VS2017 请看 VS2017 创建 ASP.NET Core Web 程序(三)

在这个视频中我们将讨论

  • 可用的不同项目模板及其功能
  • 预制的项目模板有什么不同,哪些是可以使用的,以及他们的作用。

在 Visual Studio 2019 中创建新的 ASP.NET Core 项目

步骤 1:在 Visual Studio 2019 中创建新的 asp.net Core 项目

步骤 2:在 Visual Studio 中单击**“创建新项目”**。

第 3 步:在“创建”对话框中,右侧菜单栏“语言”下选择“C#”,然后点击**“ASP.NET Core Web 应用程序”**

第 4 步:在配置新项目菜单栏中,键入项目的名称。我将其命名为StudentManagement。 我们将创建一个 asp.net core web 应用程序,在这个程序中,我们将创建、读取、更新、删除学生。

第 5 步:另外,指定要创建此项目的位置。我将把我的项目放在,路径为,C:\Projects\source\repos 文件夹中。

第 6 步:点击创建按钮。

此处的步骤和 VS 2017 不太相同。

第 7 步: 在下一个屏幕上,选择 ASP.NET Core 2.2(此录制时可用的最新.NET Core SDK) 

第 8 步:取消选中“为 HTTPS 配置”复选框 ,如上图所示,关闭身份验证。

此屏幕显示可用于创建 ASP.NET Core 应用程序的不同项目模板。

各个模板简单说明

空:名称暗示的“空”模板不包含任何内容。这是我们将使用的模板,并从头开始手动设置所有内容,以便我们清楚地了解不同部分如何组合在一起。

Web 应用程序(模型视图控制器):此模板包含创建 Model,视图(Views)和控制器文件夹并添加 Web 特定的内容,如 CSS,JavaScript 文件,布局文件和网站所需的其他资源,也可以基于此模板创建 Restful 风格的 HTTP 服务。

下面的屏幕截图显示了我使用Web应用程序(模型视图控制器)创建的项目。请注意,我们有Modes,Views 和 Controllers 文件夹。在 Views 文件夹中,我们有示例视图文件和布局文件,它们代表 Web 应用程序的用户界面。我们还有 Web 应用程序通常需要的 JavaScript 和 CSS 文件。

API:此模板包含创建 ASP.NET Core RESTful HTTP 服务所需的一切

AP I 不需要所有网站特定的内容,如 JavaScript 文件,CSS 文件,视图文件,布局文件,因为它没有用户界面。Web API 公开的数据通常由其他应用程序使用,可以简单的理解为 程序和程序之间打交道。

因此,API 模板只会创建Controllers文件夹。它不会创建 Models 和 Views文件夹,因为它们不是 API 所必需的。下面的屏幕截图显示了我使用 API 模板创建的项目。请注意,我们只有Controllers文件夹。我们没有 RESTful API 不需要的所有 JavaScript,CSS 和布局文件。

Web 应用程序:此模板使用新的用于构建 Web 应用程序的 RazorPages 框架。使用 Razor 页面,编写以页面为中心的场景更容易,更高效。当我们不想要 ASP.NET MVC 的完整复杂性时,我们通常使用这种方法。我们可以将其视为 MVC 框架的更薄版本。我们将在即将发布的视频中详细讨论 RazorPages。

Razor 类库(RCL):顾名思义,我们使用此模板创建可复用的 Razor 类库项目。该项目包含所有可复用的用户界面部分,如数据模型,页面模型,控制器,页面,Razor 视图和 View 组件。然后,可以在多个应用程序中复用此 Razor 类库(RCL)项目。任何使用 RCL 的应用程序都可以覆盖它包含的视图和页面。我们将在后面发布的视频中讨论 RCL。

Angular,React.js,React.js 和 Redux:这三个模板允许我们与 Angular,React 或 React 和 Redux 一起创建 asp.net Core Web 应用程序。

在下一篇文章中,我们将探索和理解 ASP.NET Core 项目文件。

摘要

在本文中,我尝试解释如何使用从头开始的创建项目,以及不同类型的模板的区别。我希望这篇文章可以帮助您满足您的需求。我想收到你的反馈意见。请发布您对本文的反馈,问题或意见。

文章说明

如果您觉得我的文章质量还不错,欢迎打赏,也可以订阅我的视频哦 
未得到授权不得擅自转载本文内容,52abp.com 保留版权

感谢您对我的支持

[03]使用 VS2019 创建 ASP.NET Core Web 程序的更多相关文章

  1. [03-2]VS2017 创建 ASP.NET Core Web 程序

    VS2017 创建 ASP.NET Core Web 程序 本文作者:梁桐铭- 微软最有价值专家(Microsoft MVP) 文章会随着版本进行更新,关注我获取最新版本 本文出自<从零开始学 ...

  2. 在Mac下创建ASP.NET Core Web API

    在Mac下创建ASP.NET Core Web API 这系列文章是参考了.NET Core文档和源码,可能有人要问,直接看官方的英文文档不就可以了吗,为什么还要写这些文章呢? 原因如下: 官方文档涉 ...

  3. asp.net core-1.在控制台创建ASP.NET Core应用程序

    创建asp.net core应用程序,需要先把环境安装好,我这边选的是vs2017 第一步先执行dotnet 我执行dotnet --help可以把所有的命令全部列出来: 红框内就是我们可以用来初始化 ...

  4. asp.net core-2.在vs2017中创建asp.net core应用程序

    今天我们用vs2017创建一个asp.net core 的应用程序,打开vs2017 点击:文件—>项目,选择asp.net core web 应用程序 点击确定 红框内就昨天用控制台去创建的应 ...

  5. ASP.NET Core Web程序托管到Windows 服务

    前言 在 .NET Core 3.1和WorkerServices构建Windows服务 我们也看到了,如何将workerservices构建成服务,那么本篇文章我们再来看看如何将web应用程序托管到 ...

  6. Azure 部署 Asp.NET Core Web App

    在云计算大行其道的时代,当你在部署一个网站时,第一选择肯定是各式各样的云端服务.那么究竟使用什么样的云端服务才能够以最快捷的方式部署一个 ASP.NET Core 的网站呢?Azure 的 Web A ...

  7. ASP.NET Core 实战:使用 ASP.NET Core Web API 和 Vue.js 搭建前后端分离项目

    一.前言 这几年前端的发展速度就像坐上了火箭,各种的框架一个接一个的出现,需要学习的东西越来越多,分工也越来越细,作为一个 .NET Web 程序猿,多了解了解行业的发展,让自己扩展出新的技能树,对自 ...

  8. [译]ASP.NET Core Web API 中使用Oracle数据库和Dapper看这篇就够了

    [译]ASP.NET Core Web API 中使用Oracle数据库和Dapper看这篇就够了 本文首发自:博客园 文章地址: https://www.cnblogs.com/yilezhu/p/ ...

  9. 使用docker部署Asp.net core web应用程序

    拉取aspnetcore最新docker镜像 aspnetcore的docker镜像在docker官网是有的,是由微软提供的.它的依赖镜像是microsoft/dotnet.通过访问网址:https: ...

随机推荐

  1. 导入Jar报错An internal error occurred during: "Building workspace". zip END header not found

    百度了好久都没有找到答案,后来新建了一个文件夹,再build path就正常了,不知道为什么

  2. 2017 经典的CVPR 关于ImageCaptioning论文

    1.        SCA-CNN: Spatial and Channel-wise Attention in Convolutional Networks for Image Captioning ...

  3. 25.md5 collision(NUPT_CTF)

    抓住两点提示: 1.md5碰撞 2.please input a 利用0 == 字符串是成立的,从而可以绕过MD5检查. 所以找一个md5是0e开头的值,因为 php 在处理 == 的时候当碰到的字符 ...

  4. lxml导入

    通常的导入方式 from lxml import etree python有自带的ElementTree库,但lxml在其基础上新增了特有的功能 如果代码仅使用ElementTree API,不依赖于 ...

  5. Leetcode题解 - BFS部分题目代码+思路(896、690、111、559、993、102、103、127、433)

    和树有关的题目求深度 -> 可以利用层序遍历 -> 用到层序遍历就想到使用BFS 896. 单调数列 - 水题 class Solution: def isMonotonic(self, ...

  6. linux命令--网络命令

    一.网络命令 1.配置ip 1.1 配置 IP 地址 IP 地址是计算机在互联网中唯一的地址编码.每台计算机如果需要接入网络和其他计算机进行数 据通信,就必须配置唯一的公网 IP 地址. 配置 IP ...

  7. springaop\ cglib\ AspectJ

    元编程 vs 动态代理 vs isa代理 springaop的底层实现有两种,一种是jdk的动态代理,另一种是cglib,springaop没有用到aspectj,只是借鉴了它并添加了aspectj风 ...

  8. JS简单数据类型

    JS数据类型 在计算机中,不同的数据所需要占用的空间是不同的,为了便于把数据分析称所需内存大小不同的数据,充分利用存储空间,于是定义了不同的数据类型 简单数据类型 简单数据类型 说明 默认值 Numb ...

  9. JS基础语法---JSON格式的数据

         1. 对象: 有属性和方法,特指的某个事物     对象: 一组无序属性的集合的键值对,属性的值可以是任意的类型   2.JSON格式的数据:一般都是成对的,是键值对,     json也是 ...

  10. 从0系统学Android-2.4 Activity 的生命周期

    本系列文章,参考<第一行代码>,作为个人笔记 更多内容:更多精品文章分类 本系列持续更新中.... 2.4 Activity 的生命周期 掌握 Activity 的生命周期对于开发者来说是 ...