Зарегистрируйте управляемые сборки с помощью COM без использования GAC.
-
18-09-2019 - |
Вопрос
Мне интересно, можно ли регистрировать сборки с помощью COM без необходимости регистрации их в GAC.Нам нужно развернуть некоторые библиотеки .net, доступные для классического asp, с помощью CCW.Но развертывание — это кошмар.
Решение
Ага, используй regasm.exe
с /codebase
ключ для этого.Когда вы используете regasm.exe
без /codebase
он записывает в реестр только имя файла сборки, поэтому среда выполнения .NET не может его найти, если сборка не находится в GAC.С /codebase
он запишет полный путь, и .NET будет рад найти сборку, когда потребитель позвонит. CoCreateInstance()
.
Другие советы
Да, вы можете использовать Regasm для сборки, не находясь в GAC.Например, я смешал сайты ASP и ASP.NET со сборками .NET в папке bin.Некоторые из них доступны для COM и регистрируются на месте из папки bin.
Конечно, эти сборки уникальны для приложения и не используются другими приложениями.Нельзя сказать, что это невозможно, вы, вероятно, выберете нейтральное место для копирования таких DLL.