初探ASP.NET Core 3.x (1) - 关于ASP.NET Core
I 什么是ASP.NET
ASP.NET is an open source web framework, created by Microsoft, for building modern web apps and services with .NET.
ASP.NET是巨硬(Macrohard)微软(Microsoft)推出的一个开放源代码的Web应用程序开发框架,使用.NET技术构建现代化的Web应用程序和服务。
- ASP.NET
II 我该如何获取ASP.NET呢
既然我想使用这个东西,我该如何安装并部署呢??
II.1 使用Visual Studio进行集成安装和开发
从Visual Studio 2015开始,Visual Studio就开始采用模块安装器的方式进行安装。比如你下载一个Visual Studio 2019,那么初次运行安装程序会启动一个名为Visual Studio Installer的安装程序,像这样:

Visual Studio Installer中提供了供Visual Studio开发的可安装模块。当然,因为我们当前的目标是使用Visual Studio进行ASP.NET的Web开发,因此我们只需要勾选这个就可以了:

然后确定安装目录点击安装即可……
II.2 手动安装
Visual Studio太肥!!我不想装那玩意!!而且我想用其他的开发环境!!
好好好,VS确实太肥了,毕竟不是所有的电脑都能跑得动那么重型的IDE,事实上我自己的电脑运行VS都会经常犯卡(我到现在还记得用那个挨千刀的Xamarin开发Android的时候我的电脑被VS和Android Emulator联合蹂躏的惨痛)。
ASP.NET提供了不需要Visual Studio的安装方式。
既然是ASP.NET嘛,名字里都说了,人家是基于.NET的,所以安装.NET SDK x64/.NET SDK x32就可以了。
如果安装后,使用命令提示符(cmd)或Powershell输入(...>是提示符标记,不用输入)
...> dotnet
显示
Usage: dotnet [options]
Usage: dotnet [path-to-application]
Options:
-h|--help Display help.
--info Display .NET Core information.
--list-sdks Display the installed SDKs.
--list-runtimes Display the installed runtimes.
path-to-application:
The path to an application .dll file to execute.
意味着安装完成。
III 项目构建
基本的环境已经安装完成,我们就要使用这个框架去创建我们自己的项目。
如果安装了Visual Studio安装,那么就会看到新建项目的时候能找到这样的一项:

就可以创建一个ASP.NET的项目了。当然根据需要也可以使用一些含有第三方开发工具的Web项目,例如Angular、React等
但是,如果没有使用Visual Studio安装,而是直接安装的.NET SDK,那么需要启动.NET来构建项目,cmd中输入:
...> dotnet new webApp -o MyASPWebApplication --no-https
...> cd MyASPWebApplication
.../MyASPWebApplication>
就可以创建一个名为MyASPWebApplication,当然这个东西可以换成你喜欢的名字。这里使用的dotnet指令的模式为:
dotnet new <template> -o <appdir> --no-https
dotnet new <template> = 通过dotnet使用<template>模板构建一个基于.NET的内容
-o <appdir> = 放置生成的输出内容(也就是构建的内容)位置,这里为appdir。
--no-https = 不使用HTTPS协议构建项目。
其中<template>是项目所用的模板,这里面使用的是webApp,当然,当构建其他种类项目时也可以使用其他的取值。这里我们只使用这个就可以。
尽管-o标记指定的是项目所在的文件夹,上述指令中并没有使用-n标记指定项目的名称,但dotnet约定在不指定-n的情况下项目直接使用-o指定的目录名。
无论使用哪种方式构建的项目都包含如下结构:
MyASPWebApplication/
├─obj/
│ └─/一些文件.../
├─Pages/
│ ├─Shared/
│ │ ├─_Layout.cshtml
│ │ └─_ValidationScriptsPartial.cshtml
│ ├─Error.cshtml
│ ├─Error.cshtml.cs
│ ├─Index.cshtml
│ ├─Index.cshtml.cs
│ ├─Privacy.cshtml
│ ├─Privacy.cshtml.cs
│ ├─_ViewImports.cshtml
│ └─_ViewStart.cshtml
├─Properties/
│ └─launchSettings.json
├─wwwroot/(empty)
├─appsettings.Development.json
├─appsettings.json
├─Program.cs
├─Startup.cs
└─MyASPWebApplication.csproj
其中,Startup.cs是WebApp启动的行为,里面包含全部的配置和设定。Pages文件夹下包含用于项目的几个样例Web页面,而MyASPWebApplication.csproj就是项目组织文件,包含了项目的组织形式和对其他库的引用。
当然,这个*.csproj文件也可以使用其他版本的Visual Studio或者其他C#的IDE打开。
IV 项目运行
运行一个ASP.NET项目之前,请先安装IIS。因为不管怎么说,一个Web应用程序一般是运行在一个服务器上的,IIS可以将一台普通的Windows计算机构建为一个服务器。
IIS安装完成后,在Visual Studio中能看到运行按钮变为:

点击后Visual Studio就以当前计算机指定的浏览器运行该项目的页面(与下面方法不同的是,IIS指定的App运行端口是从用户端口中随机指定的,而不一定是5000)。
如果没有Visual Studio,则在cmd中键入:
.../MyASPWebApplication> dotnet run
然后使用浏览器访问:localhost:5000/就可以看到如下的运行画面:

截止目前,一个简单的ASP.NET的项目搭建就算结束了。关于代码的修改和项目的结构,To be continued...
初探ASP.NET Core 3.x (1) - 关于ASP.NET Core的更多相关文章
- ASP.NET Core 学习笔记 第一篇 ASP.NET Core初探
前言 因为工作原因博客断断续续更新,其实在很早以前就有想法做一套关于ASP.NET CORE整体学习度路线,整体来说国内的环境的.NET生态环境还是相对比较严峻的,但是干一行爱一行,还是希望更多人加入 ...
- ASP.NET Core 性能对比评测(ASP.NET,Python,Java,NodeJS)
前言 性能是我们日常生活中经常接触到的一个词语,更好的性能意味着能给我们带来更好的用户体检.比如我们在购买手机.显卡.CPU等的时候,可能会更加的关注于这样指标,所以本篇就来做一个性能评测. 性能也一 ...
- ASP.NET 5 已死 - 隆重介绍 ASP.NET Core 1.0 和 .NET Core 1.0
还没正式登场就死了?不能怪我标题党,是大神Scott在他博客上这么说的,我只是翻译了一下. 在1月20号最新的ASP.NET Community Standup视频中,微软aspnet开发组的大帅哥 ...
- NET Core环境并创建运行ASP.NET网站
kungge 在Windows系统搭建.NET Core环境并创建运行ASP.NET网站 微软于6月27日在红帽DevNation峰会上 正式发布了.NET Core 1.0.ASP.NET 1.0和 ...
- Professional C# 6 and .NET Core 1.0 - Chapter 41 ASP.NET MVC
What's In This Chapter? Features of ASP.NET MVC 6 Routing Creating Controllers Creating Views Valida ...
- 008.Adding a model to an ASP.NET Core MVC app --【在 asp.net core mvc 中添加一个model (模型)】
Adding a model to an ASP.NET Core MVC app在 asp.net core mvc 中添加一个model (模型)2017-3-30 8 分钟阅读时长 本文内容1. ...
- 学习ASP.NET Core Razor 编程系列五——Asp.Net Core Razor新建模板页面
学习ASP.NET Core Razor 编程系列目录 学习ASP.NET Core Razor 编程系列一 学习ASP.NET Core Razor 编程系列二——添加一个实体 学习ASP.NET ...
- ASP.NET Core 实战:将 .NET Core 2.0 项目升级到 .NET Core 2.1
一.前言 最近一两个星期,加班,然后回去后弄自己的博客,把自己的电脑从 Windows 10 改到 Ubuntu 18.10 又弄回 Windows 10,原本计划的学习 Vue 中生命周期的相关知 ...
- ASP.NET Core 入门教程 10、ASP.NET Core 日志记录(NLog)入门
一.前言 1.本教程主要内容 ASP.NET Core + 内置日志组件记录控制台日志 ASP.NET Core + NLog 按天记录本地日志 ASP.NET Core + NLog 将日志按自定义 ...
随机推荐
- 困扰的问题终于解决了-docker时区不正确的问题修改记
前一阵子有一台服务器,mysql的时间比北京时间晚了8个小时.我知道是时区的问题,但是不知道为什么弄成这样,宿主机没有问题,后来一看mysql的docker,时区是错的. mybatis-plus打印 ...
- 2019-8-31-ASP.NET-Core-开启后台任务
title author date CreateTime categories ASP.NET Core 开启后台任务 lindexi 2019-08-31 16:55:58 +0800 2019-3 ...
- Python--day34--socket模块的方法
官方文档对socket模块下的socket.send()和socket.sendall()的解释如下: sk.setblocking(False)方法 import socket sk = socke ...
- VisualStudio 扩展开发 获得输出窗口内容
本文告诉大家如何拿到 VisualStudio 输出窗口的内容 在上一篇告诉大家如何开发添加菜单 点击的时候可以使用方法,如果需要拿到 VisualStudio 的输出窗口的内容,如想要开发一个插件, ...
- 2019-4-6-VisualStudio-2019-如何离线下载
title author date CreateTime categories VisualStudio 2019 如何离线下载 lindexi 2019-04-06 09:26:11 +0800 2 ...
- luoguP4313 文理分科
luoguP4313 文理分科 复习完之后做了道典型题目. 这道题条件有点多 我们逐个分析 如果没有\(sameart\)或者\(samescience\)的限制,就是一个裸的最大权闭合子图的问题了 ...
- next-i18next 常见Bug记录
TypeError: Cannot read property 'wait' of null 此处根本原因为next版本(使用withNamespaces导入命名空间报错) ^5.0.0版本不支持导入 ...
- DP刷题记录
目录 dp刷题记录 codeforces 706C codeforces 940E BZOJ3997 POJ2279 GYM102082B GYM102082D codeforces132C L3-0 ...
- 第二阶段:4.商业需求文档MRD:3.PRD-页面结构图
这也是功能结构以及优先级 这是页面层级 页面结构图 再细分某一个频道或者子页面 层层细分 用mind做的页面结构图 里面也包含了功能
- java后台防止sql注入的方法
1.采用预编译语句集,它内置了处理SQL注入的能力,只要使用它的setString方法传值即可: String sql= "select * from users where usernam ...