2012-03-01 61 views
2

我有一個桌面應用程序,使用戶可以運行十個左右單個模塊中的一個。每個模塊作爲解決方案中的獨立類庫存在。單個模塊的版本控制對用戶來說很重要,所以我希望能夠在幫助 - >關於框中列出每個類庫的版本。這非常簡單,我現在通過使用下面的代碼片段填充AboutBox中的richText框來完成它。合併到單個程序集中時獲取庫版本

this.moduleVersions.Text = ""; 
foreach (var kvp in mainform.moduleList) 
    this.moduleVersions.Text += String.Format("{0,-20}: {1}\r\n", kvp.Key, kvp.Value.Assembly.GetName().Version.ToString()); 

注意,在父主窗體模塊的列表名稱和類型的字典:

public Dictionary<string, Type> moduleList = new Dictionary<string, Type>(); 

但這裏的皺紋。在發佈版本上,我混淆併合並所有dll到單個可執行文件。不考慮這是否是最佳實踐(我知道它不是這樣,但它有令人信服的理由),問題是它打破了上面的片段,因爲現在所有的模塊都在物理上在同一個組件中(父主體表單),並且它們都返回主程序集的版本。我想以某種方式進行原始程序集的版本號。這可能沒有蠻力(即硬編碼版本號)?

此外,我不認爲它是相關的,但我使用.NET Reactor進行混淆和合並。

謝謝。

+1

創建自定義屬性並裝飾類型。 – leppie 2012-03-01 14:34:33

+0

完美。謝謝。 – Gadzooks34 2012-03-01 15:05:16

+0

我現在把它發佈爲答案:) – leppie 2012-03-01 16:41:24

回答

0

創建自定義屬性並裝飾類型。

相關問題