![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| Budda |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 27.9.2004 Где: Украина, Киев Репутация: нет Всего: нет |
Сделал с C# dll-ку, положил её в папку //WinNT/Assembly, в проводнике (в GAC) эта сборка - видна. Делаю новый проект, жму Projects->Add reference. Но моей библиотеки в списке нет. Почему? Как сделать, чтобы появилась? Перезагрузка тоже не помогает. Хэлп, плиз, кто может.
Я то могу "вручную" указать путь к ДЛЛ-ке, но Троелсен говорит, что после добавления модуля в GAC, имя модуля должно отображаться в списке диалогового окна "Add Reference". ?? |
|||
|
||||
| Void |
|
|||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: 25 Всего: 173 |
Регистрация сборок в GAC осуществляется с помощью утилиты gacutil.exe. Просто положить сборку в папку недостаточно.
-------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
|||
|
||||
| Exception |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 29 Всего: 186 |
gacutil.exe /i путькдлл
и не забудь сделать сборке сильное имя |
|||
|
||||
| Budda |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 27.9.2004 Где: Украина, Киев Репутация: нет Всего: нет |
Voidgacutil'ом регистрировать:
1. вместо копирования или 2. после копирования спасибо. |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
Установка dll в GAC никоим образом не связана с диалогом "Add reference...". Всё работает через т.н. public-директории, пути к которым прописаны в реестре. Подробнее почитать можно здесь.
-------------------- ![]() |
|||
|
||||
| Budda |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 27.9.2004 Где: Украина, Киев Репутация: нет Всего: нет |
Скопировал либу я ещё неделю назад (тогда же для неё было сделано и сильное имя). Сейчас сделал для неё gacutil - получил сообщение, что сборка успешно добавлена в кэш (работаю с правами админа). Перезагрузка винды наверное не нужна, верно? Запускаю проект, иду в Add Reference - сборки не видно... ?
|
|||
|
||||
| Exception |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 29 Всего: 186 |
вот уж не думал... +1
|
|||
|
||||
| Budda |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 27.9.2004 Где: Украина, Киев Репутация: нет Всего: нет |
mr.DUDA почитал, но мало понял. Если я не ошибся, то там рекомендуют ложить свои либы в GAC только тогда, когда их будет юзать ещё кто-то кроме меня. Верно?
А на наличие либы в том списке влияет только наличие записи про либу в нужном месте реестра, так?
А как заюзать либу, которая находится в GAC? Тоже добавлять на неё ссылку? Только путь к либе искать вручную? Нашёл вручную, но вот выбрать эту либу - не получается.... ?? |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
По-моему, всё понятно написано. Добавляем ключ в реестр, чтобы создать новый public-каталог. Копируем в этот каталог свою длл-ку. Всё, этого достаточно для design-time, то есть студия твою дллку увидит. Из GAC-а студия ничего не поднимает, GAC нужен в run-time, если дллка используется совместно несколькими приложениями. Посмотри примеры, как сделано в DevExpress или CrystalReports: хоть все их дллки лежат в GAC'е, но одновременно и в папке Program Files\Common Files. Добавлено @ 18:53 З.Ы. Как вариант, можно добавить файловый референс, т.е. нажать кнопку "Browse...". -------------------- ![]() |
|||
|
||||
| Exception |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 29 Всего: 186 |
а объявить GAC public path'ом?
|
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
Там каждая DLL лежит в своей отдельной папке - что, все папки в реестре прописывать ? -------------------- ![]() |
|||
|
||||
| Exception |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 29 Всего: 186 |
тока щас заметил, что
извиняюсь... ПЫСЫ вот если бы он еще сканировал все внутр. директории... |
||||
|
|||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
Одна из причин, по которой сие неосуществимо - возможность присутствия нескольких (а не одной) версий одной и той же assembly. GAC есть GAC -------------------- ![]() |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |