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

C# 專案配置與部署:條件編譯、文件註解與版本控制

     編輯:關於C語言

前言

建立 .NET 組件後,仍需考慮條件編譯、文件產生與版本管理等部署議題。本章詳細說明 C# 預處理器指示詞、條件屬性、XML 文件註解與組件版本控制策略。

條件編譯

預處理器指示詞

C# 無獨立預處理器,但編譯器模擬條件編譯功能。主要指示詞:

  • #define SYMBOL / #undef SYMBOL:定義/取消符號(必須置於檔案最前,using 之前)。
  • #if / #elif / #else / #endif:依符號條件包含/排除程式碼,支援 &&、||、! 邏輯運算。
  • #warning / #error:產生編譯警告/錯誤,阻止建置。

亦可透過編譯器參數定義符號:csc /define:DEBUG;RELEASE program.cs。

條件屬性

[Conditional("SYMBOL")] 標記方法,僅當符號定義時編入組件並保留呼叫,否則移除方法本體與所有呼叫點。限制:回傳型別必須為 void。常用於除錯追蹤、斷言等僅在 DEBUG 建置需執行的功能。


#define DEBUG
using System.Diagnostics;

public class Logger {
    [Conditional("DEBUG")]
    public static void Trace(string msg) {
        Console.WriteLine("[TRACE] " + msg);
    }
}
// 呼叫點在 RELEASE 建置會被完全移除
Logger.Trace("進入關鍵函式");

XML 文件註解

使用 /// 三斜線註解,編譯器可產生 XML 文件檔(/doc:file.xml)。標準標籤:

標籤用途
<summary>類別/成員簡述
<param name="...">參數說明
<returns>回傳值說明
<exception cref="...">可能拋出的例外
<example>使用範例
<seealso cref="..."/>參考連結

/// 計算兩數乘積
/// 第一個數
/// 第二個數
/// 乘積結果
public int Multiply(int a, int b) { return a * b; }

組件版本控制

版本號結構

<major>.<minor>.<build>.<revision>(例如 1.2.3.4)。Runtime 強制版本策略:

  • 強名稱組件:預設僅載入完全相符版本。
  • 弱名稱組件:不進行版本檢查。

版本策略設定

  • AssemblyVersion:組件版本(建置時自動遞增 *)。
  • AssemblyFileVersion:檔案版本(顯示於檔案屬性)。
  • AssemblyInformationalVersion:產品行銷版本字串。

透過發行者原則組件或應用程式設定檔(<bindingRedirect>)可重新導向版本繫結,解決「DLL 地獄」問題。

總結

條件編譯支援多種建置配置(Debug/Release/Demo),XML 文件註解自動產生技術文件,嚴謹的版本控制確保組件相容與部署彈性。三者結合構建專業的 .NET 專案生命週期管理基礎。

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