ASP.NET Core:CMD命令行+记事本 创建Console程序和Web Application
今天看了Scott關于ASP.NET Core的介紹視頻,發現用命令行一步一步新建項目、添加Package、Restore、Build、Run 執行的實現方式,更讓容易讓我們了解.NET Core的運行機制。
以下是這節課的課程的筆記,給大家分享。
課程準備:
| C: | 打開C盤 | md supermva | 創建supermva文件夾 |
| color a | 命令行顏色改為綠色(更有逼格一些) | cd supermva | 打開supermva文件夾 |
| cls | 清除命令行 | dir | 查看文件目錄 |
| cd.. | 返回上級目錄 | notepad | 直接打開notepad |
| cd\ | 返回到跟目錄 | Tab | 自動補全功能 |
| F7 | 查看歷史命令 | exit | 退出cmd |
一、CMD中查看dotnet core 信息
二、創建Console程序
1)以下步驟實現了Console輸出“Hello World”,也就相當于我們在VS中 創建控制臺應用程序 → 還原Nuget包 → Build → 運行
2)記事本中修改Program.cs,讀取用戶輸入值,然后輸出:
using System;namespace supermva {class Program{static void Main(string[] args){string name; Console.WriteLine("Hello World!"); name=Console.ReadLine(); Console.WriteLine($"Hello {name}"); // 新語法 }} }3)以上步驟的部分截圖如下:
console程序創建成功:生成了Program.cs和.csproj項目屬性文件:
build后生成了bin文件夾:
修改Program.cs保存,dotnet run 重新運行程序:
三、創建Web Application
web應用中,也就是用戶向服務器發出HTTP請求,服務器響應然后返回給用戶請求結果。
項目類文件中,也就需要用到AspnetCore中處理HTTP請求的功能,引用(using)對應的命名空間。
我們再把上面創建的Console應用程序,修改為Web應用程序。
1) ?添加Nuget包: Microsoft.AspnetCore
2)添加Startup.cs類 ,接收請求并返回數據。
- > notepad Startup.cs
- > dotnet run
這時候運行程序,還是剛才的Console輸出“Hello World”。這是因為程序的入口是Main方法,還不會執行到Startup.cs類中。
using System; using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Builder;namespace moveToWeb {public class Startup{public void Configure(IApplicationBuilder app){app.Run(context=>{return context.Response.WriteAsync("Hello Web");});}} }3) 修改Pragram.cs中的Main方法
WebHost: ?宿主,Web站點寄宿的地方。
Builder: ? ?創建、建置
?Kestrel : A web server for ASP.NET Core based on libuv. ?這個是GitHub上對于Kestrel的定義。
所以,對于這段代碼的翻譯就是:借助Kestrel 創建 Web Host , 把請求導向到Startup.cs類中進行處理,然后Build。
using System; using Microsoft.AspNetCore.Hosting; using moveToWeb; //記得添加引用namespace supermva {class Program{static void Main(string[] args){var host = new WebHostBuilder().UseKestrel().UseStartup<Startup>().Build();host.Run(); }} }- > dotnet run
提示:Application started, 瀏覽器打開,Startup.cs中輸出的“Hello Web” 已經顯示。
這樣,我們就完成了Web Application的創建。
?四、進一步完善Web Application
上面的應用,當我們在修改Startup.cs中的響應輸出內容的時候,“Hello Web”→“Hello ASP.NET Core.” 點擊保存,反復刷新瀏覽器,并沒有輸出我們剛剛修改的值。
這是因為WebHoster并不知道我們的源文件發生了變化。
現在我們添加一個Watcher工具,讓WebHoster實時監控源文件,如果變化則自動重新Run一下,返回最新的響應信息。
1) supermva.csproj中,我們添加DotNet.Watcher工具,注意版本是:Version="1.0.0-*"
<ItemGroup><DotNetCliToolReference Include="Microsoft.DotNet.Watcher.Tools" Version="1.0.0-*" /></ItemGroup>- >dotnet restore
- >dotnet build
Cli :Command Line Interface
2) 重新運行Web程序,在Startup.cs修改內容即時反應到了瀏覽器中
- >dot watch run
?
雖然沒有VS簡單方便,但是這樣敲命令+記事本的方法新建一個Console和Web應用,可以一步一步查看每一步命令實現的功能、帶來的變化。讀創建過程中,CMD窗口的提示、讀報錯信息然后修正,這樣循序漸進讓我們更容易了解本質。
"慢即是快”, ASP.NET Core , VS2017 ?Just Come On !
??
遇到問題:
1,Unable to load the service index for source https://api.nuget.org/v3/index.json
→ 可以FQ,或者把Restore命令的參數修改為Cnblogs 的 Nuget地址: > dotnet restore -s https://nuget.cnblogs.com/v3/index.json
2, 如果命令行中提示錯誤,看一下錯誤基本上能找到問題在哪里。如果添加新的Nuget包,記得再Restore一下。
?
MVA課程地址:
Introduction to ASP.NET Core with Visual Studio 2017
Learn what ASP.NET Core is, how to get and install it, and how to create a very quick sample application.
?
?
參考網站:
1) MVA: http://mva.microsoft.com
2) Docs :?https://docs.microsoft.com
3) Net : ?https://www.microsoft.com/net
4)?KestrelHttpServer :?https://github.com/aspnet/KestrelHttpServer/?
4)?Scoot Blog:http://www.hanselman.com/
5) Nuget :?NuGet鏡像上線試運行
?
本文地址:博客園 i-shanghai
?
轉載于:https://www.cnblogs.com/i-shanghai/p/Getting_Started_with_ASPNET_Core.html
總結
以上是生活随笔為你收集整理的ASP.NET Core:CMD命令行+记事本 创建Console程序和Web Application的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Elasticsearch 的一些关键概
- 下一篇: 阿里云OSS搭建移动应用直传服务的.Ne