.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一样方便: 运行效果:
随机推荐
- 浅谈Javascript中的Label语句
如: begin: for (var i = 0; i < 10 ; i++ ){ alert(i); } 举一个比较典型的例子,看完后即明白 Label 的应用:(未添加 Label) var ...
- RSS简介
1.RSS(Really Simple Syndication)简介 1.定义 对于网站:RSS 是一种使用 XML 向许多其他的网站分发自己网站上的网络内容的方法. 对于用户:RSS ...
- string的常见用法
使用前提:需要头文件! #include<string> using namespace std; 1.string类型是可以下标访问的,也可以通过迭代器访问 string::iterat ...
- AndroidStudio 集成litepal 报错
E/AndroidRuntime(24972): org.litepal.c.b: can not find a class named org.litepal.model.Table_Schema ...
- View的平移、缩放、旋转以及位置、坐标系
原创 2015年05月12日 13:15:29 标签: Android / Scroll / Scale / Translation / Rotation 24733 Android开发中,经常会接触 ...
- NOIp2017 滚粗记
NOIp2017 滚粗记 Day0 早上 早自习的时候,班主任忽然告诉我们, 我们要参加期中考试... 这对于我们真是一个沉重的打击... 但是,管不着了 明天就死去考试了 上午 \(8:10\)到了 ...
- 【CJOJ2484】【Luogu2805】最小函数值(函数最小值)
题面 Description 有n个函数,分别为F1,F2,...,Fn.定义 Fi(x)=Aix2+Bix+Ci(x∈N∗)Fi(x)=Aix2+Bix+Ci(x∈N∗) .给定这些Ai.Bi和Ci ...
- 【Luogu1919】 A*B Problem升级版(FFT)
题面戳我 题解 把每个数都直接看做一个多项式,每一位就是一项 现在求用FFT求出卷积 然后考虑一下进位就可以啦 #include<iostream> #include<cstdio& ...
- 【BZOJ3529】【SDOI2014】数表
Time Limit: 1000 ms Memory Limit: 512 MB Description 有一张n×m的数表,其第i行第j列 (1≤i≤n,1≤j≤m)的数值为能同时整除i和j的所有自 ...
- 设置ImageView显示的图片铺满全屏
转自:http://m.blog.csdn.net/blog/wjwj1203/32334459 为适应不同屏幕的手机,ImageView显示的图片可能不铺满屏幕,如果定高的话,两边可能会出现空白 ...