依據組件的程式庫模式

這項設定是告訴 Dotfuscator,特定的輸入組件會組成一個程式庫 (為便於使用 Dotfuscator 處理,程式庫是定義為其他在這次執行中未指定為輸入之元件所參考的組件),不論您是否設定了任何自訂排除,這都會對重新命名和刪節造成影響。

在 Dotfuscator Community Edition 中,程式庫選項適用於所有的輸入組件。只要有任何輸入組件標記為程式庫,所有輸入組件都會被視為程式庫。

以下是使用程式庫選項的規則:

  1. 公用類別和巢狀公用類別的名稱不會重新命名,這些類別的成員 (欄位和方法) 如果擁有 public、family 或 famorassem 存取權,也不會重新命名。
  2. 此外,不論存取規範如何,都不會重新命名虛擬方法,這樣可以讓程式庫的用戶端在必要時覆寫私用虛擬方法 (這是 .NET 架構中允許的行為)。
  3. 除了上述規則隱含的排除之外,也會套用任何使用者指定的自訂重新命名排除。
  4. 屬性和事件中繼資料一定會被保存下來。

如果您未設定組件的程式庫選項,就等於是告訴 Dotfuscator 您的輸入組件是獨立應用程式,或是僅供其他輸入組件參考。在這種情況下,模糊化的程度會更為加強:

  1. 除了覆寫應用程式外部類別 (例如,本執行中未包含之組件中的類別) 的方法之外,所有東西都會重新命名。
  2. 屬性和事件中繼資料會被移除,因為這項中繼資料並非執行應用程式的必要項目 (它只對程式庫程式碼的「使用者」有意義)。
  3. 和前述一樣,使用者指定的自訂重新命名排除也會被套用。

若要指定輸入組件的程式庫模式,請將 <option> 項目加入輸入組件的 <inputassembly> 項目中。

   <inputassembly>
     <option>library</option>
     <file dir="c:\temp" name="myproj.dll"/> 
   </inputassembly>

© 2002-2007 PreEmptive Solutions. All rights reserved.