狠狠撸

狠狠撸Share a Scribd company logo
安裝與設定跨平台的開發工具 (Windows, macOS, Linux)
從頭打造 C#、.NET 與 ASP.NET Core 開發環境
多奇數位創意有限公司
技術總監 黃保翕(Will 保哥)
https://blog.miniasp.com
認識 .NET 開發平台與 C# 程式語言
? .NET 是個免費、跨平台、開源的開發平台並可建立各種類型的應用程式
- 認識 .NET 的入口網站 ? https://dot.net/
- 學習 .NET 的入口網站 ? https://dot.net/learn
? 掌握 .NET 之前必須學習 C# 程式語言
- 學習如何開發 C# 程式語言 ? https://dot.net/learntocode
- 透過影片學習 C# 程式語言 ? https://dot.net/videos
? C# 101
? C# 201
? .NET Core 101
2
打造跨平台的 .NET 開發環境
今天分享的所有工具全都支援 Windows、macOS 與 Linux
基本開發環境
? 安裝 .NET SDK
- https://dot.net/download
? 安裝 VS Code 編輯器
- https://code.visualstudio.com
? 安裝 VS Code 擴充套件
- .NET Core Extension Pack
- .NET Interactive Notebooks
- Git Extension Pack
- SQL Server (mssql)
4
資料庫開發環境
? 安裝 Docker Desktop 容器工具
? 安裝 Microsoft SQL Server 資料庫伺服器 (Docker)
? 安裝 sqlcmd 與 sqlpackage 工具程式 (命令列工具)
? 安裝 Azure Data Studio 資料庫管理工具
- 安裝 Admin Pack for SQL Server 擴充套件
5
docker pull mcr.microsoft.com/mssql/server:2019-latest
docker run --name sql1 -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=Ver7CompleXPW"
-p 1433:1433 -d mcr.microsoft.com/mssql/server:2019-latest
$env:SQLCMDPASSWORD='Ver7CompleXPW'
sqlcmd -S localhost -U sa -Q "SELECT @@VERSION"
Admin Pack for SQL Server 擴充套件
? SQL Server Agent
- List SQL Server Agent Jobs configured on a SQL Server
- View Job History with job execution results
- Basic Job Control to start and stop jobs
? SQL Server Profiler
- Browse through extended events and view associated T-SQL
- View and manage sessions
- Filter search of events
? SQL Server Import
- Use the Import Flat File Wizard to import .csv and .txt files to a SQL table using AI-based
framework to simplify experience
? SQL Server dacpac
- Use the Data-Tier Application Wizard to deploy and extract .dacpac files and import and
export .bacpac files
6
Visual Studio Code 使用者設定
{
"workbench.sideBar.location": "right",
"editor.minimap.enabled": true,
"editor.minimap.renderCharacters": false,
"csharp.referencesCodeLens.enabled": false,
"csharp.testsCodeLens.enabled": false,
"omnisharp.enableRoslynAnalyzers": true,
"files.associations": {
"*.csproj": "msbuild"
}
} 7
基本开发示范
開發 Console 應用程式
? 專案範本
- dotnet new -l
? 建立新專案
- dotnet new console -n c1
? 使用 VS Code 開啟專案
- code c1
? 啟動應用程式 (F5)
- dotnet run
? 建立 Git 版控
- dotnet new gitignore
- git init && git add . && git commit -m "Initial commit"
9
開發 ASP.NET Core Web 應用程式
? 建立新專案 (預設採用 Minimal APIs 架構)
- dotnet new web -n web1
? 使用 VS Code 開啟專案
- code -r web1
? 設定中斷點 (F9) 與單步執行 (F10)
? 認識 Minimal APIs
? 新增一個新的 API
? 加入 Swagger UI
- builder.Services.AddEndpointsApiExplorer();
- builder.Services.AddSwaggerGen();
10
開發 ASP.NET Core MVC 應用程式
? 建立新專案
- dotnet new mvc --help
- dotnet new mvc -n mvc1
? 使用 VS Code 開啟專案
- code -r mvc1
11
? 建立 Controller
- New C# > Controller
? 建立 Action
- mvc-action (Code Snippet)
? 建立 View
- Alt-P
- Alt-O
常用 NuGet 套件名稱
? Microsoft.AspNetCore.*
- Microsoft.AspNetCore.Hosting.*
- Microsoft.AspNetCore.Server.*
- Microsoft.AspNetCore.Http.*
- Microsoft.AspNetCore.Http.Polly
- Microsoft.AspNetCore.Http.Extensions
- Microsoft.AspNetCore.Mvc.*
- Microsoft.AspNetCore.Mvc.NewtonsoftJson
- Microsoft.AspNetCore.Mvc.Localization
- Microsoft.AspNetCore.Razor.*
- Microsoft.AspNetCore.Identity.*
- Microsoft.AspNetCore.SignalR.*
- Microsoft.AspNetCore.Authentication.*
- Microsoft.AspNetCore.DataProtection.*
- Microsoft.AspNetCore.Diagnostics
- Microsoft.AspNetCore.Diagnostics.HealthChecks
12
? Microsoft.Extensions.*
- Microsoft.Extensions.Options
- Microsoft.Extensions.Logging
- Microsoft.Extensions.Configuration.*
- Microsoft.Extensions.DependencyInjection
- Microsoft.Extensions.Caching.*
- Microsoft.Extensions.Identity.*
- Microsoft.Extensions.Localization.*
- Microsoft.Extensions.Diagnostics.*
- Microsoft.Extensions.Http
? Microsoft.EntityFrameworkCore.*
- Microsoft.EntityFrameworkCore.Tools
- Microsoft.EntityFrameworkCore.SqlServer
- Microsoft.EntityFrameworkCore.DynamicLinq
- Microsoft.EntityFrameworkCore.Proxies
- Microsoft.EntityFrameworkCore.*
The Will Will Web
網路世界的學習心得與技術分享
http://blog.miniasp.com/
Facebook
Will 保哥的技術交流中心
http://www.facebook.com/will.fans
Twitter
https://twitter.com/Will_Huang
13
聯絡資訊
THANK YOU!
Q&A

More Related Content

What's hot (20)

鲸物语~顿辞肠办别谤コンテナとオーケストレーションの理解
鲸物语~顿辞肠办别谤コンテナとオーケストレーションの理解鲸物语~顿辞肠办别谤コンテナとオーケストレーションの理解
鲸物语~顿辞肠办别谤コンテナとオーケストレーションの理解
Masahito Zembutsu
?
翱辫别苍厂迟补肠办で始めるクラウド环境构筑入门
翱辫别苍厂迟补肠办で始めるクラウド环境构筑入门翱辫别苍厂迟补肠办で始めるクラウド环境构筑入门
翱辫别苍厂迟补肠办で始めるクラウド环境构筑入门
VirtualTech Japan Inc.
?
進擊的前端工程師:今天就用 JSON Server 自己打造 API 吧!
進擊的前端工程師:今天就用 JSON Server 自己打造 API 吧!進擊的前端工程師:今天就用 JSON Server 自己打造 API 吧!
進擊的前端工程師:今天就用 JSON Server 自己打造 API 吧!
Will Huang
?
2 Day Bootcamp for OpenStack--Cloud Training by Mirantis (Preview)
2 Day Bootcamp for OpenStack--Cloud Training by Mirantis (Preview)2 Day Bootcamp for OpenStack--Cloud Training by Mirantis (Preview)
2 Day Bootcamp for OpenStack--Cloud Training by Mirantis (Preview)
Mirantis
?
Gitlab flow solo
Gitlab flow soloGitlab flow solo
Gitlab flow solo
viniciusban
?
顿辞肠办别谤と碍耻产别谤苍别迟别蝉をかけめぐる
顿辞肠办别谤と碍耻产别谤苍别迟别蝉をかけめぐる顿辞肠办别谤と碍耻产别谤苍别迟别蝉をかけめぐる
顿辞肠办别谤と碍耻产别谤苍别迟别蝉をかけめぐる
Kohei Tokunaga
?
.NET 7 家族新成員: Microsoft Orleans v7
.NET 7 家族新成員:Microsoft Orleans v7.NET 7 家族新成員:Microsoft Orleans v7
.NET 7 家族新成員: Microsoft Orleans v7
twMVC
?
搁辞辞迟濒别蝉蝉コンテナ
搁辞辞迟濒别蝉蝉コンテナ搁辞辞迟濒别蝉蝉コンテナ
搁辞辞迟濒别蝉蝉コンテナ
Akihiro Suda
?
Introduction a? ReactIntroduction a? React
Introduction a? React
Thibault Martinez
?
[KubeCon NA 2020] containerd: Rootless Containers 2020
[KubeCon NA 2020] containerd: Rootless Containers 2020[KubeCon NA 2020] containerd: Rootless Containers 2020
[KubeCon NA 2020] containerd: Rootless Containers 2020
Akihiro Suda
?
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャーKubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Toru Makabe
?
Jenkins x Kubernetesが簡単だと思ったら大変だった話
Jenkins x Kubernetesが簡単だと思ったら大変だった話Jenkins x Kubernetesが簡単だと思ったら大変だった話
Jenkins x Kubernetesが簡単だと思ったら大変だった話
Masaki Yamamoto
?
C# て?フ?ロックチェーン実装
C# て?フ?ロックチェーン実装C# て?フ?ロックチェーン実装
C# て?フ?ロックチェーン実装
Yuto Takei
?
An intro to Kubernetes operators
An intro to Kubernetes operatorsAn intro to Kubernetes operators
An intro to Kubernetes operators
J On The Beach
?
Qemu device prototyping
Qemu device prototypingQemu device prototyping
Qemu device prototyping
Yan Vugenfirer
?
Microservices Meetup San Francisco - August 2017 Talk on NATS
Microservices Meetup San Francisco - August 2017 Talk on NATSMicroservices Meetup San Francisco - August 2017 Talk on NATS
Microservices Meetup San Francisco - August 2017 Talk on NATS
NATS
?
Kubernetes (k8s).pdfKubernetes (k8s).pdf
Kubernetes (k8s).pdf
Jaouad Assabbour
?
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
NTT Communications Technology Development
?
顿辞肠办别谤から肠辞苍迟补颈苍别谤诲への移行
顿辞肠办别谤から肠辞苍迟补颈苍别谤诲への移行顿辞肠办别谤から肠辞苍迟补颈苍别谤诲への移行
顿辞肠办别谤から肠辞苍迟补颈苍别谤诲への移行
Kohei Tokunaga
?
Multibranch pipelineて?いろいろ学んた?こと
Multibranch pipelineて?いろいろ学んた?ことMultibranch pipelineて?いろいろ学んた?こと
Multibranch pipelineて?いろいろ学んた?こと
Recruit Lifestyle Co., Ltd.
?
鲸物语~顿辞肠办别谤コンテナとオーケストレーションの理解
鲸物语~顿辞肠办别谤コンテナとオーケストレーションの理解鲸物语~顿辞肠办别谤コンテナとオーケストレーションの理解
鲸物语~顿辞肠办别谤コンテナとオーケストレーションの理解
Masahito Zembutsu
?
翱辫别苍厂迟补肠办で始めるクラウド环境构筑入门
翱辫别苍厂迟补肠办で始めるクラウド环境构筑入门翱辫别苍厂迟补肠办で始めるクラウド环境构筑入门
翱辫别苍厂迟补肠办で始めるクラウド环境构筑入门
VirtualTech Japan Inc.
?
進擊的前端工程師:今天就用 JSON Server 自己打造 API 吧!
進擊的前端工程師:今天就用 JSON Server 自己打造 API 吧!進擊的前端工程師:今天就用 JSON Server 自己打造 API 吧!
進擊的前端工程師:今天就用 JSON Server 自己打造 API 吧!
Will Huang
?
2 Day Bootcamp for OpenStack--Cloud Training by Mirantis (Preview)
2 Day Bootcamp for OpenStack--Cloud Training by Mirantis (Preview)2 Day Bootcamp for OpenStack--Cloud Training by Mirantis (Preview)
2 Day Bootcamp for OpenStack--Cloud Training by Mirantis (Preview)
Mirantis
?
顿辞肠办别谤と碍耻产别谤苍别迟别蝉をかけめぐる
顿辞肠办别谤と碍耻产别谤苍别迟别蝉をかけめぐる顿辞肠办别谤と碍耻产别谤苍别迟别蝉をかけめぐる
顿辞肠办别谤と碍耻产别谤苍别迟别蝉をかけめぐる
Kohei Tokunaga
?
.NET 7 家族新成員: Microsoft Orleans v7
.NET 7 家族新成員:Microsoft Orleans v7.NET 7 家族新成員:Microsoft Orleans v7
.NET 7 家族新成員: Microsoft Orleans v7
twMVC
?
搁辞辞迟濒别蝉蝉コンテナ
搁辞辞迟濒别蝉蝉コンテナ搁辞辞迟濒别蝉蝉コンテナ
搁辞辞迟濒别蝉蝉コンテナ
Akihiro Suda
?
Introduction a? ReactIntroduction a? React
Introduction a? React
Thibault Martinez
?
[KubeCon NA 2020] containerd: Rootless Containers 2020
[KubeCon NA 2020] containerd: Rootless Containers 2020[KubeCon NA 2020] containerd: Rootless Containers 2020
[KubeCon NA 2020] containerd: Rootless Containers 2020
Akihiro Suda
?
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャーKubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Toru Makabe
?
Jenkins x Kubernetesが簡単だと思ったら大変だった話
Jenkins x Kubernetesが簡単だと思ったら大変だった話Jenkins x Kubernetesが簡単だと思ったら大変だった話
Jenkins x Kubernetesが簡単だと思ったら大変だった話
Masaki Yamamoto
?
C# て?フ?ロックチェーン実装
C# て?フ?ロックチェーン実装C# て?フ?ロックチェーン実装
C# て?フ?ロックチェーン実装
Yuto Takei
?
An intro to Kubernetes operators
An intro to Kubernetes operatorsAn intro to Kubernetes operators
An intro to Kubernetes operators
J On The Beach
?
Microservices Meetup San Francisco - August 2017 Talk on NATS
Microservices Meetup San Francisco - August 2017 Talk on NATSMicroservices Meetup San Francisco - August 2017 Talk on NATS
Microservices Meetup San Francisco - August 2017 Talk on NATS
NATS
?
Kubernetes (k8s).pdfKubernetes (k8s).pdf
Kubernetes (k8s).pdf
Jaouad Assabbour
?
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
NTT Communications Technology Development
?
顿辞肠办别谤から肠辞苍迟补颈苍别谤诲への移行
顿辞肠办别谤から肠辞苍迟补颈苍别谤诲への移行顿辞肠办别谤から肠辞苍迟补颈苍别谤诲への移行
顿辞肠办别谤から肠辞苍迟补颈苍别谤诲への移行
Kohei Tokunaga
?
Multibranch pipelineて?いろいろ学んた?こと
Multibranch pipelineて?いろいろ学んた?ことMultibranch pipelineて?いろいろ学んた?こと
Multibranch pipelineて?いろいろ学んた?こと
Recruit Lifestyle Co., Ltd.
?

Similar to 從頭打造 C#、.NET 與 ASP.NET Core 開發環境 (20)

小学期飞颈苍蹿辞谤尘.辫辫迟虫
小学期飞颈苍蹿辞谤尘.辫辫迟虫小学期飞颈苍蹿辞谤尘.辫辫迟虫
小学期飞颈苍蹿辞谤尘.辫辫迟虫
JianHuang78
?
这年头,你只需要懂Node webkit
这年头,你只需要懂Node webkit这年头,你只需要懂Node webkit
这年头,你只需要懂Node webkit
LainZQ
?
使用 TypeScript 駕馭 Web 世界的脫韁野馬:以 Angular 2 開發框架為例
使用 TypeScript 駕馭 Web 世界的脫韁野馬:以 Angular 2 開發框架為例使用 TypeScript 駕馭 Web 世界的脫韁野馬:以 Angular 2 開發框架為例
使用 TypeScript 駕馭 Web 世界的脫韁野馬:以 Angular 2 開發框架為例
Will Huang
?
玩轉 .NET Interactive Notebooks 一次就上手
玩轉 .NET Interactive Notebooks 一次就上手玩轉 .NET Interactive Notebooks 一次就上手
玩轉 .NET Interactive Notebooks 一次就上手
Poy Chang
?
Asp.net mvc 6 新功能初探
Asp.net mvc 6 新功能初探Asp.net mvc 6 新功能初探
Asp.net mvc 6 新功能初探
Gelis Wu
?
[2020 .NET Conf] 企業Azure DevOps Service 實際應用架構與秘辛
[2020 .NET Conf] 企業Azure DevOps Service 實際應用架構與秘辛[2020 .NET Conf] 企業Azure DevOps Service 實際應用架構與秘辛
[2020 .NET Conf] 企業Azure DevOps Service 實際應用架構與秘辛
Edward Kuo
?
[2018 .NET Conf].NET Core與Azure DevOps應用於企業開發
[2018 .NET Conf].NET Core與Azure DevOps應用於企業開發[2018 .NET Conf].NET Core與Azure DevOps應用於企業開發
[2018 .NET Conf].NET Core與Azure DevOps應用於企業開發
Edward Kuo
?
Class 20170126
Class 20170126Class 20170126
Class 20170126
Ivan Wei
?
Java Build Tool course in 2011
Java Build Tool course in 2011Java Build Tool course in 2011
Java Build Tool course in 2011
Ching Yi Chan
?
极速 Angular 开发:效能调校技巧 (ngChina 2019)
极速 Angular 开发:效能调校技巧 (ngChina 2019)极速 Angular 开发:效能调校技巧 (ngChina 2019)
极速 Angular 开发:效能调校技巧 (ngChina 2019)
Will Huang
?
痴厂2022入门................................
痴厂2022入门................................痴厂2022入门................................
痴厂2022入门................................
Rico Chen
?
ASP.NET Core 3.0 新功能
ASP.NET Core 3.0 新功能ASP.NET Core 3.0 新功能
ASP.NET Core 3.0 新功能
Edward Kuo
?
Responsive Web UI Design
Responsive Web UI DesignResponsive Web UI Design
Responsive Web UI Design
jay li
?
ASP.NET MVC 6 新功能探索
ASP.NET MVC 6 新功能探索ASP.NET MVC 6 新功能探索
ASP.NET MVC 6 新功能探索
Will Huang
?
Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第一天
Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第一天Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第一天
Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第一天
Gelis Wu
?
專題-2017Linux Driver 實現
專題-2017Linux Driver 實現專題-2017Linux Driver 實現
專題-2017Linux Driver 實現
IttrainingIttraining
?
Node.js 進攻桌面開發
Node.js 進攻桌面開發Node.js 進攻桌面開發
Node.js 進攻桌面開發
Fred Chien
?
twMVC#42 Azure DevOps Service Pipeline設計與非正常應用
twMVC#42 Azure DevOps Service Pipeline設計與非正常應用twMVC#42 Azure DevOps Service Pipeline設計與非正常應用
twMVC#42 Azure DevOps Service Pipeline設計與非正常應用
twMVC
?
小学期飞颈苍蹿辞谤尘.辫辫迟虫
小学期飞颈苍蹿辞谤尘.辫辫迟虫小学期飞颈苍蹿辞谤尘.辫辫迟虫
小学期飞颈苍蹿辞谤尘.辫辫迟虫
JianHuang78
?
这年头,你只需要懂Node webkit
这年头,你只需要懂Node webkit这年头,你只需要懂Node webkit
这年头,你只需要懂Node webkit
LainZQ
?
使用 TypeScript 駕馭 Web 世界的脫韁野馬:以 Angular 2 開發框架為例
使用 TypeScript 駕馭 Web 世界的脫韁野馬:以 Angular 2 開發框架為例使用 TypeScript 駕馭 Web 世界的脫韁野馬:以 Angular 2 開發框架為例
使用 TypeScript 駕馭 Web 世界的脫韁野馬:以 Angular 2 開發框架為例
Will Huang
?
玩轉 .NET Interactive Notebooks 一次就上手
玩轉 .NET Interactive Notebooks 一次就上手玩轉 .NET Interactive Notebooks 一次就上手
玩轉 .NET Interactive Notebooks 一次就上手
Poy Chang
?
Asp.net mvc 6 新功能初探
Asp.net mvc 6 新功能初探Asp.net mvc 6 新功能初探
Asp.net mvc 6 新功能初探
Gelis Wu
?
[2020 .NET Conf] 企業Azure DevOps Service 實際應用架構與秘辛
[2020 .NET Conf] 企業Azure DevOps Service 實際應用架構與秘辛[2020 .NET Conf] 企業Azure DevOps Service 實際應用架構與秘辛
[2020 .NET Conf] 企業Azure DevOps Service 實際應用架構與秘辛
Edward Kuo
?
[2018 .NET Conf].NET Core與Azure DevOps應用於企業開發
[2018 .NET Conf].NET Core與Azure DevOps應用於企業開發[2018 .NET Conf].NET Core與Azure DevOps應用於企業開發
[2018 .NET Conf].NET Core與Azure DevOps應用於企業開發
Edward Kuo
?
Class 20170126
Class 20170126Class 20170126
Class 20170126
Ivan Wei
?
Java Build Tool course in 2011
Java Build Tool course in 2011Java Build Tool course in 2011
Java Build Tool course in 2011
Ching Yi Chan
?
极速 Angular 开发:效能调校技巧 (ngChina 2019)
极速 Angular 开发:效能调校技巧 (ngChina 2019)极速 Angular 开发:效能调校技巧 (ngChina 2019)
极速 Angular 开发:效能调校技巧 (ngChina 2019)
Will Huang
?
痴厂2022入门................................
痴厂2022入门................................痴厂2022入门................................
痴厂2022入门................................
Rico Chen
?
ASP.NET Core 3.0 新功能
ASP.NET Core 3.0 新功能ASP.NET Core 3.0 新功能
ASP.NET Core 3.0 新功能
Edward Kuo
?
Responsive Web UI Design
Responsive Web UI DesignResponsive Web UI Design
Responsive Web UI Design
jay li
?
ASP.NET MVC 6 新功能探索
ASP.NET MVC 6 新功能探索ASP.NET MVC 6 新功能探索
ASP.NET MVC 6 新功能探索
Will Huang
?
Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第一天
Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第一天Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第一天
Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第一天
Gelis Wu
?
Node.js 進攻桌面開發
Node.js 進攻桌面開發Node.js 進攻桌面開發
Node.js 進攻桌面開發
Fred Chien
?
twMVC#42 Azure DevOps Service Pipeline設計與非正常應用
twMVC#42 Azure DevOps Service Pipeline設計與非正常應用twMVC#42 Azure DevOps Service Pipeline設計與非正常應用
twMVC#42 Azure DevOps Service Pipeline設計與非正常應用
twMVC
?

More from Will Huang (20)

你一定不能不知道的 Markdown 寫作技巧
你一定不能不知道的 Markdown 寫作技巧你一定不能不知道的 Markdown 寫作技巧
你一定不能不知道的 Markdown 寫作技巧
Will Huang
?
使用 .NET 5 實現美股期貨的量化交易策略 (.NET Conf 2020)
使用 .NET 5 實現美股期貨的量化交易策略 (.NET Conf 2020)使用 .NET 5 實現美股期貨的量化交易策略 (.NET Conf 2020)
使用 .NET 5 實現美股期貨的量化交易策略 (.NET Conf 2020)
Will Huang
?
實現 Angular, Docker 與 Kubernetes 持續部署 (NG+2020)
實現 Angular, Docker 與 Kubernetes 持續部署 (NG+2020)實現 Angular, Docker 與 Kubernetes 持續部署 (NG+2020)
實現 Angular, Docker 與 Kubernetes 持續部署 (NG+2020)
Will Huang
?
Micro-frontends with Angular 10 (Modern Web 2020)
Micro-frontends with Angular 10 (Modern Web 2020)Micro-frontends with Angular 10 (Modern Web 2020)
Micro-frontends with Angular 10 (Modern Web 2020)
Will Huang
?
從實戰經驗看到的 K8S 導入痛點
從實戰經驗看到的 K8S 導入痛點從實戰經驗看到的 K8S 導入痛點
從實戰經驗看到的 K8S 導入痛點
Will Huang
?
RxJS 6 新手入門
RxJS 6 新手入門RxJS 6 新手入門
RxJS 6 新手入門
Will Huang
?
你不可不知的 ASP.NET Core 3 全新功能探索 (.NET Conf 2019)
你不可不知的 ASP.NET Core 3 全新功能探索 (.NET Conf 2019)你不可不知的 ASP.NET Core 3 全新功能探索 (.NET Conf 2019)
你不可不知的 ASP.NET Core 3 全新功能探索 (.NET Conf 2019)
Will Huang
?
Protractor: The Hacker way (NG-MY 2019)
Protractor: The Hacker way (NG-MY 2019)Protractor: The Hacker way (NG-MY 2019)
Protractor: The Hacker way (NG-MY 2019)
Will Huang
?
邁向 Windows Server 應用程式現代化 (Windows Server Application Modernization)
邁向 Windows Server 應用程式現代化 (Windows Server Application Modernization)邁向 Windows Server 應用程式現代化 (Windows Server Application Modernization)
邁向 Windows Server 應用程式現代化 (Windows Server Application Modernization)
Will Huang
?
Angular 开发技巧 (2018 ngChina 开发者大会)
Angular 开发技巧 (2018 ngChina 开发者大会)Angular 开发技巧 (2018 ngChina 开发者大会)
Angular 开发技巧 (2018 ngChina 开发者大会)
Will Huang
?
Angular 7 全新功能探索 (Angular Taiwan 2018)
Angular 7 全新功能探索 (Angular Taiwan 2018)Angular 7 全新功能探索 (Angular Taiwan 2018)
Angular 7 全新功能探索 (Angular Taiwan 2018)
Will Huang
?
利用.NET Core 與 Azure Kubernetes Service (AKS) 建立高彈性 Microservices (Azure TechDay)
利用.NET Core 與 Azure Kubernetes Service (AKS) 建立高彈性 Microservices (Azure TechDay)利用.NET Core 與 Azure Kubernetes Service (AKS) 建立高彈性 Microservices (Azure TechDay)
利用.NET Core 與 Azure Kubernetes Service (AKS) 建立高彈性 Microservices (Azure TechDay)
Will Huang
?
AKS 與開發人員體驗 (Kubernetes 大講堂)
AKS 與開發人員體驗 (Kubernetes 大講堂)AKS 與開發人員體驗 (Kubernetes 大講堂)
AKS 與開發人員體驗 (Kubernetes 大講堂)
Will Huang
?
使用 ASP.NET Blazor 開發 SPA 網頁應用程式 (.NET Conf 2018)
使用 ASP.NET Blazor 開發 SPA 網頁應用程式 (.NET Conf 2018)使用 ASP.NET Blazor 開發 SPA 網頁應用程式 (.NET Conf 2018)
使用 ASP.NET Blazor 開發 SPA 網頁應用程式 (.NET Conf 2018)
Will Huang
?
全新 Windows Server 2019 容器技術 及邁向與 Kubernetes 整合之路 (Windows Server 高峰會)
全新 Windows Server 2019 容器技術及邁向與 Kubernetes 整合之路 (Windows Server 高峰會)全新 Windows Server 2019 容器技術及邁向與 Kubernetes 整合之路 (Windows Server 高峰會)
全新 Windows Server 2019 容器技術 及邁向與 Kubernetes 整合之路 (Windows Server 高峰會)
Will Huang
?
使用 C#/Razor 開發互動式 WebAssembly 網站 (Modern Web 2018)
使用 C#/Razor 開發互動式 WebAssembly 網站 (Modern Web 2018)使用 C#/Razor 開發互動式 WebAssembly 網站 (Modern Web 2018)
使用 C#/Razor 開發互動式 WebAssembly 網站 (Modern Web 2018)
Will Huang
?
以敏捷架构打造美国软体外包专案的经验谈
以敏捷架构打造美国软体外包专案的经验谈以敏捷架构打造美国软体外包专案的经验谈
以敏捷架构打造美国软体外包专案的经验谈
Will Huang
?
開發人員必須知道的 Kubernetes 核心技術 - Kubernetes Summit 2018
開發人員必須知道的 Kubernetes 核心技術 - Kubernetes Summit 2018開發人員必須知道的 Kubernetes 核心技術 - Kubernetes Summit 2018
開發人員必須知道的 Kubernetes 核心技術 - Kubernetes Summit 2018
Will Huang
?
迎接崭新的奥颈苍诲辞飞蝉容器丛集架构:碍耻产别谤苍别迟别蝉
迎接崭新的奥颈苍诲辞飞蝉容器丛集架构:碍耻产别谤苍别迟别蝉迎接崭新的奥颈苍诲辞飞蝉容器丛集架构:碍耻产别谤苍别迟别蝉
迎接崭新的奥颈苍诲辞飞蝉容器丛集架构:碍耻产别谤苍别迟别蝉
Will Huang
?
TypeScript 綜合格鬥技
TypeScript 綜合格鬥技TypeScript 綜合格鬥技
TypeScript 綜合格鬥技
Will Huang
?
你一定不能不知道的 Markdown 寫作技巧
你一定不能不知道的 Markdown 寫作技巧你一定不能不知道的 Markdown 寫作技巧
你一定不能不知道的 Markdown 寫作技巧
Will Huang
?
使用 .NET 5 實現美股期貨的量化交易策略 (.NET Conf 2020)
使用 .NET 5 實現美股期貨的量化交易策略 (.NET Conf 2020)使用 .NET 5 實現美股期貨的量化交易策略 (.NET Conf 2020)
使用 .NET 5 實現美股期貨的量化交易策略 (.NET Conf 2020)
Will Huang
?
實現 Angular, Docker 與 Kubernetes 持續部署 (NG+2020)
實現 Angular, Docker 與 Kubernetes 持續部署 (NG+2020)實現 Angular, Docker 與 Kubernetes 持續部署 (NG+2020)
實現 Angular, Docker 與 Kubernetes 持續部署 (NG+2020)
Will Huang
?
Micro-frontends with Angular 10 (Modern Web 2020)
Micro-frontends with Angular 10 (Modern Web 2020)Micro-frontends with Angular 10 (Modern Web 2020)
Micro-frontends with Angular 10 (Modern Web 2020)
Will Huang
?
從實戰經驗看到的 K8S 導入痛點
從實戰經驗看到的 K8S 導入痛點從實戰經驗看到的 K8S 導入痛點
從實戰經驗看到的 K8S 導入痛點
Will Huang
?
RxJS 6 新手入門
RxJS 6 新手入門RxJS 6 新手入門
RxJS 6 新手入門
Will Huang
?
你不可不知的 ASP.NET Core 3 全新功能探索 (.NET Conf 2019)
你不可不知的 ASP.NET Core 3 全新功能探索 (.NET Conf 2019)你不可不知的 ASP.NET Core 3 全新功能探索 (.NET Conf 2019)
你不可不知的 ASP.NET Core 3 全新功能探索 (.NET Conf 2019)
Will Huang
?
Protractor: The Hacker way (NG-MY 2019)
Protractor: The Hacker way (NG-MY 2019)Protractor: The Hacker way (NG-MY 2019)
Protractor: The Hacker way (NG-MY 2019)
Will Huang
?
邁向 Windows Server 應用程式現代化 (Windows Server Application Modernization)
邁向 Windows Server 應用程式現代化 (Windows Server Application Modernization)邁向 Windows Server 應用程式現代化 (Windows Server Application Modernization)
邁向 Windows Server 應用程式現代化 (Windows Server Application Modernization)
Will Huang
?
Angular 开发技巧 (2018 ngChina 开发者大会)
Angular 开发技巧 (2018 ngChina 开发者大会)Angular 开发技巧 (2018 ngChina 开发者大会)
Angular 开发技巧 (2018 ngChina 开发者大会)
Will Huang
?
Angular 7 全新功能探索 (Angular Taiwan 2018)
Angular 7 全新功能探索 (Angular Taiwan 2018)Angular 7 全新功能探索 (Angular Taiwan 2018)
Angular 7 全新功能探索 (Angular Taiwan 2018)
Will Huang
?
利用.NET Core 與 Azure Kubernetes Service (AKS) 建立高彈性 Microservices (Azure TechDay)
利用.NET Core 與 Azure Kubernetes Service (AKS) 建立高彈性 Microservices (Azure TechDay)利用.NET Core 與 Azure Kubernetes Service (AKS) 建立高彈性 Microservices (Azure TechDay)
利用.NET Core 與 Azure Kubernetes Service (AKS) 建立高彈性 Microservices (Azure TechDay)
Will Huang
?
AKS 與開發人員體驗 (Kubernetes 大講堂)
AKS 與開發人員體驗 (Kubernetes 大講堂)AKS 與開發人員體驗 (Kubernetes 大講堂)
AKS 與開發人員體驗 (Kubernetes 大講堂)
Will Huang
?
使用 ASP.NET Blazor 開發 SPA 網頁應用程式 (.NET Conf 2018)
使用 ASP.NET Blazor 開發 SPA 網頁應用程式 (.NET Conf 2018)使用 ASP.NET Blazor 開發 SPA 網頁應用程式 (.NET Conf 2018)
使用 ASP.NET Blazor 開發 SPA 網頁應用程式 (.NET Conf 2018)
Will Huang
?
全新 Windows Server 2019 容器技術 及邁向與 Kubernetes 整合之路 (Windows Server 高峰會)
全新 Windows Server 2019 容器技術及邁向與 Kubernetes 整合之路 (Windows Server 高峰會)全新 Windows Server 2019 容器技術及邁向與 Kubernetes 整合之路 (Windows Server 高峰會)
全新 Windows Server 2019 容器技術 及邁向與 Kubernetes 整合之路 (Windows Server 高峰會)
Will Huang
?
使用 C#/Razor 開發互動式 WebAssembly 網站 (Modern Web 2018)
使用 C#/Razor 開發互動式 WebAssembly 網站 (Modern Web 2018)使用 C#/Razor 開發互動式 WebAssembly 網站 (Modern Web 2018)
使用 C#/Razor 開發互動式 WebAssembly 網站 (Modern Web 2018)
Will Huang
?
以敏捷架构打造美国软体外包专案的经验谈
以敏捷架构打造美国软体外包专案的经验谈以敏捷架构打造美国软体外包专案的经验谈
以敏捷架构打造美国软体外包专案的经验谈
Will Huang
?
開發人員必須知道的 Kubernetes 核心技術 - Kubernetes Summit 2018
開發人員必須知道的 Kubernetes 核心技術 - Kubernetes Summit 2018開發人員必須知道的 Kubernetes 核心技術 - Kubernetes Summit 2018
開發人員必須知道的 Kubernetes 核心技術 - Kubernetes Summit 2018
Will Huang
?
迎接崭新的奥颈苍诲辞飞蝉容器丛集架构:碍耻产别谤苍别迟别蝉
迎接崭新的奥颈苍诲辞飞蝉容器丛集架构:碍耻产别谤苍别迟别蝉迎接崭新的奥颈苍诲辞飞蝉容器丛集架构:碍耻产别谤苍别迟别蝉
迎接崭新的奥颈苍诲辞飞蝉容器丛集架构:碍耻产别谤苍别迟别蝉
Will Huang
?
TypeScript 綜合格鬥技
TypeScript 綜合格鬥技TypeScript 綜合格鬥技
TypeScript 綜合格鬥技
Will Huang
?

從頭打造 C#、.NET 與 ASP.NET Core 開發環境

  • 1. 安裝與設定跨平台的開發工具 (Windows, macOS, Linux) 從頭打造 C#、.NET 與 ASP.NET Core 開發環境 多奇數位創意有限公司 技術總監 黃保翕(Will 保哥) https://blog.miniasp.com
  • 2. 認識 .NET 開發平台與 C# 程式語言 ? .NET 是個免費、跨平台、開源的開發平台並可建立各種類型的應用程式 - 認識 .NET 的入口網站 ? https://dot.net/ - 學習 .NET 的入口網站 ? https://dot.net/learn ? 掌握 .NET 之前必須學習 C# 程式語言 - 學習如何開發 C# 程式語言 ? https://dot.net/learntocode - 透過影片學習 C# 程式語言 ? https://dot.net/videos ? C# 101 ? C# 201 ? .NET Core 101 2
  • 4. 基本開發環境 ? 安裝 .NET SDK - https://dot.net/download ? 安裝 VS Code 編輯器 - https://code.visualstudio.com ? 安裝 VS Code 擴充套件 - .NET Core Extension Pack - .NET Interactive Notebooks - Git Extension Pack - SQL Server (mssql) 4
  • 5. 資料庫開發環境 ? 安裝 Docker Desktop 容器工具 ? 安裝 Microsoft SQL Server 資料庫伺服器 (Docker) ? 安裝 sqlcmd 與 sqlpackage 工具程式 (命令列工具) ? 安裝 Azure Data Studio 資料庫管理工具 - 安裝 Admin Pack for SQL Server 擴充套件 5 docker pull mcr.microsoft.com/mssql/server:2019-latest docker run --name sql1 -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=Ver7CompleXPW" -p 1433:1433 -d mcr.microsoft.com/mssql/server:2019-latest $env:SQLCMDPASSWORD='Ver7CompleXPW' sqlcmd -S localhost -U sa -Q "SELECT @@VERSION"
  • 6. Admin Pack for SQL Server 擴充套件 ? SQL Server Agent - List SQL Server Agent Jobs configured on a SQL Server - View Job History with job execution results - Basic Job Control to start and stop jobs ? SQL Server Profiler - Browse through extended events and view associated T-SQL - View and manage sessions - Filter search of events ? SQL Server Import - Use the Import Flat File Wizard to import .csv and .txt files to a SQL table using AI-based framework to simplify experience ? SQL Server dacpac - Use the Data-Tier Application Wizard to deploy and extract .dacpac files and import and export .bacpac files 6
  • 7. Visual Studio Code 使用者設定 { "workbench.sideBar.location": "right", "editor.minimap.enabled": true, "editor.minimap.renderCharacters": false, "csharp.referencesCodeLens.enabled": false, "csharp.testsCodeLens.enabled": false, "omnisharp.enableRoslynAnalyzers": true, "files.associations": { "*.csproj": "msbuild" } } 7
  • 9. 開發 Console 應用程式 ? 專案範本 - dotnet new -l ? 建立新專案 - dotnet new console -n c1 ? 使用 VS Code 開啟專案 - code c1 ? 啟動應用程式 (F5) - dotnet run ? 建立 Git 版控 - dotnet new gitignore - git init && git add . && git commit -m "Initial commit" 9
  • 10. 開發 ASP.NET Core Web 應用程式 ? 建立新專案 (預設採用 Minimal APIs 架構) - dotnet new web -n web1 ? 使用 VS Code 開啟專案 - code -r web1 ? 設定中斷點 (F9) 與單步執行 (F10) ? 認識 Minimal APIs ? 新增一個新的 API ? 加入 Swagger UI - builder.Services.AddEndpointsApiExplorer(); - builder.Services.AddSwaggerGen(); 10
  • 11. 開發 ASP.NET Core MVC 應用程式 ? 建立新專案 - dotnet new mvc --help - dotnet new mvc -n mvc1 ? 使用 VS Code 開啟專案 - code -r mvc1 11 ? 建立 Controller - New C# > Controller ? 建立 Action - mvc-action (Code Snippet) ? 建立 View - Alt-P - Alt-O
  • 12. 常用 NuGet 套件名稱 ? Microsoft.AspNetCore.* - Microsoft.AspNetCore.Hosting.* - Microsoft.AspNetCore.Server.* - Microsoft.AspNetCore.Http.* - Microsoft.AspNetCore.Http.Polly - Microsoft.AspNetCore.Http.Extensions - Microsoft.AspNetCore.Mvc.* - Microsoft.AspNetCore.Mvc.NewtonsoftJson - Microsoft.AspNetCore.Mvc.Localization - Microsoft.AspNetCore.Razor.* - Microsoft.AspNetCore.Identity.* - Microsoft.AspNetCore.SignalR.* - Microsoft.AspNetCore.Authentication.* - Microsoft.AspNetCore.DataProtection.* - Microsoft.AspNetCore.Diagnostics - Microsoft.AspNetCore.Diagnostics.HealthChecks 12 ? Microsoft.Extensions.* - Microsoft.Extensions.Options - Microsoft.Extensions.Logging - Microsoft.Extensions.Configuration.* - Microsoft.Extensions.DependencyInjection - Microsoft.Extensions.Caching.* - Microsoft.Extensions.Identity.* - Microsoft.Extensions.Localization.* - Microsoft.Extensions.Diagnostics.* - Microsoft.Extensions.Http ? Microsoft.EntityFrameworkCore.* - Microsoft.EntityFrameworkCore.Tools - Microsoft.EntityFrameworkCore.SqlServer - Microsoft.EntityFrameworkCore.DynamicLinq - Microsoft.EntityFrameworkCore.Proxies - Microsoft.EntityFrameworkCore.*
  • 13. The Will Will Web 網路世界的學習心得與技術分享 http://blog.miniasp.com/ Facebook Will 保哥的技術交流中心 http://www.facebook.com/will.fans Twitter https://twitter.com/Will_Huang 13 聯絡資訊

Editor's Notes

  • #3: docker pull mcr.microsoft.com/mssql/server:2019-latest docker run --name sql1 -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=Ver7CompleXPW" -d mcr.microsoft.com/mssql/server:2019-latest -p 1433:1433
  • #6: choco install docker-desktop sqlserver-cmdlineutils sqlpackage choco install azure-data-studio-sql-server-admin-pack -y docker pull mcr.microsoft.com/mssql/server:2019-latest docker run --name sql1 -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=Ver7CompleXPW" -d mcr.microsoft.com/mssql/server:2019-latest -p 1433:1433
  • #7: choco install sqlserver-cmdlineutils choco install azure-data-studio choco install azure-data-studio-sql-server-admin-pack
  • #13: 在 ASP.NET Core 專案中改用 JSON.NET 做資料繫結 https://blog.poychang.net/using-newtonsoft-json-in-asp-net-core-projects/ https://docs.microsoft.com/zh-tw/dotnet/api/microsoft.aspnetcore.mvc.newtonsoftjson ASP.NET Core 全球化和當地語系化 https://docs.microsoft.com/zh-tw/aspnet/core/fundamentals/localization