.NET Core初体验 在window上构建第一个app
ASP.NET Core 是一个跨平台,高性能的开源框架,用于构建现代化的,基于云的互联网应用程序。使用 ASP.NET Core ,您可以:
- 构建Web应用程序和服务,IoT应用程序和移动后端。
- 在Windows,macOS和Linux上使用您最喜爱的开发工具。
- 部署到云端或本地(on-premises)
- 在.NET Core或.NET Framework上运行。
为什么要使用ASP.NET Core?
数百万的开发人员已经使用ASP.NET(并继续使用它)来创建web程序。 ASP.NET Core 是 ASP.NET 的重新设计,其架构更改使得框架更精简和模块化。ASP.NET Core提供以下好处:
- 统一的方式构建Web UI和Web API。
- 整合现代客户端框架和开发工作流程。
- 一个云就绪的,基于环境的配置系统。
- 内置依赖注入。
- 轻量级,高性能和模块化的HTTP请求管道。
- 可以寄宿在IIS上或者自宿主(self-host)于你自己的进程。
- 可以在.NET Core上运行,它支持真正的并行应用程序版本管理。
- 用于简化现代Web开发的工具。
- 能够在Windows,MacOS和Linux上构建和运行。
- 开源并重视社区。
ASP.NET Core 完全使用NuGet包。这允许您优化您的应用程序,仅包括您需要的NuGet包。这样做的好处是应用程序占用空间更小,更安全,减少服务,改进性能。
使用ASP.NET Core MVC构建Web API和Web UI
ASP.NET Core MVC提供了帮助您构建Web API和Web应用程序的功能:
- 模型 - 视图 - 控制器(MVC)模式有助于使您的Web API和Web应用程序是可测试的。
- Razor Pages (2.0版本中的新功能)是一种基于页面的编程模型,可以使Web UI的创建更简单,更高效。
- Razor语法为 Razor Pages 和 MVC Views 提供了高效的语言。
- Tag Helpers 使服务器端代码能够在Razor文件中创建和呈现HTML元素。
- 内置支持多种数据格式和内容协商功能,可让您的Web API覆盖广泛的客户端,包括浏览器和移动设备。
- 模型绑定自动将数据从HTTP请求映射到 action 方法参数。
- 模型验证自动执行客户端和服务器端验证。
客户端开发
ASP.NET Core旨在与各种客户端框架无缝集成,包括AngularJS,KnockoutJS和Bootstrap。有关详细信息,请参阅客户端开发。
快速入门
1、安装.NET Core SDK
创建 .NET apps,只需要下载 .NET Core SDK for Windows,此安装器将会安装最新稳定版本的工具,并将其放在环境变量PATH里,以便我们可以在任何地方打开控制台运行dotnet。

2、初始化一些代码
下面演示一个hello world的控制台程序
- 打开命令提示符
- 切换目录到桌面cd C:\Users\yang\Desktop
- 输入 dotnet new console -o hwapp命令,其中 dotnet new 表示创建一个新的应用程序, console 是创建应用程序的类型, -o hwapp 表示生成一个名叫hwapp(Hello World app的简写)的目录,生成的程序都会放到此文件夹下;
- 使用cd hwapp进入刚生成的hwapp目录
控制台应用程序模板会创建一个 Program.cs 文件,该代码将会输出"Hello World" 到控制台。
using System;
namespace hwapp
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello World!");
}
}
}
3、使用 dotnet run 运行该程序
到此为止,我们已经构建并运行了第一个.NET 程序。以下是整个步骤:
C:\Windows\system32>cd C:\Users\yang\Desktop C:\Users\yang\Desktop>dotnet new console -o hwapp 欢迎使用 .NET Core! --------------------- 若要详细了解 .NET Core,请访问 https://aka.ms/dotnet-docs。使用 dotnet --help 查看可用的命令或转到 https://aka.ms/dotnet-cli-docs。 遥测 -------------- .NET Core 收集使用情况数据,以便改善用户体验。数据是匿名的且不包含命令行参数。数据由 Microsoft 收集,并与社区共享。 可选择使用你最喜爱的 shell 将 DOTNET_CLI_TELEMETRY_OPTOUT 环境变量设置为 1,从而退出遥测。 若要深入了解 .NET Core 工具遥测,请访问 https://aka.ms/dotnet-cli-telemetry。 正在准备... 已成功创建模板“Console Application”。 正在处理创建后操作... 正在 hwapp\hwapp.csproj 上运行 "dotnet restore"... Restoring packages for C:\Users\yang\Desktop\hwapp\hwapp.csproj... Generating MSBuild file C:\Users\yang\Desktop\hwapp\obj\hwapp.csproj.nuget.g.props. Generating MSBuild file C:\Users\yang\Desktop\hwapp\obj\hwapp.csproj.nuget.g.targets. Restore completed in 193.89 ms for C:\Users\yang\Desktop\hwapp\hwapp.csproj. 还原成功。 C:\Users\yang\Desktop>cd hwapp
C:\Users\yang\Desktop\hwapp>dotnet run
Hello World!
同理,创建一个web应用程序
C:\Users\yang\Desktop>dotnet new web -o webApp
已成功创建模板“ASP.NET Core Empty”。
此模板包含非 Microsoft 的各方的技术,有关详细信息,请参阅 https://aka.ms/template-3pn。
正在处理创建后操作...
正在 webApp\webApp.csproj 上运行 "dotnet restore"...
Restoring packages for C:\Users\yang\Desktop\webApp\webApp.csproj...
Generating MSBuild file C:\Users\yang\Desktop\webApp\obj\webApp.csproj.nuget.g.props.
Generating MSBuild file C:\Users\yang\Desktop\webApp\obj\webApp.csproj.nuget.g.targets.
Restore completed in 2.65 sec for C:\Users\yang\Desktop\webApp\webApp.csproj.
还原成功。
C:\Users\yang\Desktop>cd webApp
C:\Users\yang\Desktop\webApp>dotnet run
Hosting environment: Production
Content root path: C:\Users\yang\Desktop\webApp
Now listening on: http://localhost:5000
Application started. Press Ctrl+C to shut down.
info: Microsoft.AspNetCore.Hosting.Internal.WebHost[1]
Request starting HTTP/1.1 GET http://localhost:5000/
info: Microsoft.AspNetCore.Hosting.Internal.WebHost[2]
Request finished in 75.0924ms 200
info: Microsoft.AspNetCore.Hosting.Internal.WebHost[1]
Request starting HTTP/1.1 GET http://localhost:5000/favicon.ico
info: Microsoft.AspNetCore.Hosting.Internal.WebHost[2]
Request finished in 0.459ms 200

同理,我们再来一个MVC web应用程序
C:\Users\yang\Desktop\webApp>dotnet new mvc -o mvcApp 已成功创建模板“ASP.NET Core Web App (Model-View-Controller)”。 此模板包含非 Microsoft 的各方的技术,有关详细信息,请参阅 https://aka.ms/template-3pn。 正在处理创建后操作... 正在 mvcApp\mvcApp.csproj 上运行 "dotnet restore"... Restoring packages for C:\Users\yang\Desktop\webApp\mvcApp\mvcApp.csproj... Restoring packages for C:\Users\yang\Desktop\webApp\mvcApp\mvcApp.csproj... Restore completed in 1.48 sec for C:\Users\yang\Desktop\webApp\mvcApp\mvcApp.csproj. Generating MSBuild file C:\Users\yang\Desktop\webApp\mvcApp\obj\mvcApp.csproj.nuget.g.props. Generating MSBuild file C:\Users\yang\Desktop\webApp\mvcApp\obj\mvcApp.csproj.nuget.g.targets. Restore completed in 2.59 sec for C:\Users\yang\Desktop\webApp\mvcApp\mvcApp.csproj. 还原成功。 C:\Users\yang\Desktop\webApp>cd mvcApp C:\Users\yang\Desktop\webApp\mvcApp>dotnet run Hosting environment: Production Content root path: C:\Users\yang\Desktop\webApp\mvcApp Now listening on: http://localhost:5000 Application started. Press Ctrl+C to shut down.

概念和体系结构, ASP.NET Core Introduction and ASP.NET Core Fundamentals.
.NET Core API地址
.NET 官方文档地址
.NET Core初体验 在window上构建第一个app的更多相关文章
- JCEF 初体验,window系统构建jar包
前言 本文记录如何通过jcef源代码去构建自己所需要的jar包,此文章构建的为windows64位jcef 的 jar 包,若需要构建 32 位的 jar 包,则需要按照文章将相关准备软件设置为 32 ...
- .NET Core初体验 - 在Mac下运行第一个Web示例程序
要说最近两天程序猿之间最喜欢吹水的事是什么?那绝壁是甲骨文要放弃Java!简直做梦都要笑醒!由于公司的产品线全面转向Java,最近几个月也一直在苦学Java技术.已经默默决定了,如果消息证实是真的,我 ...
- Serverless 初体验:快速开发与部署一个Hello World(Java版)
昨天被阿里云的这个酷炫大屏吸引了! 我等85后开发者居然这么少!挺好奇到底什么鬼东西都是90.95后在玩?就深入看了一下. 这是一个关于Serverless的体验活动,Serverless在国内一直都 ...
- .NET Core 初体验
.NET Core 作为微软的开源项目,neter 们对之的期待还是挺大的. 以前也看过,接触过,摸索建了几个示例项目,今天就罗列下自己的初体验. .NET Core 安装.帮助等 安装的话,直接官网 ...
- Visual Studio Code 学习.net core初体验
一,安装 最近在用 Visual Studio Code 学习.net core ,记录下学习的过程,首先去官网下载最新的.net core2.1安装包,有windows 和mac,根据自己的开发环境 ...
- 阿里云函数计算 .NET Core 初体验
体验了一波阿里云函数计算, 已支持 .NET Core 2.1, 那么按照惯例, 来写个 "Hello World" 吧. 作者注: 开发环境 Windows 10 & V ...
- redis 之初体验(window)
1 下载window版本的redis :https://github.com/MSOpenTech/redis/releases 2 解压压缩包.我的放在了E盘: E:/redis 3 程序,输入cm ...
- .Net Core 初体验及总结(内含命令大全)
dotnet 命令目录: dotnet new -创建 dotnet restore -还原 dotnet build -编译 dotnet run -运行 dotnet test -测试 dot ...
- .Net Core初体验
对于C#语言支持(由C#1.0-C#7.1): 编码可以使用跨平台的IDE选择,就如同VS+Resharper一样方便: 运行效果:
随机推荐
- 弹出层罩子html(上传照片弹出请等待后面的代码不能修改)
一,效果 二,素材 三,代码 <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> ...
- Struts2【配置】知识要点
前言 上篇Struts博文已经讲解了Struts的开发步骤以及执行流程了.....对Struts的配置文件有了了解.....本博文继续讲解Struts在配置的时候一些值得要学习的细节... 通配符 为 ...
- ThreadLocal原理
ThreadLocal类可以看作是当前线程的一个局部变量,只有当前线程可以访问,因此是线程安全的. ThreadLocal内部维护了一个ThreadLocalMap类,ThreadLocalMap是一 ...
- Java 中文编码分析
一.charAt 与 codePonitAt 我们知道 Java 内部使用的是 utf-16 作为它的 char.String 的字符编码方式,这里我们叫它内部字符集.而 utf-16 是变长编码,一 ...
- CentOS 7.x 防火墙开放端口相关用法记录
前言 防火墙对服务器起到一定的保护作用,所以了解一些相关的操作是很有必要的. 在CentOS 7.x中,有了一种新的防火墙策略,FireWall , 还记得在6.x中用的还是iptables. 这几天 ...
- 一个2D平面游戏,的碰撞引擎实现
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); i ...
- 【BZOJ3998】弦论(后缀自动机)
[BZOJ3998]弦论(后缀自动机) 题面 BZOJ 题解 这题应该很简单 构建出\(SAM\)后 求出每个点往后还能构建出几个串 按照拓扑序\(dp\)一些就好了 然后就是第\(k\)大,随便搞一 ...
- 【CJOJ2498】【DP合集】最长上升子序列 LIS
题面 Description 给出一个 1 ∼ n (n ≤ 10^5) 的排列 P 求其最长上升子序列长度 Input 第一行一个正整数n,表示序列中整数个数: 第二行是空格隔开的n个整数组成的序列 ...
- [POI2000]病毒
题面 传送门 Sol 建出AC自动机后DFS能走的点,如果能走回来就可行 # include <bits/stdc++.h> # define IL inline # define RG ...
- [BZOJ1085] [SCOI2005] 骑士精神 (A*)
Description 在一个5×5的棋盘上有12个白色的骑士和12个黑色的骑士, 且有一个空位.在任何时候一个骑士都能按照骑士的走法(它可以走到和它横坐标相差为1,纵坐标相差为2或者横坐标相差为2, ...