.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一样方便: 运行效果:
随机推荐
- Linux显示历史记录
Linux显示历史记录 youhaidong@youhaidong-ThinkPad-Edge-E545:~$ history 1 uname -a 2 lsusb 3 df -h 4 ps -A 5 ...
- Linux查询一台机器的IP地址和其对应的域名
Linux查询一台机器的IP地址和其对应的域名 youhaidong@youhaidong-ThinkPad-Edge-E545:~$ nslookup > 127.0.0.1 Server: ...
- Array.from()
es6 Array.from() 方法将两类对象转为真正的数组 用法:用于将两类对象转为真正的数组:类似数组的对象和可遍历(iterable)的对象(包含ES6新增的数据结构Set和Map); 说明: ...
- STM32f4 ARM Bootloader
参考资料: 基于ARM 的嵌入式系统Bootloader 启动流程分析 Bootloader 详解 ( 代码环境 | ARM 启动流程 | uboot 工作流程 | 架构设计) Android系统启动 ...
- manacher模板(manacher)
洛谷题目传送门 写完有一段时间了,发现板子忘记存在了这里...... 算法简述 一种字符串算法,\(O(n)\)高效求出以每个字符为对称中心的最长回文串长度. 然后,就可以进一步求出全串中最长回文串的 ...
- POJ 1791 Heavy Transportation(最大生成树)
题面 Background Hugo Heavy is happy. After the breakdown of the Cargolifter project he can now expand ...
- 论文笔记(7):Constrained Convolutional Neural Networks for Weakly Supervised Segmentation
UC Berkeley的Deepak Pathak 使用了一个具有图像级别标记的训练数据来做弱监督学习.训练数据中只给出图像中包含某种物体,但是没有其位置信息和所包含的像素信息.该文章的方法将imag ...
- Eclipse常用不常用快捷键
逼格高且常用的7个快捷键:Ctrl+O:列出该类下的所有方法 Ctrl+E:列出打开的所有类 Shift+Enter:在当前行下一行创建空白行(Ctrl+Shift+Enter:在当前行上一行 ...
- office 2013补丁包更新
总是有客户发现使用office 2013 下的插件有问题,这个问题出现在低版本上,所以要给office 2013打上补丁,打上后,运行插件ok,出现的bug解决掉了.那么给office打补丁包就成了解 ...
- Django admin 组件 原理分析与扩展使用 之 sites.py (一)
一 . 前言 Django 提供了admin 组件 为项目提供基本的管理后台功能(对数据表的增删改查). 本篇文章通过 admin源码 简单分析admin 内部原理 ,扩展使用方式,为以后进行定制和自 ...