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