Установка сборки в GAC - PullRequest
8 голосов
/ 02 апреля 2011

Я пытался установить сборку в GAC, используя new System.EnterpriseServices.Internal.Publish().GACInstall("Foo.dll"); Но я не смог найти, что установлено в папке c: \ windows \ assembly \ gac_msilЯ также не получил исключение безопасности.Может ли кто-нибудь помочь мне

1 Ответ

11 голосов
/ 02 апреля 2011

Прежде всего, убедитесь, что он подписан. Я предполагаю, что это так как вы не получили никаких исключений. Кроме того, если это сборка .net 4.0, она будет GAC в новом месте @% windir% \ Microsoft.NET \ assembly \

Подробнее об этом здесь: .NET 4.0 имеет новый GAC, почему?

ОБНОВЛЕНИЕ: подписывающая сборка

Щелкните правой кнопкой мыши по проекту сборки и перейдите в «Свойства». На экране «Свойства проекта» выберите вкладку «Подписание». Отметьте «Подписать сборку» и в «Выбрать файл ключа строгого имени» выберите «Новый». Откроется диалоговое окно, в котором вы должны указать имя ключа. Я обычно использую имя решения в качестве имени моего ключа. Вы также можете защитить паролем ключ (ваши предпочтения). Как только вы закончите, нажмите «ОК» в диалоговом окне и создайте свой проект. Теперь попробуйте GAC снова.

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

...