.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一样方便: 运行效果:
随机推荐
- DirectX:函数可以连接任意两个filter
函数可以连接任意两个filter HRESULT ConnectFilters( IBaseFilter *pSrc, IBaseFilter *pDest ) { IPin *pIn = 0; IP ...
- IOS开发之XCode学习011:UISwitch控件
此文学习来源为:http://study.163.com/course/introduction/1002858003.htm 此工程文件实现功能: 1.定义UIswitch控件,添加UIswitc ...
- windows打开和关闭默认共享方法汇总
Windows启动时都会默认打开admin$ ipc$ 和每个盘符的共享,对于不必要的默认共享,一般都会把它取消掉,可当又需要打开此默认共享时,又该从哪里设置呢.经过自己的验证,汇总出一下方法. 一: ...
- 巨幅SQL优化(SQL Tuning)——秒杀十几个小时不出结果的SQL
今天接到用户的需求,某程序十几个小时没出结果了,很纳闷儿,于是让相关人员取了explain plan等信息,拿到explain plan后,搂一眼,就知道问题出在了哪里,explain plan跑偏了 ...
- 过滤器(Filter)和拦截器(Interceptor)
之前总是弄混这两者,今天看了几篇文章,小结一下在这里. Filter介绍 Filter可以认为是Servlet的一种"加强版",它主要用于对用户请求进行预处理,也可以对HttpSe ...
- 动态地添加HTML控件-JavaScript基础
相关: document对象的createElement()方法可以创建一个新的HTML控件(document.createElement("input");) setAttrib ...
- Dockerfile 中的 multi-stage
在应用了容器技术的软件开发过程中,控制容器镜像的大小可是一件费时费力的事情.如果我们构建的镜像既是编译软件的环境,又是软件最终的运行环境,这是很难控制镜像大小的.所以常见的配置模式为:分别为软件的编译 ...
- [HNOI2013]切糕
题目描述 网址:https://daniu.luogu.org/problemnew/show/3227 大意: 平面上有一长方体,目标为将其切割为上下两半. 切割点为\((x,y,z)\)的点,每个 ...
- MySQL系列-第一章节:MySQL介绍与安装
1.数据库介绍 1.1.什么是数据库`<Database>` 简单说存放数据的仓库,这个仓库按照一定的数据结构<数据结构是指数据的组织形式或数据之间的联系>来组织.存储的,我们 ...
- .NET微服务 容器化.NET应用架构指南(支持.NET Core2)
介绍 企业通过使用容器,日益实现成本节约.解决部署问题并改进 DevOps 和生产操作. 通过创建 Azure 容器服务.Azure Service Fabric 等产品,同时与 Docker.Mes ...