.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一样方便: 运行效果:
随机推荐
- “玲珑杯”ACM比赛 Round #4 B Best couple
一眼的KM,但是建图的时候记得不用的点设为0,点少的一边补齐,这个非常重要,因为KM追求完全匹配,如果无法完全匹配会非常慢 #include<bits/stdc++.h> using na ...
- html中的div span和frameset框架标签
Div和span 1. div独占一层,由div九不允许有别的. 2. span标签不是独自占用一行,span一般用来设置字体. 框架标签: 什么是框架标签,就是把一个页面分成很多 ...
- WPF基础篇之静态资源和动态资源
静态资源(StaticResource)指的是在程序载入内存时对资源的一次性使用,之后就不再访问这个资源了. 动态资源(DynamicResource)指的是在程序运行过程中然会去访问资源. 一.定义 ...
- CSS3 Tranform 3D 的应用
CSS3 Tranform 3D 的应用 一.perspective 属性 1. 作用: 设置元素被查看位置的视图,类似于眼睛到屏幕的距离,一般跟 perspective-origin 共同作用在一个 ...
- GridView中使用 jQuery DatePicker (UpdatePanel)
1.无UpdatePanel 1.代码 <script> $(function () { $('.myDatePickerClass').datepicker({ dateFormat ...
- 【HDU4622】Reincarnation(后缀自动机)
[HDU4622]Reincarnation(后缀自动机) 题面 Vjudge 题意:给定一个串,每次询问l~r组成的子串的不同子串个数 题解 看到字符串的大小很小 而询问数太多 所以我们预处理任意的 ...
- 空间金字塔池化(Spatial Pyramid Pooling, SPP)原理和代码实现(Pytorch)
想直接看公式的可跳至第三节 3.公式修正 一.为什么需要SPP 首先需要知道为什么会需要SPP. 我们都知道卷积神经网络(CNN)由卷积层和全连接层组成,其中卷积层对于输入数据的大小并没有要求,唯一对 ...
- enable_shared_from_this类的作用和实现
使用举例 实际中, 经常需要在一个被shared_ptr管理的对象的内部获取自己的shared_ptr. 比如: 通过this指针来构造一个shared_ptr, 如下: struct Bad { v ...
- 无后台应用 Stash Backend
Stash Backend 是Github上的开源项目 https://github.com/gaboratorium/stash,目的在于提供一套方便使用.方便部署的后台应用.特别适合为Web前端和 ...
- Myeclipse配置tomcat,以及简单的Myeclipse的配置
第一次总结技术相关的东西,那就坚持下去每天写一点.[有错欢迎指正,本人小白,轻虐] 首先,(以我的为例子吧)需要准备原材料,当然了也需要根据自己的机器底层架构选择了---Myeclipse(2015) ...