微軟企業庫4 1學習筆記(九)企業庫程式集的部署

2021-08-30 14:29:20 字數 2186 閱讀 5988

企業庫包含很多的程式集,除去unity模組,企業庫的每個程式集的名稱都以「microsoft.practices.enterpriselibrary」開頭。另外,其他的模組都可能會依賴企業庫的common程式集。使用乙個模組的應用也可能會需要其他模組的程式集,例如使用caching模組,有可能會需要data access模組的程式集。

在應用中使用企業庫,可以用下面的兩種方式來部署企業庫的程式集。

一、準備和版本

如果編譯企業庫的源**,預設生成的程式集是沒有簽名的。你就不能將他們放入gac,你就不能享受簽名程式集的好處。

1.1使用xcopy

你可以不使用簽名,也不用將企業庫的程式集部署到gac中。你可以只將他們放在應用程式的目錄中。對於這種簡單的部署方式,你可以使用xcopy將應用的程式集和企業庫的程式集一起安裝在目標計算機。但是,如果在目標計算機上有多個應用都在使用企業庫,你就會在每個應用的目錄下存放乙份企業庫程式集的拷貝。

1.2使用gac ( global assembly cache )

另外,你可以對企業庫程式集進行簽名,這就保證他們的名字全域性唯一,並且有了版本。如果這麼做,你就可以在多個應用使用企業庫的情況下,將他們部署在共享的位置。例如,可以將企業庫部署在gac中,這樣計算機的任何應用都可以使用企業庫程式集。

可以使用下面的方式部署程式集到gac中

1.3版本

程式集簽名之後,就有了版本和命名保護,可以部署在gac中,供所有的應用來使用。

二、公升級企業庫的程式集

如果企業庫提供了新的版本,你可以安裝新版程式集。但是如果新版本對於特定的應用存在相容性問題,你可以在gac中安裝新版本,並且配置一些應用使用gac安裝的新版本,其他存在相容性的應用繼續使用舊版本的企業庫。

2.1公升級私有程式集

如果企業庫程式集作為乙個應用的私有程式集來部署的話,你部署的時候只需要用新的dll代替舊版本的dll就可以了。

注意:你應用在公升級之前拷貝乙份舊版本的企業庫程式集,萬一出現相容性問題的話,可以用舊版本的再替換回來。

2.2公升級共享的程式集

公升級共享程式集的最簡單辦法就是用新的dll替換gac中的舊dll。預設的,clr會自動載入主要版本和次要版本相同,但是內部版本和修訂版本是最新的程式集,作為應用程式使用。因此,如果主要版本和次要版本號沒有變化,在gac中新增最新的程式集,會自動被所有的應用使用。

如果主要版本和次要版本有增加,或者是新版本對現有應用有相容性問題,你可以修改預設的版本策略。在每個應用下面都以乙個配置檔案,在裡面可以指定所使用的程式集的版本。在裡面你可以指定沒有相容性問題的程式集使用新版本的企業庫程式集。

知識點:主要版本,次要版本,內部版本和修訂版本

.net framework 風格的版本號命名格式:主版本號.子版本號.編譯版本號.修正版本號

英文對照:     major_version_number.minor_version_number.build_number.revision_number

net framework風格的版本號命名格式

版本號由二至四個部分組成:主版本號、次版本號、內部版本號和修訂號。主版本號和次版本號是必選的;內部版本號和修訂號是可選的,但是如果定義了修訂號部分,則內部版本號就是必選的。所有定義的部分都必須是大於或等於 0 的整數。

應根據下面的約定使用這些部分:

major :具有相同名稱但不同主版本號的程式集不可互換。例如,這適用於對產品的大量重寫,這些重寫使得無法實現向後相容性。

minor :如果兩個程式集的名稱和主版本號相同,而次版本號不同,這指示顯著增強,但照顧到了向後相容性。例如,這適用於產品的修正版或完全向後相容的新版本。

build :內部版本號的不同表示對相同源所作的重新編譯。這適合於更改處理器、平台或編譯器的情況。

revision :名稱、主版本號和次版本號都相同但修訂號不同的程式集應是完全可互換的。這適用於修復以前發布的程式集中的安全漏洞。

程式集的只有內部版本號或修訂號不同的後續版本被認為是先前版本的修補程式更新。

三、部分信任的環境

使用企業庫3.0之前版本的應用要求有足夠的許可權,以便程式集可以在完全信任的情況下訪問一些資源。最新版本的企業庫,包括4.1你可以在部分信任的情況下使用企業庫。

未完待續。。。。。。。。。。。。。。。。。。。。。。。。

微軟企業庫4 1學習筆記(九)企業庫程式集的部署

企業庫包含很多的程式集,除去unity模組,企業庫的每個程式集的名稱都以 microsoft.practices.enterpriselibrary 開頭。另外,其他的模組都可能會依賴企業庫的common程式集。使用乙個模組的應用也可能會需要其他模組的程式集,例如使用caching模組,有可能會需要...

微軟企業庫4 1學習筆記(九)企業庫程式集的部署

企業庫包含很多的程式集,除去unity模組,企業庫的每個程式集的名稱都以 microsoft.practices.enterpriselibrary 開頭。另外,其他的模組都可能會依賴企業庫的common程式集。使用乙個模組的應用也可能會需要其他模組的程式集,例如使用caching模組,有可能會需要...

微軟企業庫4 1學習筆記(九)企業庫程式集的部署

企業庫包含很多的程式集,除去unity模組,企業庫的每個程式集的名稱都以 microsoft.practices.enterpriselibrary 開頭。另外,其他的模組都可能會依賴企業庫的common程式集。使用乙個模組的應用也可能會需要其他模組的程式集,例如使用caching模組,有可能會需要...