课程链接:http://video.jessetalk.cn/course/explore
良心课程,大家一起来学习哈!
任务1:课程介绍
任务2:环境安装
下载地址:https://dotnet.microsoft.com/download
或者在 VS2017 安装时勾选 .NET CORE,如果已安装则在菜单栏上点击工具--获取工具和功能(T)
安装完成验证,在左下角 Windows 图标右键启动 Window PowerShell(管理员)
PS C:\WINDOWS\system32> dotnetUsage: 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/ConsoleClass library ????????????????????????????????????classlib ??????????[C#], F#, VB ?????Common/LibraryUnit Test Project ????????????????????????????????mstest ????????????[C#], F#, VB ?????Test/MSTestNUnit 3 Test Project ?????????????????????????????nunit ?????????????[C#], F#, VB ?????Test/NUnitNUnit 3 Test Item ????????????????????????????????nunit-test ????????[C#], F#, VB ?????Test/NUnitxUnit Test Project ???????????????????????????????xunit ?????????????[C#], F#, VB ?????Test/xUnitRazor Page ???????????????????????????????????????page ??????????????[C#] ?????????????Web/ASP.NETMVC ViewImports ??????????????????????????????????viewimports ???????[C#] ?????????????Web/ASP.NETMVC ViewStart ????????????????????????????????????viewstart ?????????[C#] ?????????????Web/ASP.NETASP.NET Core Empty ???????????????????????????????web ???????????????[C#], F# ?????????Web/EmptyASP.NET Core Web App (Model-View-Controller) ?????mvc ???????????????[C#], F# ?????????Web/MVCASP.NET Core Web App ?????????????????????????????razor ?????????????[C#] ?????????????Web/MVC/Razor PagesASP.NET Core with Angular ????????????????????????angular ???????????[C#] ?????????????Web/MVC/SPAASP.NET Core with React.js ???????????????????????react ?????????????[C#] ?????????????Web/MVC/SPAASP.NET Core with React.js and Redux ?????????????reactredux ????????[C#] ?????????????Web/MVC/SPARazor Class Library ??????????????????????????????razorclasslib ?????[C#] ?????????????Web/Razor/Library/Razor Class LibraryASP.NET Core Web API ?????????????????????????????webapi ????????????[C#], F# ?????????Web/WebAPIglobal.json file ?????????????????????????????????globaljson ??????????????????????????ConfigNuGet Config ?????????????????????????????????????nugetconfig ?????????????????????????ConfigWeb Config ???????????????????????????????????????webconfig ???????????????????????????ConfigSolution File ????????????????????????????????????sln ?????????????????????????????????SolutionExamples: ???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:\jessetalkMode ???????????????LastWriteTime ????????Length Name---- ???????????????------------- ????????------ ----d----- ??????2018-12-09 ????23:56 ???????????????aspdotnetcorePS D:\jessetalk> cd .\aspdotnetcorePS 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: DevelopmentContent root path: D:\jessetalk\aspdotnetcoreNow listening on: https://localhost:5001Now listening on: http://localhost:5000Application 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 中,项目右键--发布,通过文件夹发布
刷新浏览器
任务6:准备CentOS和Nginx环境
下载 vmware workstation
官网:https://www.vmware.com/products/workstation-pro/workstation-pro-evaluation.html
下载 CentOS,选择 Minimal ISO
官网:https://www.centos.org/download/
第一次启动可能出现
VMware与 Device/Credential Guard 不兼容
手动安装组件:
网卡
修改为 yes
重启网卡
安装 ifconfig 命令
得到 ip 地址 192.168.204.128 之后可以通过 putty 连接
putty下载地址:https://putty.org/
使用 putty 连接 cenos 之后可以方便复制粘贴命令
安装 Nginx:https://www.digitalocean.com/community/tutorials/how-to-install-nginx-on-centos-7
安装完成后浏览器访问:192.168.204.128
ASP.NET Core快速入门(Jessetalk)(第1章:介绍与引入)(持续更新)
原文地址:https://www.cnblogs.com/MingsonZheng/p/10094515.html