Net framework 5, а также среды Visual Studio 2012 и C#


Управление версиями при помощи политики издателя



Download 6,27 Mb.
Pdf ko'rish
bet84/658
Sana12.06.2023
Hajmi6,27 Mb.
#950840
1   ...   80   81   82   83   84   85   86   87   ...   658
Bog'liq
CLR via C Programmirovanie na platforme Microsoft NET Framework 4 5 na yazyke C

Управление версиями при помощи политики издателя
В ситуации, описанной в предыдущем разделе, издатель сборки просто присылал 
новую версию сборки администратору, который устанавливал сборку и вручную 
редактировал конфигурационные XML-файлы машины или приложения. Вообще 
говоря, после исправления ошибки в сборке издателю понадобится простой меха-
низм упаковки и распространения новой сборки по всем пользователям. Кроме 
того, нужно как-то заставить среду CLR каждого пользователя задействовать 
новую версию сборки вместо старой. Естественно, каждый пользователь может 
сам изменить конфигурационные XML-файлы на своих машинах, но этот способ 
крайне неудобен и ненадежен. Издателю нужен механизм, который позволил бы 
ему определить свою «политику» и установить ее на пользовательский компьютер 
с новой сборкой. В этом разделе показано, как издатель сборки может создать по-
добную политику.
Допустим, вы — издатель, только что создавший новую версию своей сборки, 
в которой исправлено несколько ошибок. Упаковывая новую сборку для рассылки 
пользователям, надо создать конфигурационный XML-файл. Он очень похож на те, 
что мы обсуждали раньше. Вот пример конфигурационного файла 
SomeClassLibrary 
config
для сборки 
SomeClassLibrary dll
:


продолжение



118
Глава.3 .Совместно.используемые.сборки.и.сборки.со.строгим.именем


publicKeyToken="32ab4ba45e0a69a1" culture="neutral"/>
oldVersion="1.0.0.0" newVersion="2.0.0.0" />
href="http://www.Wintellect.com/SomeClassLibrary.dll"/>




Конечно, издатель может определять политику только для своих сборок. Кроме 
того, показанные здесь элементы — единственные, которые можно задать в конфи-
гурационном файле политики издателя. Например, в конфигурационном файле 
политики нельзя задавать элементы 
probing
и 
publisherPolicy
.
Этот конфигурационный файл заставляет CLR при каждой ссылке на версию 
1.0.0.0 сборки 
SomeClassLibrary
загружать вместо нее версию 2.0.0.0. Теперь вы, как 
издатель, можете создать сборку, содержащую конфигурационный файл политики 
издателя. Для создания сборки с политикой издателя вызывается утилита 
AL exe
со следующими параметрами:
AL.exe /out:Policy.1.0.SomeClassLibrary.dll
/version:1.0.0.0
/keyfile:MyCompany.snk
/linkresource:SomeClassLibrary.config
Ниже приведены краткие описания параметров командной строки 
AL exe
.
‰
Параметр 
/out
приказывает 
AL exe
создать новый PE-файл с именем 
Policy 1 0 SomeClassLibrary dll
, в котором нет ничего, кроме манифеста. Имя этой 
сборки имеет очень большое значение. Первая часть имени, 
Policy
, сообщает 
CLR, что сборка содержит информацию политики издателя. Вторая и третья 
части имени, 
1 0
, сообщают CLR, что эта политика издателя предназначена для 
любой версии сборки 
SomeClassLibrary
, у которой старший и младший номера 
версии равны 1.0. Политики издателя применяются только к старшему и млад-
шему номерам версии сборки; нельзя создать политику издателя для отдельных 
построений или редакций сборки. Четвертая часть имени, 
SomeClassLibrary

указывает имя сборки, которой соответствует политика издателя. Пятая и по-
следняя часть имени, 
dll
, — это просто расширение, данное результирующему 
файлу сборки.
‰
Параметр 
/version
идентифицирует версию сборки с политикой издателя, 
которая не имеет ничего общего с версией самой сборки. Как видите, версиями 


119
Дополнительные.административные.средства.(конфигурационные.файлы)
сборок, содержащих политику издателя, тоже можно управлять. Сейчас издате-
лю нужно создать политику, перенаправляющую CLR от версии 1.0.0.0 сборки 
SomeClassLibrary
к версии 2.0.0.0, а в будущем может потребоваться политика, 
перенаправляющая от версии 1.0.0.0 сборки 
SomeClassLibrary
к версии 2.5.0.0. 
CLR использует номер версии, заданный этим параметром, чтобы выбрать самую 
последнюю версию сборки с политикой издателя.
‰
Параметр 
/keyfile
заставляет 
AL exe
подписать сборку с политикой издателя 
при помощи пары ключей, принадлежащей издателю. Эта пара ключей также 
должна совпадать с парой, использованной для подписания всех версий сбор-
ки 
SomeClassLibrary
. В конце концов, именно это совпадение позволяет CLR 
установить, что сборка 
SomeClassLibrary
и файл с политикой издателя для этой 
сборки созданы одним издателем.
‰
Параметр 
/linkresource
заставляет 
AL exe
считать конфигурационный 
XML-файл отдельным файлом сборки. При этом в результате компоновки 
получается сборка из двух файлов. Оба следует упаковывать и развертывать 
на пользовательских компьютерах с новой версией сборки 
SomeClassLibrary

Между прочим, конфигурационный XML-файл нельзя встраивать в сборку, вы-
зывая 
AL exe
с параметром 
/embedresource
, и создавать таким образом сборку 
из одного файла — CLR требует, чтобы сведения о конфигурации в формате 
XML размещались в отдельном файле.
Сборку, скомпонованную с политикой издателя, можно упаковать с файлом 
новой версии сборки 
SomeClassLibrary dll
и передать пользователям. Сборка с по-
литикой издателя должна устанавливаться в GAC. Саму сборку 
SomeClassLibrary
можно установить в GAC, но это не обязательно. Ее можно развернуть в базовом 
каталоге приложения или в другом каталоге, заданном в URL-адресе из элемента 
codeBase
.

Download 6,27 Mb.

Do'stlaringiz bilan baham:
1   ...   80   81   82   83   84   85   86   87   ...   658




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish