Как добавить VB.NET Class в GAC и использовать его в Code-Behind - PullRequest
2 голосов
/ 15 сентября 2009

Я создал класс VB.NET, создал сильный ключ и добавил его в GAC с помощью GacUtil. Эта часть прошла гладко. Сборка установлена ​​в GAC и, кажется, установлена ​​/ настроена правильно.

К вашему сведению, сборка представляет собой класс с именем Tester, который предоставляет один открытый статический метод с именем HelloWorld, который возвращает строку «Hello World».

Следующим шагом было создание тестового веб-приложения (VB.NET и ASP.NET 2.0) с использованием Visual Studio 2005, Windows XP SP3. Я создал тестовое веб-приложение и добавил следующее в раздел конфигурации файла web.config.

<assemblies>
<add assembly="BenGACTest, Version=1.0.0.0, Culture=neutral, PublicKeyToken=3e5b6cecb56999ca" />
</assemblies>

Затем я добавил некоторый встроенный код на мою страницу aspx следующим образом:

<div><%=BenGACTest.Tester.HelloWorld()%></div>

Когда я запускаю страницу в веб-браузере, действительно, все работает, как ожидалось. На странице выводится «Hello World», и все кажется хорошим.

Однако я не знаю, как использовать этот код на странице code-behind . Я пытаюсь импортировать сборку, как «система импорта», и она не отображается в IntelliSense.

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

Моя цель - добавить сборку через файл web.config, а не добавлять ее в качестве ссылки на проект, и использовать сборку на странице с выделенным кодом.

Есть идеи?

1 Ответ

4 голосов
/ 15 сентября 2009

Вы можете просто ссылаться на локальную версию, чтобы использовать DLL в Visual Studio. .NET будет отдавать предпочтение версии GAC при запуске приложения. Кроме того, я не верю, что вам нужно отправлять DLL, когда она доступна в GAC, но вы должны ссылаться на нее через меню Project-> Add Reference.

Редактировать : Этот форум может быть полезен: http://social.msdn.microsoft.com/Forums/en-US/csharpgeneral/thread/63bf8d34-42ad-4f3c-b0c9-cf7c33d77918.

...