ASP.NET Core快速入門(Jessetalk)(第1章:介紹與引入)(持續更新)
阿新 • • 發佈:2018-12-10
課程連結:http://video.jessetalk.cn/course/explore
良心課程,大家一起來學習哈!
任務1:課程介紹
任務2:環境安裝
下載地址:https://dotnet.microsoft.com/download
或者在 VS2017 安裝時勾選 .NET CORE,如果已安裝則在選單欄上點選工具--獲取工具和功能(T)
安裝完成驗證,在左下角 Windows 圖示右鍵啟動 Window PowerShell(管理員)
PS C:\WINDOWS\system32> dotnet Usage: dotnet [options] Usage: dotnet [path-to-application] Options: -h|--help Display help. --info Display .NET Core information. --list-sdks Display the installed SDKs. --list-runtimes Display the installed runtimes. path-to-application: The path to an application .dll file to execute. PS C:\WINDOWS\system32> dotnet --help .NET 命令列工具 (2.1.500) 使用情況: dotnet [runtime-options] [path-to-application] [arguments] 執行 .NET Core 應用程式。 runtime-options: --additionalprobingpath <path> 要探測的包含探測策略和程式集的路徑。 --additional-deps <path> 指向其他 deps.json 檔案的路徑。 --fx-version <version> 要用於執行應用程式的安裝版共享框架的版本。 --roll-forward-on-no-candidate-fx 已啟用“不前滾到候選共享框架”。 path-to-application: 要執行的應用程式 .dll 檔案的路徑。 使用情況: dotnet [sdk-options] [command] [command-options] [arguments] 執行 .NET Core SDK 命令。 sdk-options: -d|--diagnostics 啟用診斷輸出。 -h|--help 顯示命令列幫助。 --info 顯示 .NET Core 資訊。 --list-runtimes 顯示安裝的執行時。 --list-sdks 顯示安裝的 SDK。 --version 顯示使用中的 .NET Core SDK 版本。 SDK 命令: add 將包或引用新增到 .NET 專案。 build 生成 .NET 專案。 build-server 與由生成版本啟動的伺服器進行互動。 clean 清理 .NET 專案的生成輸出。 help 顯示命令列幫助。 list 列出 .NET 專案的專案引用。 migrate 將 project.json 專案遷移到 MSBuild 專案。 msbuild 執行 Microsoft 生成引擎(MSBuild)命令。 new 建立新的 .NET 專案或檔案。 nuget 提供其他 NuGet 命令。 pack 建立 NuGet 包。 publish 釋出 .NET 專案進行部署。 remove 從 .NET 專案中刪除包或引用。 restore 還原 .NET 專案中指定的依賴項。 run 生成並執行 .NET 專案輸出。 sln 修改 Visual Studio 解決方案檔案。 store 在執行時包儲存中儲存指定的程式集。 test 使用 .NET 專案中指定的測試執行程式執行單元測試。 tool 安裝或管理擴充套件 .NET 體驗的工具。 vstest 執行 Microsoft 測試引擎(VSTest)命令。 捆綁工具中的其他命令: dev-certs 建立和管理開發證書。 ef Entity Framework Core 命令列工具。 sql-cache SQL Server 快取命令列工具。 user-secrets 管理開發使用者密碼。 watch 啟動檔案觀察程式,它會在檔案發生更改時執行命令。 執行 "dotnet [command] --help",獲取有關命令的詳細資訊。
任務3:在控制檯建立ASP.NET Core應用程式
檢視模板:
PS C:\WINDOWS\system32> dotnet new --help 使用情況: new [選項] 選項: -h, --help 顯示有關此命令的幫助。 -l, --list 列出包含指定名稱的模板。如果未指定名稱,請列出所有模板。 -n, --name 正在建立輸出的名稱。如果未指定任何名稱,將使用當前目錄的名稱。 -o, --output 要放置生成的輸出的位置。 -i, --install 安裝源或模板包。 -u, --uninstall 解除安裝一個源或模板包。 --nuget-source 指定在安裝期間要使用的 NuGet 源。 --type 基於可用的型別篩選模板。預定義的值為 "project"、"item" 或 "other"。 --force 強制生成內容,即使該內容會更改現有檔案。 -lang, --language 根據語言篩選模板,並指定要建立的模板的語言。 模板 短名稱 語言 標記 ---------------------------------------------------------------------------------------------------------------------------- Console Application console [C#], F#, VB Common/Console Class library classlib [C#], F#, VB Common/Library Unit Test Project mstest [C#], F#, VB Test/MSTest NUnit 3 Test Project nunit [C#], F#, VB Test/NUnit NUnit 3 Test Item nunit-test [C#], F#, VB Test/NUnit xUnit Test Project xunit [C#], F#, VB Test/xUnit Razor Page page [C#] Web/ASP.NET MVC ViewImports viewimports [C#] Web/ASP.NET MVC ViewStart viewstart [C#] Web/ASP.NET ASP.NET Core Empty web [C#], F# Web/Empty ASP.NET Core Web App (Model-View-Controller) mvc [C#], F# Web/MVC ASP.NET Core Web App razor [C#] Web/MVC/Razor Pages ASP.NET Core with Angular angular [C#] Web/MVC/SPA ASP.NET Core with React.js react [C#] Web/MVC/SPA ASP.NET Core with React.js and Redux reactredux [C#] Web/MVC/SPA Razor Class Library razorclasslib [C#] Web/Razor/Library/Razor Class Library ASP.NET Core Web API webapi [C#], F# Web/WebAPI global.json file globaljson Config NuGet Config nugetconfig Config Web Config webconfig Config Solution File sln Solution Examples: dotnet new mvc --auth Individual dotnet new nugetconfig dotnet new --help
新建一個 ASP.NET Core Web App (Model-View-Controller)
PS D:\jessetalk> mkdir aspdotnetcore 目錄: D:\jessetalk Mode LastWriteTime Length Name ---- ------------- ------ ---- d----- 2018-12-09 23:56 aspdotnetcore PS D:\jessetalk> cd .\aspdotnetcore\ PS D:\jessetalk\aspdotnetcore> dotnet new mvc 已成功建立模板“ASP.NET Core Web App (Model-View-Controller)”。 此模板包含非 Microsoft 的各方的技術,有關詳細資訊,請參閱 https://aka.ms/aspnetcore-template-3pn-210。 正在處理建立後操作... 正在 D:\jessetalk\aspdotnetcore\aspdotnetcore.csproj 上執行 "dotnet restore"... 正在還原 D:\jessetalk\aspdotnetcore\aspdotnetcore.csproj 的包... 正在生成 MSBuild 檔案 D:\jessetalk\aspdotnetcore\obj\aspdotnetcore.csproj.nuget.g.props。 正在生成 MSBuild 檔案 D:\jessetalk\aspdotnetcore\obj\aspdotnetcore.csproj.nuget.g.targets。 D:\jessetalk\aspdotnetcore\aspdotnetcore.csproj 的還原在 2.21 sec 內完成。 還原成功。
啟動專案
PS D:\jessetalk\aspdotnetcore> dotnet run
從 D:\jessetalk\aspdotnetcore\Properties\launchSettings.json 使用啟動設定...
info: Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager[0]
User profile is available. Using 'C:\Users\MINGSON\AppData\Local\ASP.NET\DataProtection-Keys' as key repository and Windows DPAPI to encrypt keys at rest.
Hosting environment: Development
Content root path: D:\jessetalk\aspdotnetcore
Now listening on: https://localhost:5001
Now listening on: http://localhost:5000
Application started. Press Ctrl+C to shut down.
瀏覽器訪問:https://localhost:5001/
任務4:在VS2017中建立ASP.NET Core應用程式
在 VS2017 中通過 IIS Express 啟動
官方推薦在開發和測試的時候通過控制檯啟動,切換啟動方式
啟動之後會自動把日誌通過控制檯輸出
任務5:部署到IIS
安裝完成後在 iis 的模組下面可以看到
在 iis 中新建一個網站,停掉 Default 的網站
在應用程式池中修改 .NET CLR 版本,不然無法執行
在控制檯釋出
PS D:\jessetalk\aspdotnetcore> dotnet publish
用於 .NET Core 的 Microsoft (R) 生成引擎版本 15.9.20+g88f5fadfbe
版權所有(C) Microsoft Corporation。保留所有權利。
D:\jessetalk\aspdotnetcore\aspdotnetcore.csproj 的還原在 84.35 ms 內完成。
aspdotnetcore -> D:\jessetalk\aspdotnetcore\bin\Debug\netcoreapp2.1\aspdotnetcore.dll
aspdotnetcore -> D:\jessetalk\aspdotnetcore\bin\Debug\netcoreapp2.1\aspdotnetcore.Views.dll
aspdotnetcore -> D:\jessetalk\aspdotnetcore\bin\Debug\netcoreapp2.1\publish\
釋出結果
釋出到指定目錄
PS D:\jessetalk\aspdotnetcore> dotnet publish -o D:\jessetalk\sites\aspdotnetcoredemo
用於 .NET Core 的 Microsoft (R) 生成引擎版本 15.9.20+g88f5fadfbe
版權所有(C) Microsoft Corporation。保留所有權利。
D:\jessetalk\aspdotnetcore\aspdotnetcore.csproj 的還原在 80.27 ms 內完成。
aspdotnetcore -> D:\jessetalk\aspdotnetcore\bin\Debug\netcoreapp2.1\aspdotnetcore.dll
aspdotnetcore -> D:\jessetalk\aspdotnetcore\bin\Debug\netcoreapp2.1\aspdotnetcore.Views.dll
aspdotnetcore -> D:\jessetalk\sites\aspdotnetcoredemo\
瀏覽釋出的網站
通過 VS2017 釋出:
清空該目錄下面的內容:D:\jessetalk\sites\aspdotnetcoredemo,重新整理瀏覽器
在 VS2017 中,專案右鍵--釋出,通過資料夾釋出
重新整理瀏覽器