Компьютерные книги
Главное меню
Главная Поиск по сайту Добавить материал О нас Карта книг Карта сайта
Реклама
computersbooks.net -> Добавить материал -> Языки программирования -> Ватсон К. -> "С#" -> 282

С# - Ватсон К.

Ватсон К. С# — Лори, 2005 . — 879 c.
ISBN 1-861004-98-2
Скачать (прямая ссылка): vatsonc2005.pdf
Предыдущая << 1 .. 276 277 278 279 280 281 < 282 > 283 284 285 286 287 288 .. 404 >> Следующая


.ver 1:0:486:7484

благодаря тому, что VS включает информацию о номере версии автоматически.

Атрибут AssemblyVersion

Внутри файла Assembly into, сз, создаваемого VS, номер версии задается посредством атрибута AesemblyVereion:

[assembly: AssemblyVersion('1.0.*')]

Атрибут AssemblyVersion допускает использование символа звездочки (*) для последних двух частей номера версии. Это означает требование того, чтобы VS автоматически устанавливал номера построения и исправления. Существует также возможность использовать звездочку только для номера исправления (как в 1.1.1.*), но не для старшего н младшего номеров версии (вариант 1.* является недопустимым). Если вы посмотрите на номер версии модуля с помощью ildasm, то увидите, что текущий номер версии, установленный VS, имеет приблизительно следующий вид:

.ver 1:0:585;24784

Если внести какие-либо изменения в код классов и построить проект заново, то можно увидеть, что номер версии изменился автоматически и принял приблизительно следующий вид:

¦ver 1:0:585:25005

Можно также непосредственно задать все частя номера версии, указав какой-либо конкретный номер вместо звездочки:

[assembly: AssemblyVersion(*1.0.1.2")]

Это приведет к созданию VS модуля с данным конкретным номером версии.

Если вы разрабатываете программу для своего собственного использования, го вам не следует устанавливать помер версии. Однако если вы собираетесь производить программное обеспечение для других конечных пользователей, то нам потребуется изменять старший и младший номера версии по мере того, как вы будете создавать новые варианты программы с добавлением новых существенных функциональных возможностей: 1.0 для первого выпуска продукта, 1.1 для варианта, в который внесены менее значительные изменения, 2.0 для более существенных изменений и т. д. При этом допустимым является возложить обязанность на VS автоматически определять номера построения/исправления, и в большинство случаев вам даже не потребуется знать их значения.

Было бы очень удобно использовать ildasm для проверки полного номера версии. Например, если какой-либо конечный пользователь сообщает об обнаруженной ошибке, то у вас будет возможность сравнить номер версии модуля на своем компьютере с версией, установленной па компьютере этого пользователя. Вы сможете совершенно точно определить номер версии, с которой работает пользователь; используя номера построения и исправления можно даже отличить построение, которое вы осуществили сегодня утром, от сделанного вами сегодня перед обедом.
Модули .NET____________________________________________________________________________603

Совместимость версий

Система выполнения программ .NET осуществляет проверку номеров версий прн загрузке модулей с целью определения совместимости версий. Такая проверка осуществляется только для модулей общего доступа, к рассмотрению которых мы приступим в настоящей главе позднее. Однако способ, посредством которого программа проверки номеров версий выполняет свою работу, можно обсудить прямо сейчас.

В манифесте модуля содержатся номер версии данного модуля и номера версий внешних модулей, на которые имеются ссылки. Когда система выполнения программ .NET осуществляет загрузку модуля, на который имеется ссылка, она производит сличение номера версии, содержащегося в манифесте загружаемого модуля, с номером версии, указанном в ссылке на этот модуль, для того чтобы убедиться в совместимости версий.

Если у модулей оказываются различными старшие или младшие номера версий, они считаются несовместимыми, а модуль, на который указывает ссылка, не будет загружен — например, программа Shapes версии 1.1 будет несовместима с программой, которая ссылается на Shapes версий 1.0, 1.2 или 2.0.

Но как быть, если на одном и том же компьютере используются программа А, работающая с версией Shapes 1.0, и программа В, работающая с версией Shapes 1.1? Этнм вопросом как раз и занимается система выполнения программ .NET.; такая особенность называется параллельным выполнением (side-by-side execution) и обеспечивает возможность инсталляции на одном и том же компьютере обеих версии программы Shapes — 1.0 и 1.1, каждая нз которых оказывается доступной любой ссылающейся на них программе.

Следующие две части номера версии выводят работу с номерами версий на более тонкий уровень детализации. Номер построения определяет, каким по счету является построение данной программы; этот номер обычно претерпевает изменения каждый раз, когда модуль строится заново. Два модуля, обладающих одинаковыми старшими и младшими номерами версии и различными номерами построений, могут быть (а могут и не быть) совместимыми; система выполнения программ предполагает, что они являются совместимыми, и допускает их загрузку; задача вносить изменения в старший и младший номера версии в том случае, если программа претерпевает изменения, делающие ее несовместимой с предыдущими версиями, возлагается на разработчика.

Оба номера версий модулей mscorlib и System.Drawing соответствовали версии 1.0 с номером построения 2411 — это номер построения системных модулей NET, которые используются на моем компьютере в тот момент, когда я пишу этот текст. Если какая-либо из этих библиотек будет заменена на новую с номером построения 24 12 или даже 9999, то система выполнения программ .NET будет пытаться использовать вновь построенную версию, хотя никаких гарантий ее совместимости не существует.
Предыдущая << 1 .. 276 277 278 279 280 281 < 282 > 283 284 285 286 287 288 .. 404 >> Следующая
Книги
Web-программирован-
ие
Аппаратное обеспечение Графика Руководство по П.О. Самоучитель Теория программирования Фотошоп Языки программирования
Новые книги
Вирт Н. "Систематическое программирование " (Теория программирования)

Эком "Microsoft Excel 2000 шаг за шагом Русская версия самоучитель " (Самоучитель)

Поляков А.Ю. "Методы и алгоритмы компьютерной графики в примерах Vizual C++" (Графика)

Баяковский Ю.М. "Графическая библиотека Open GL " (Графика)

Валиков А. "Технология " (Языки программирования)
Авторские права © 2013 ComputersBooks. Все права защищены.