C# Project Template 快速開發

    學習透過 Visual Studio C# Project Templates 建立慣用開發方案!讓開發工作更加有效率 ,Visual Studio 2017 or 2019 Community/Professional/Enterprise 皆適用

    181
    5.0
    • 了解 Visual Studio 的 Project Template (範本)如何建立、如何利用範本包裝重複性工作、如何發布自己的範本到 Visual Studio Gallery 造福其他朋友們。

    • 如何規劃,將自己多年累積的專案資產,如:共用程式碼 Common Utility、Business Logic Model (Layer)、DataAccess 等程式碼骨架,包裝成可重複建立、使用的 Project Templates

    • 互動式 UI 設計,產出 Business logic 程式碼

    US$56.43

    按一下 進入設定

    00:00
    00:00
    00:00

    為什麼需要 C# Project Template?

    # Don"t Repeat Yourself


    許多開發人在專案開發上,總是 不斷的重複著某些必要卻費時費力的工作,如果您已經有多年的專案開發的經驗,但是您每次建立一個新的 Project 時,就得要重新 References 相關的參考、或者是重複的安裝相關的 nuget 套件、又或者是 COPY 一些每個專案都會共用的程式碼 (比如:Common Utility/Business Logic/DataAccess Layer 等等) 如果有以上這些情況,那麼您可以考慮將您現有的程式碼資產包裝成 C# Project Templates!


    快速建置自己慣用的開發方案

    # 整合累積的專案資產,建立方案,一步到位!


    透過 C# Project Template 您將可以把自己多年來,所累積的專案資產包括 軟體架構、共用模組、商業邏輯、前端套件、程式碼骨架給打包整合,建立不同的慣用方案,如:BO (Business Object Project)/WebAPI Host Project/VO (View Objects Project) 等等、或甚至是 Data Access Project,就如同我的 MyORM 一般。


    學會整合開發流程、思路與脈絡

    # 學會整合、優化開發流方法提昇功力吧!


    許多開發人員和團隊到了一個階段後,便會開始尋求如何讓開發工作做更加簡便、有效率,而這堂課將會用以技術顧問的經驗切入做設計,教您如何正確地透過 C# Project Template 建立並整合出更快速的開發方法!

    為什麼想要開這堂課程?

    # 活用工具並融合開發經驗,更上一層樓!


    我過去擔任過許多公司的技術顧問,發現許多開發人員和團隊都存在著相同的問題。就是埋頭苦幹,卻沒時間停下來好好思考,如何讓開發工作更加有效率。 許多開發人員、或團隊甚至不知如何整理自己所學的軟體架構、商業邏輯物件 BO (Business Object)、共用模組 Common Utility 或甚至是資料存取層 Data Access Layer 都可以透過 C# Project Template 撰寫成互動式精靈 UI,快速的產生你的既定的框架 。而這堂課將會帶領您,如何學習將自身的開發環境現狀以及所學技能,產出最適合自己和團隊的開發方法。

    課程詳細規劃

    # 詳細 C# Project Template 開發須知


    快速了解 C# Project 

    • 如何將現有共用程式碼 DLL 或 類別庫 專案 包裝成 NuGet Package?
    • 什麼是 Visual Studio C# Project Template?
    • 製作範本精靈可以達到什麼好處?
    • 一致性的開發規範 - Coding Standard (Programming Rule)

    • 開發更一致化、容易標準化

    • 加快開發的效率 - 避免重複造輪子

    • 減低人為的錯誤率

    • 保障程式碼品質 (搭配 UnitTest & Code Review)

    • 讓程式碼更容易交接、維護、與重用

    • 經由以上幾點,達到加速開發的優點

    開始製作第一個 Project Template

    • 安裝 Visual Studio 擴充功能開發
    • 將你的共用 CommonUtility 包裝成 NuGet 套件
    • 新增 C# Project Template 專案
    • 在 C# Project Template 加入相關項目
    • 新增 VSIX Project 專案

    Item Template 簡介、與製作第一個 Item Template

    • 對 Project 的單一項目做編輯
    • 依照專案需求,客製化的加入項目
    • 每個 Item Template 可以有獨立精靈操作介面
    • 如何將 C# Project Template 的 OutputType 改為 Console Application?
    • 將 Console Application 的 C# Project Template 包裝到 VSIX 中
    • 並使用『實驗性執行個體』來測試建立這個 Console Application 的 Project Template
    • 並 使用『新增項目』加入剛剛我們加入到 VSIX 資產中的 Item Template

    IWizard 與 Visual Studio DTE 簡介

    • Visual Studio 2017 Extensibility SDK 的一些改變 (適用 2019)
    • 什麼是 IWizard?
    • Visual Studio 可程式化界面環境 DTE (Development Tools Environment) 說明
    • 何時該使用 Project Template?何時使用 NuGet?

    如何建置一個支援 IWizard 的 Project Templates?

    • 5.1. IWizard 介面詳細解說 
    1. 實作如何引用 DTE & Microsoft.VisualStudio.TemplateWizardInterface
    2. IWizard 基本事件介紹
    • 5.2. 簽署 VSIX Assembly & 允許 VSIX 包含 Assembly 
    1. 要讓 VSIX 內容可包含程式碼 Assembly 必須簽署 VSIX 專案
    2. 修改 ConsoleProjectTemplate.vstemplate 檔案並加入 <WizardExtension></WizardExtension>
    3. 使用 sn.exe -T [你的 VSIX DLL]
    4. 複製到 ProjectTemplatesHello Console App1033 資料夾 覆蓋掉
    • 5.3. 建立互動式 UI 介面 - 使用 Windows Form
    1. 實際在 VSIX 專案加入 Windows Form
    2. 並在 HelloWorldWizard 的 RunStarted 方法上撰寫程式碼
    3. 測試專案的建立可以透過精靈 UI 上點選 OK 按鍵後產生
    • 5.4. Visual Studio 的 ReplacementsDictionary 物件原理與機制解說
    1. 內建參數說明:$projectname$、$safeprojectname$、$registeredorganization$、$guid1$、$targetframeworkversion$
    2. 基本運算式說明:$if$ ($targetframeworkversion$ >= 3.5)using System.Linq;、$endif$
    3. 使用 replacementsDictionary.Add("$MethodName$", frmHelloWizard.GlobalVars.SelectedMethodName); 更改 Class1 內的 Method 名稱
    • 5.5. IWizard 基本架構規劃 與 基本 互動式 UI 設計 
    • 5.6. 如何動態建立 Class 的 CS 檔案?
    1. 建立 Def 定義檔案(不一定要寫死、建議可將 Def 放在 XML 檔案中)
    2. 撰寫 ProjectFinishedGenerating 事件來建立 動態 Class 檔案
    • 5.7. 如何修復找不到 套件:MyCommonUtil.1.0.0.nupkg 的問題? 
    1. 模擬在建置 C# Project Tamplates 專案時,找不到定義在 packages.config 內的『自定義 NuGet Package』的問題
    2. 解釋、並提供解決方案,告訴大家如何解決此問題
    • 5.8. 包裝到 VSIX 中,並使用『實驗性執行個體』測試
    1. 重新解釋在 5.6 當中,動態產生 Class 時,為何都是小寫
    2. 解釋讀取自定義的 C# Def Template 的時候,在哪裡處理 ToUpperCase/ToLowerCase
    3. 啟動 Visual Studio 實驗室執行個體 相關注意事項

    即將新增(6-7)章節:

    6. 如何建立 Web 專案類型的 C# Project Template?

    • 6.1. 專案檔 (.csporj) 概述
    1. 深入探討 .csproj 專案檔結構,說明 Web 專案檔與一般 C# 專案檔三個內容不同的地方
    • 6.2. 將 C# Project Templates 改為 Web Project 專案檔案
    1. 動手實作,將建立的 C# Project Templates 改為 Web Project
    • 6.3. 如何將 Kendo UI HTML5 Framework 包裝為 Web Project 的 C# Project Templates?
    1. 匯入匯出專案的妙用,貼上 Kendo UI 內容,將匯出的專案加入倒 VSIX
    • 6.4. 商業套件架構規劃(此章節區分為兩個獨立章節
    1. Front-End 套件 & NuGet Package 架構規劃
    2. 核心套件規劃 與 Web API Framework 的 Project Template 製作
    • 7.1. 在 Visual Studio 2019 中又做了那些改變?(2020/04/25 擴增章節)
    1. 如何讓你的既有的 Visual Studio 2017 套件同時支援 2019?

    在這個小節裡面,我會融合從 1.1 章 ~ 6.4 章節的所有內容,使用我自己開發的 Web Project Template Host 來建立網站(這個網站完全是一個 C# Project Template 所建立的,包括 Bootstrap + jQuery 等基本套件),而我會 Demo 如何將 Vue.js 的 Front-End 項目加入到 C# Project Template 中,再重新 ReBuild,接著,就使用『實驗性執行個體』進行一連串的開發工作。


    這是一個重無到有的建置過程,我在影片中,展示如何從無到有的建置一個『使用者資料維護』清單畫面。


    這個應用程式會有基本的 Website(Host) + BO (Business Object) + DataAccess (MyORM)


    步驟大致上如下:

    (1). 建立 Website (這裡稱作 WebAPIHost) 是一個含括 EasyArchitect Web API Host (ApiHostBase) 的網站

    (1.1). 也會順便解釋 EasyArchitect Framework 的 ApiHostBase 的定義

    (2). 建立 BO 專案 (這是一個 ServerComponent 的類別庫專案)

    (3). 使用 Postman 測試預設的 GetDateTime 測試方法

    (4). 建立 DataAccess 專案 (MyORM 的 MyORM2UnitOfWorkRepositoryProject 的範本來建立)

    (5). 撰寫 BO 的 GetUsers() 的Web API 方法 並設定 APO 屬性 Attributes [EnabledAnonymous(true), ExposeWebAPI()]

    (6). 使用 先前所學習建立的 UserGridItem 的 Item Template 來建立 使用者清單查詢 【Index 檢視頁面項目】

    (7). 安裝 EasyArchitect.Client.BackendService.jQuery 透過它來渲染 Vus.js

    (8). 測試應用程式


    這個從無到有的過程,會使用到我先前在『軟體開發之路 - 技術分享會(第一場)- 客製化 Web API 框架設計』的,使用客製化 EasyArchitect Web API Framework 框架設計商業應用程式(https://www.slideshare.net/GelisWu/web-api-77930234),而這裡全面的導入 C# Project Templates!


    而先前我也有一篇文章:『從使用者需求、談架構設計(二)- Clean Architecture 一個整潔的架構篇』,在這個文章中,所使用的 Web API 的框架也是基於這個框架所撰寫而成的!


    7. Item Template 進階說明

    • 7.1. Item 樣板設計 & 程式碼撰寫
    • 7.2. 如何設計一個可以產生 Kendo Grid 的 Item Templates?

    開發環境的準備

    1. 安裝 Visual Studio 2017 or 2019 Community/Professional/Enterprise (任一版本皆可)

    下載連結:https://www.microsoft.com/net/download/windows

    2. 並確認安裝好 Visual Studio Extensibility SDK 擴充功能開發(並同時已經安裝好『Web 網頁開發』、『Desktop 桌面開發』、『.NET Core 跨平台開發』安裝.NET跨平台開發是為了nuget.command.CLI 會自動安裝在User Profile下)

    3. 透過 Visual Studio 的擴充功能與更新 來安裝 MyORMWizardExtensions 套件

    4. 安裝好 NuGet Package Explorer

    下載連結:https://github.com/NuGetPackageExplorer/NuGetPackageExplorer

    5. 安裝 NuGet CLI 公用程式 (如果課程中您找不到 nuget.command.line 路徑時,請自行下載 COPY 到該路徑中)

    下載連結:https://docs.microsoft.com/zh-tw/nuget/install-nuget-client-tools


    關於講師 Gelis - .NET 資深技術顧問


    我是 Gelis,從事軟體專案開發相關工作已經 19 餘年(顧問工作4年),專案開發 15 年,目前任職資深 .NET 技術顧問,目前主要負責與 .NET 相關的開發、顧問與訓練工作。


    我熱愛軟體工程、UML 系統分析與設計,擅長 OO 物件導向分析與設計外,也擅長將看似與程式碼無關的 OOA 與 OOD 的設計模型推導為實際程式碼設計,專精於 .NET 平台網頁 ASP.NET Web Form 與 MVC 開發與 WinForm 開發,領域包含了 WinForm、WPF 等。


    主要負責軟體開發架構、流程的導入的顧問工作,主要核心價值在於在導入適當的開發平台 Platform 框架 Framework,配合 (Team Foundation Server, TFS) 產品與 ALM 的Scrum 流程,搭配自動化 Code-Review 並結合 Team Build 進行自動化測試,自動化部署 (Continuous Deployment, CD),並達到持續整合 (Cintinuous Integrated, CI),以提升開發團隊的效率與價值。


    曾經連任七屆微軟最有價值專家 MVP (2011 ~ 2017),有個人的技術部落格 『Gelis 技術隨筆』,以記錄在技術上學習的新知與個人的研究發表。


    講師經歷:

    • 2015集英信誠-與大師對談講師
    • Visual Studio Everywhere 台北場講師
    • .NET Conf Taiwan 2018/2019 講師
    • Study4.TW 社群講師
    • 企業內訓講師

    現職:

    • 集英信誠 資深 .NET 技術顧問
    • 現任 Microsoft MVP

    部落格 (Gelis 技術隨筆):

    http://gelis-dotnet.blogspot.tw

    https://www.dotblogs.com.tw/gelis/

    FB 社團 (軟體開發之路):

    https://www.facebook.com/groups/361804473860062/

    FB 粉絲團 (Gelis 的程式設計訓練營):

    https://www.facebook.com/gelis.dev.learning/

    我講授過的課程 SlideShare:

    https://www.slideshare.net/GelisWu

    Github:

    https://github.com/wugelis



    章節目錄

    • 1-1
      Visual Studio C# Project Template 課程目標、內容說明
    • 1-2
      什麼是 C# Project Template?它可以幫助您做到什麼?

    試閱影片

    常見問答

    如果您購買的是募資課程,請在課程的【簡介】中查看開課時間,募資課程將於開課時間所述日期開放同學上課。

     

    若您購買的是一般課程(開放上課課程),則在購買完成後可以立即開始觀看。

     

    所有線上課程皆不受時間限制,享無限次永久觀看!

    猜你喜歡

    購買前問答

    Orissa Wang
    Orissa Wang

    老師,請問最近有優惠嗎?

    C# Project Template 快速開發

    Gelis
    Gelis

    您好,不知您看到的價格是多少錢呢?

    Orissa Wang
    Orissa Wang

    $1800

    Gelis
    Gelis

    我這裡目前還有一個優惠卷是 $1390

    您可以考慮看看,若有需要我發MAIL給您(因這裡無法貼優惠卷)

    有任何問題都可以跟我說唷!

     

    謝謝您

    Orissa Wang
    Orissa Wang

    太感謝了,我的mail:

    orissa.wang@yahoo.com.tw

    Gelis
    Gelis

    方便給我您的 EMail 嗎?

    謝謝您

    Orissa Wang
    Orissa Wang

    orissa.wang@yahoo.con.tw

    Gelis
    Gelis

    您好

     

    我寄了幾次都被退信,您確定這信箱是存在的嗎?

    或者您還有別的信箱嗎?

     

    謝謝您

    Gelis
    Gelis

    我已寄出。

     

    原來複製到你下面那個錯的 XD

    銷售方案