首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> C# >> 關於C#

Visual Studio 2010 建立 C# 類別庫 (DLL) 並供其他專案參考完整步驟

     編輯:關於C#

建立類別庫專案

  1. 開啟 Visual Studio 2010,選擇 檔案 > 新增專案。
  2. 範本選擇 Visual C# > Windows > 類別庫 (Class Library)。
  3. 專案名稱輸入 MyClassLibrary,方案名稱可同或不同,確定建立。

撰寫公用類別

預設會產生 Class1.cs,重新命名並撰寫功能:

namespace MyClassLibrary
{
    // public 必須標示,否則預設 internal 僅專案內可見
    public sealed class StringHelper
    {
        public static string ToTitleCase(string input)
        {
            if (string.IsNullOrEmpty(input)) return input;
            return System.Globalization.CultureInfo.CurrentCulture.TextInfo.ToTitleCase(input.ToLower());
        }

        public static string MaskEmail(string email)
        {
            if (string.IsNullOrEmpty(email) || !email.Contains("@")) return email;
            var parts = email.Split('@');
            string masked = parts[0].Length > 2
                ? parts[0][0] + new string('*', parts[0].Length - 2) + parts[0][^1]
                : new string('*', parts[0].Length);
            return $"{masked}@{parts[1]}";
        }
    }

    // 若不想被繼承,加上 sealed
    public class MathHelper
    {
        public static int Factorial(int n) => n <= 1 ? 1 : n * Factorial(n - 1);
    }
}

建置產出 DLL

  1. 工具列切換至 Release 組態 (或 Debug 皆可)。
  2. 選單 建置 > 建置方案 (或 Ctrl+Shift+B)。
  3. 輸出路徑:MyClassLibrary\bin\Release\MyClassLibrary.dll (含 .pdb 符號檔)。

在其他專案中參考使用

方式一:專案參考 (同方案內,推薦)

  1. 方案總管右鍵目標專案 > 加入參考 > 專案 > 勾選 MyClassLibrary。
  2. 程式碼加入 using MyClassLibrary; 即可使用。

方式二:DLL 檔案參考 (跨方案、第三方庫)

  1. 將 MyClassLibrary.dll 複製到目標專案資料夾 (如 Libs 目錄)。
  2. 方案總管右鍵目標專案 > 加入參考 > 瀏覽 > 選取 DLL。
  3. 建議在專案屬性 建置事件 > 建置後事件命令列 加入複製指令,確保 DLL 隨建置輸出:
    copy "$(SolutionDir)Libs\MyClassLibrary.dll" "$(TargetDir)"

呼叫範例

using MyClassLibrary;
using System;

class Program
{
    static void Main()
    {
        Console.WriteLine(StringHelper.ToTitleCase("hello world")); // Hello World
        Console.WriteLine(StringHelper.MaskEmail("user@example.com")); // u****r@example.com
        Console.WriteLine(MathHelper.Factorial(5)); // 120
    }
}

版本管理與強式名稱 (可選)

  • AssemblyInfo.cs 設定版本:[assembly: AssemblyVersion("1.0.0.0")]。
  • 強式名稱簽署: 專案屬性 > 簽署 > 勾選 為組件簽署 > 新建/選擇 .snk 金鑰檔。強式名稱 DLL 可部署至 GAC、支援版本重導向。
  • NuGet 封裝: 專案右鍵 > 封裝 > 產出 .nupkg,推送至私有/公有 NuGet 伺服器,統一版本管理。

常見問題

問題原因解決
「找不到類型或命名空間」未加 using、類別非 public、DLL 未複製到輸出目錄檢查 public、using、建置後事件複製
「無法載入檔案或組件」目標框架不相容 (.NET 4.0 vs 4.5+)、缺少相依 DLL統一 Target Framework、NuGet 管理相依性
修改 DLL 後主專案未生效VS 快取舊版、DLL 被鎖定清理解決方案、重新建置、重啟 VS

參考資源

原文連結:https://www.bianceng.cn/Programming/csharp/201410/45589.htm

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved