Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> ГАК или как? Управление версиями библиотек и референс 
:(
    Опции темы
firstone
Дата 22.5.2008, 15:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 116
Регистрация: 25.9.2007
Где: Кровью залитая Св ятая Земля

Репутация: 1
Всего: 7



Приветствую, господа!

У нас есть производственная проблема: 
Программист Х написал библиотеку A версии 1.
Программист Y написал приложение, в референсах которого библиотека A версии 1.
Программист X написал следующую версию библиотеки A - 2
В некоторых случаях программисту Y необходимо обновить свой референс. В других же оставить старую версию.

Я знаю о наличии такой штуковины, как ГАК. Но подходит ли она для разработки ПО? Можно ли сделать референс на DLL из ГАКа? Какой-нибудь другой версии, а не самой последней?

Интересен еще сам способ обновления ГАКов на всех компьютерах в локальной сети при выходе в свет новой версии библиотеки.

Как это все работает у вас в фирмах?
--------------------
В программировании я конфуцианец. В жизни я либерал-демократ. В душе я буддист.Добавлено через 1 минуту и 9 секундА на самом деле я лентяй.
PM MAIL   Вверх
sobik
Дата 22.5.2008, 16:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 63
Регистрация: 21.3.2008
Где: Киев, Украина.

Репутация: нет
Всего: 1



Вкратце:
Для установки сборок(библиотек) в ГАК используют утилиту GACUtil.exe.
Если вы обратитесь к какой-либо сборке, то в первую очередь(после каталогов и подкаталогов)приложение ищет сборку в ГАКЕ. Поэтому ничего в приложение не нада добавлять, само должно найти(но, правда, у меня на работе был случай, что сборка была не видна,и пришлось вручную прикреплять, причины незнаю).
Вообще по этому поводу неплохо прочитать третью главу книги Д.Рихтера "СLR via C#". 
PM MAIL   Вверх
firstone
Дата 22.5.2008, 16:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 116
Регистрация: 25.9.2007
Где: Кровью залитая Св ятая Земля

Репутация: 1
Всего: 7



Здравствуйте, sobik и спасибо за ответ.

Вопрос не в том, как пользоваться этими библиотеками приложениям, а как пользоваться библиотеками из ГАКа при разработке ПО. И как этот ГАК обновлять. Т.е. пользование ГАКом с т.з. разработчика.
--------------------
В программировании я конфуцианец. В жизни я либерал-демократ. В душе я буддист.Добавлено через 1 минуту и 9 секундА на самом деле я лентяй.
PM MAIL   Вверх
sobik
Дата 22.5.2008, 18:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 63
Регистрация: 21.3.2008
Где: Киев, Украина.

Репутация: нет
Всего: 1



Если вопрос заключаеться в том, чем могут быть полезны библиотеки с ГАКА, то полного ответа я Вам дать не могу. Если есть время - ILDasm.exe и вперед, к освоению новых библиотек(думаю, вряд ли это Вам понадобиться). Насчет обновления ГАКА - то тут я знаю только о GACUtil.exe, возможно есть еще какие-то способы. Потом, если у вас юзаються обе сборки(точнее, обе версии), то они обе должны быть в ГАКЕ, во избежание "хаоса ДЛЛ". 
PM MAIL   Вверх
jonie
Дата 22.5.2008, 23:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 22
Всего: 118



две версии библиотек можно использовать и так (а в бой ставить более новую версию их 2-х). при этом референсы обновлять не нужно (.net среда считает что версии отличающиеся в 2-х последних поициях интерфейсно и логически совместимы, и выберет большую (при наличии 2-х сборок на машине)). Если же программисты меняют сильно интерфейс, то они должны сделать НОВУЮ библиотеку (изменив одну из 2-х старших позиций). и поставляться должны тогда две сборки (двух версий). ибо они несовместимы между собой интерфейсно, логически или по поведнию.

по поводу расположения сборок : .net пофигу где они лежат (в плане например у разработчика в ебенях, а в бою рядом). используется lazy load, и загружается не по полному пути, а по имени сборки и версии (если это частная сборка) и публичному ключу(если это публичная сборка).


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0450 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.