ASP.NET - Добавить ссылку на GAC не возможно? - PullRequest
1 голос
/ 21 сентября 2009

Я новичок в ASP.NET, у меня есть некоторые основные сомнения.

1) Публичные сборки развернуты в GAC. Даже когда я нажимаю «Добавить ссылку», я могу

не указывает на c: \ windows \ assembly (надеюсь, это невозможно). До сих пор мне нужно ссылаться на

сборка из папки .. \ Bin исходного проекта (пользовательская сборка). Есть ли какие-то соображения за этим?

2) Почему exe не разрешен в GAC?

Ответы [ 3 ]

3 голосов
/ 21 сентября 2009

Если вам нужно вручную получить сборку в GAC, самый простой способ, который я знаю, это Start > Run > "C:\windows\assembly\gac_msil". В GAC есть папка для каждой сборки, так что вы можете просмотреть ее и найти точный путь к нужной вам DLL, которая обычно будет выглядеть примерно так:

C:\windows\assembly\GAC_MSIL\System.Net\3.5.0.0__b03f5f7f11d50a3a\System.Net.dll

Что просто name\version__publickey\filename.dll

Возможно, есть более "правильный" способ, поэтому, если кто-то знает, что это такое, поправьте меня!

Что касается второго вопроса, я могу только предположить. Имеет смысл, что GAC предназначен для библиотек классов, а не для исполняемых файлов, но это в основном философский подход. Я не знаю никаких технических аргументов, так или иначе.

Редактировать : этот прекрасный первый комментарий под ответом оказался недоразумением и решен :)

0 голосов
/ 29 апреля 2010

Я создал совершенно бесплатный инструмент, который поможет вам достичь вашей цели. Muse VSReferences позволит вам добавить ссылку на глобальный кэш сборок в проект из пункта меню Добавить ссылку GAC.

0 голосов
/ 21 сентября 2009

Да, GAC предназначен для библиотек, потому что он используется для установления глобального доступа к установленной библиотеке. тот, который используется совместно с различными приложениями. Зачем вам нужен exe (приложение) в GAC? Понимание этого может помочь с лучшим ответом.

Что касается вопроса 1, я не уверен, к чему вы обращаетесь. Одна концепция, которую люди путают, заключается в том, что GAC - это не физическое местоположение. Это просто реестр. Если вы регистрируетесь в gac, он не перемещает эту dll в каталог framework.

...