Зарегистрировать COM-компонент С#?
Вопрос
Я разработал компонент C# com, который использую из управляемого C++.На моей машине разработчика все работает нормально.Однако когда я раздавал файлы, получил ошибку, что компонент не зарегистрирован.Когда я пытаюсь использовать regsvr32 для dll, это выдает ошибку (dll C# невозможно зарегистрировать).Как мне правильно зарегистрировать эту COM-dll?
Решение
Вы используете regasm с < code> / codebase (и он должен быть ComVisible [но так как Патрик Макдональд правильно указывает, вы уже прошли через это, так как он работает локально])
Другие советы
Используйте RegAsm с переключателем /codebase
если ваша сборка не установлена в GAC (глобальный кэш сборок).
Я считаю, что вам обычно нужно сделать:
regasm /codebase
Потому что COM должен знать точное местоположение вашей сборки, чтобы иметь возможность ее загрузить.
Как и предлагали другие пользователи, вам нужно настроить проект C # как видимый для COM (настройки проекта, приложение, кнопка информации о сборке).
Более точное управление тем, какие классы являются видимыми или нет, можно получить с помощью атрибута [ComVisible (true)] / [ComVisible (false)] перед каждым классом
Используйте инструмент регистрации сборки (Regasm.exe) р>