個人CodeBase紀錄 - EP.1 先來加入類別庫 真酷


Posted by Mike.Lin on 2023-08-07

在較大型方案中,將參考或是擴充方法拉至單獨一個專案,不僅方便維護,若有其他新專案,也可以較快速的搬移來共用。
此code base會較著墨於共用方法,因此從建類別庫來開啟這個系列,酷!


以下就流程簡單介紹:

首先,先在方案內新增類別庫專案

選擇加入類別庫專案

架構選定.NET Standard 2.0

先來寫個簡單的打招呼程式

using System;
using System.Runtime.CompilerServices;

namespace LibraryAddTest
{
    public static class Hello
    {
        /// <summary>
        /// 跟someone打招呼
        /// </summary>
        /// <returns></returns>
        public static string SayHiToSomeOne()
        {
            return "Hi, Someone!";
        }
        /// <summary>
        /// 跟指定人打招呼
        /// </summary>
        /// <param name="name"></param>
        /// <returns></returns>
        public static string SayHiToName(this string name)
        {
            return $"Hi, {name}!";
        }
    }
}

設定專案的相依性

建置類別庫專案後,即可在其餘專案做引用

using LibraryAddTest;

var name = "Engineer Mike";
var sayHiToSomeOne = name.SayHiToName();
Console.WriteLine(name);

結果


到這邊其實主要的類別庫已經完成,但為了懶出極限在其他方案更快速的套用,我們可以將類別庫打包成nuget,並發佈到NuGet.org,如下:

於類別庫專案右鍵點擊套件做打包,預設路徑為專案下方的bin資料夾

下載用於發布的工具 - NuGet Package Explorer ,選擇本地的nuget package file

選取後畫面,左側可以看到此nuget的詳情

點擊左上 Edit > Edit Metadata 可以調整此nuget的詳細資訊,包含作者資訊,專案的repo位置,icon圖檔等

點擊左上 File > Publish 來發佈

輸入publish key來推送,若無私有nuget server,可以使用共有的 nuget server 來生成 API Keys

推送成功後,即可在 nuget.org 找到已推送的套件


結語

擴充方法跟套件打包,目的都是為了減少開發日常中重複性的工作,也因此在設計套件上,必須考慮泛用性,接下來的幾篇,我會從我個人最耗時或最常用的方法優先撰寫,酷拉!


#nuget.org #ASP.NET #NuGet Package Explorer







Related Posts

什麼是 AJAX ?如何遠端撈取資料?

什麼是 AJAX ?如何遠端撈取資料?

深入學習 LSD-SLAM-1

深入學習 LSD-SLAM-1

Day 151

Day 151


Comments