1. 程式人生 > >ASP.NET Core快速入門(Jessetalk)(第1章:介紹與引入)(持續更新)

ASP.NET Core快速入門(Jessetalk)(第1章:介紹與引入)(持續更新)

課程連結: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

Windows10如何安裝IIS

下載 ASP.NET Core Module

安裝完成後在 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 中,專案右鍵--釋出,通過資料夾釋出

重新整理瀏覽器