Re[8]: Немного о сборках
От: Igor Trofimov  
Дата: 25.05.04 15:38
Оценка:
В>Речь идет об обратной совместимости. Если меняется интерфейс, то функциональность только добавляется, а существующий интерфейс не меняется. По этому мне было бы логично, что более поздняя версия может использоваться старыми компонентами, они прост о не будут трогать новые функции.

А может при этом все-таки должно грузиться две версии интерфейсов — старая и новая? Как вообще подсистемы между собой взаимодействуют? И как взаимодействуют с клиентом?
Re[9]: Немного о сборках
От: Ведмедь Россия  
Дата: 26.05.04 12:05
Оценка:
Здравствуйте, Igor Trofimov, Вы писали:

iT>А может при этом все-таки должно грузиться две версии интерфейсов — старая и новая? Как вообще подсистемы между собой взаимодействуют? И как взаимодействуют с клиентом?


А зачем оставлять 2 версии интерфейсов( кстати почему 2, а не все? ), возникает вопрос, зачем исправляли ошибки и что то добавляли, если все равно будет использоваться старая версия?

Способ взаимодействия можент быть различным.
Да пребудет с тобой Великий Джа
Re[9]: Немного о сборках
От: Ведмедь Россия  
Дата: 26.05.04 12:07
Оценка:
Здравствуйте, mihailik, Вы писали:

M>>>Так там по-моему можно просто сказать: для поиска любых сборок "MyAsm, 1.1.*, PublicKey=ABCDEF01234" использовать последнюю имеющуюся версию. Или нет такого в MSDN?


В>>Где там? Можно примерчик?


M>В myprogram.exe.config — конфигурационном файле. Если такой файл лежит рядом с EXE-шником, то он при запуске прочитывается и учитывается.


M>Формат в MSDN есть, я наизусть не помню, мутноватый он малость. Ищи bindingRedirect, и посмотри соседние пункты. Как-то так оно называется.


А если приложение COM+? А если это библиотека, которую используют несколько приложений?
Да пребудет с тобой Великий Джа
Re[10]: Немного о сборках
От: mihailik Украина  
Дата: 26.05.04 15:28
Оценка:
В>А если приложение COM+? А если это библиотека, которую используют несколько приложений?

Во-первых, можно положить рядом с тем процессом, из которого оно будет работать. Ну, это, конечно, не всегда подходит.



Во-вторых, нужно покопаться насчёт publisher Policy. Есть возможность навесить для сборки особый после-релизный конфиг.

Для этого пишется сборка, туда кладётся текст конфига в виде ресурса, и сборка с особым наименованием кладётся в GAC. Это общее видение, подробнее посмотри в MSDN. Я сам никогда такого не делал своими руками.
... << RSDN@Home 1.1.3 stable >>
Re[10]: Немного о сборках
От: Igor Trofimov  
Дата: 26.05.04 18:26
Оценка:
В>А зачем оставлять 2 версии интерфейсов( кстати почему 2, а не все? ), возникает вопрос, зачем исправляли ошибки и что то добавляли, если все равно будет использоваться старая версия?
В>Способ взаимодействия можент быть различным.

В общем, я наверное ничего тебе толкового не посоветую ;( Или выкручивайся со стандартной политикой загрузки, или грузи сам сборки. Возможно, не из GAC, а просто из каталога. И резольви ссылки на сборки и типы.
Re: Немного о сборках
От: knst Россия  
Дата: 14.06.05 17:32
Оценка:
В статье присутствовала такая фраза:

.......
sn –k keys.snk

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

sn -tp keys.snk

То же я читал и в паре книжек.
На практике же у меня получается , что маркер который присутствует в строгом имени полученной описанным в статье способом не совпадает с тем, что выдает sn -tp keys.snk
если же вытащить публичный ключ в отдельный файл
sn -p keys.snk pubkey.snk
то
sn -tp pubkey.snk
выдает правильный маркер.
Не могли бы Вы пояснить с чем это связано. Заранее благодарен за ответ.
Re: Немного о сборках
От: 4ertus2  
Дата: 21.10.05 19:41
Оценка:

С первого взгляда Microsoft поступила более чем странно, использовав для хранения сборок файлы формата PE ...
...
Но зато выбор данного формата позволил Microsoft создать беспрецедентную по мощности систему взаимодействия .NET кода с родными сервисами операционных систем класса Windows


Слова-то какие: беспрецедентную!

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

Не дочитал. Противно.

PS: Ну нельзя же так явно "работать языком"
Непривязанное к форме вечно.
Re[2]: Немного о сборках
От: Sinclair Россия https://github.com/evilguest/
Дата: 25.10.05 08:09
Оценка:
Здравствуйте, 4ertus2, Вы писали:

4>

4>С первого взгляда Microsoft поступила более чем странно, использовав для хранения сборок файлы формата PE ...
4>...
4>Но зато выбор данного формата позволил Microsoft создать беспрецедентную по мощности систему взаимодействия .NET кода с родными сервисами операционных систем класса Windows


4>Слова-то какие: беспрецедентную!

А что, у тебя есть какие-то другие прецеденты смешивания managed и unmanaged кода?
Может, я что пропустил, и, к примеру, джава вдруг научилась вставлять x86 в .class?

А может, есть какая-то другая технология, которая обеспечивает двустороннюю интеграцию управляемого кода с COM при минимуме усилий?
1.1.4 stable rev. 510
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re: Немного о сборках
От: Smarty Россия  
Дата: 08.11.05 14:59
Оценка:
Здравствуйте, Алексей Дубовцев, Вы писали:

АД>Статья:

АД>Немного о сборках
Автор(ы): Алексей Дубовцев
Дата: 08.04.2004
Сборки являются фундаментом, на котором построена вся платформа .NET. В статье подробно рассматривается архитектура и внутренние механизмы работы данной технологии. Вначале даётся экскурс в историю технологий распределения кода, который при дальнейшем ознакомлении сборок позволит понять многие на первый взгляд странные решения нашедшие себя в сборках.
Акцент сделан на подробном описании внутренних механизмов работы сборок, понимание которых позволит в совершенстве овладеть большинством программных средств, предоставляемыми платформой .NET. Будут рассмотрены как простые темы, вроде создания «строго» именованных сборок, так и сложные вроде низкоуровневого механизма загрузки сборок.


Цитата из:

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


Теперь цитата из моей консоли:

C:\VSprojects\_9Dll_\_9Dll_\bin\Debug>sn -Tp _9Dll_.dll

Microsoft (R) .NET Framework Strong Name Utility Version 2.0.50215.44
Copyright (C) Microsoft Corporation. All rights reserved.

Public key is
0024000004800000940000000602000000240000525341310004000001000100cbf4742dcf8bb6
3d9304ece332e028727af8d9421be4d1e743ffdb6bcf2939e2f5fa98830ca49c944d58da8c63dd
0304c1b5645a178e6e725f69a131782d5644c19c1fe07e123d909adcf24f7ded1f7bcd748d576e
15008890290f0a6696ec8526342eb6a62141e2e60f1ec585b47a709d001ebf30b5368de7a18684
22ec2bd8

Public key token is 263b9bb81fdb546c


Автор не погорячился, часом? Насчет 1кило?
Re: Немного о сборках
От: vaduha  
Дата: 23.11.05 10:13
Оценка:
помоему рихтер написал это на несколько лет раньше?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re: Немного о сборках
От: GGoga  
Дата: 10.07.08 15:27
Оценка:
Здравствуйте, Алексей Дубовцев, Вы писали:

АД>Статья:

АД>Немного о сборках
Автор(ы): Алексей Дубовцев
Дата: 08.04.2004
Сборки являются фундаментом, на котором построена вся платформа .NET. В статье подробно рассматривается архитектура и внутренние механизмы работы данной технологии. Вначале даётся экскурс в историю технологий распределения кода, который при дальнейшем ознакомлении сборок позволит понять многие на первый взгляд странные решения нашедшие себя в сборках.
Акцент сделан на подробном описании внутренних механизмов работы сборок, понимание которых позволит в совершенстве овладеть большинством программных средств, предоставляемыми платформой .NET. Будут рассмотрены как простые темы, вроде создания «строго» именованных сборок, так и сложные вроде низкоуровневого механизма загрузки сборок.


АД>Авторы:

АД> Алексей Дубовцев

АД>Аннотация:

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

Извиняюсь за поднятие столь давнего вопроса, но у меня возник один вопрос. "Вытяжка" из вашей статьи:

Способы подключения динамических библиотек
"Всего существует два способа подключения динамических библиотек: статический и динамический..."


Согласно Рихтеру существует еще один способ загрузки динамических библиотек:

Отложенная загрузка DLL
"Microsoft Visual C++ 6.0 поддерживает отложенную загрузку DLL — новую, просто фантастическую функциональность, которая значительно упрощает работу с библиотеками. DLL отложенной загрузки (delay-load DLL) — это неявно связываемая DLL, которая не загружается до тех пор, пока Ваш код не обратится к какому-нибудь экспортируемому из нее идентификатору..."

Re[2]: Немного о сборках
От: GGoga  
Дата: 10.07.08 15:38
Оценка:
GG>...у меня возник один вопрос...

Собственно вопрос: это я что-то неправильно понял относительно "отложенной загрузки" или действительно существует не 2, а 3 способа подключения dll?
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.