Нужно ли регистрировать COM DLL, чтобы иметь возможность ссылаться на него в проекте.NET?
Я пытаюсь ссылаться на COM DLL в Visual Studio, используя вкладку Обзор и выбрав DLL. Я заметил, что если DLL зарегистрирована в системе с помощью regsvr32, я могу сослаться на нее, но если она не зарегистрирована, я получаю сообщение об ошибке при выборе файла dll "Невозможно добавить ссылку на файл file.DLL. Пожалуйста, убедитесь, что файл доступен, и это допустимая сборка или компонент COM."
Мы хотели бы, чтобы DLL не регистрировалась, чтобы у нас было меньше конфигурации, необходимой на других машинах разработки и в средах разработки.
Это слишком много, чтобы спросить?
Спасибо!
4 ответа
Вам необходимо зарегистрировать DLL. Вы можете установить регистрацию в своем проекте установки или создать командный файл для всех этих типов процессов. Примечание: не забудьте отменить регистрацию DLL при удалении.
Вам нужно зарегистрировать COM-сервер, точка. Вы можете предпринять некоторые меры для автоматизации процесса и отмены регистрации COM-сервера, когда он не нужен.
То же касается и ежедневных сборок. Если вы строите COM-сервер и клиент на основе.NET во время сборки, вы должны зарегистрировать сервер до сборки клиента. И вам лучше отменить регистрацию, как только клиент будет собран. Добавление этих шагов в последовательность сборки не является проблемой.
Вам нужно будет зарегистрировать dll, потому что иначе он не сможет найти библиотеку типов.
Добавление dll впоследствии в качестве ссылки на ваш проект создаст сборку interop.XXXXmethod.dll.