Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Вы можете запустить средство командной строки с именем средства регистрации сборок (Regasm.exe) для регистрации или отмены регистрации сборки для использования с COM. Regasm.exe добавляет сведения о классе в системный реестр, чтобы клиенты COM могли прозрачно использовать класс .NET Framework. Класс RegistrationServices предоставляет эквивалентные функциональные возможности.
Управляемый компонент должен быть зарегистрирован в реестре Windows, прежде чем его можно будет активировать из COM-клиента. В следующей таблице показаны ключи, которые Regasm.exe обычно добавляет в реестр Windows. (00000 указывает фактическое значение GUID.)
| ГУИД | Описание | Ключ реестра |
|---|---|---|
| CLSID | Идентификатор класса | HKEY_CLASSES_ROOT\CLSID\{000…000} |
| IID | Идентификатор интерфейса | HKEY_CLASSES_ROOT\Interface\{000…000} |
| LIBID | Идентификатор библиотеки | HKEY_CLASSES_ROOT\TypeLib\{000…000} |
| ProgID (идентификатор программы) | Программный идентификатор | HKEY_CLASSES_ROOT\000…000 |
В ключе HKCR\CLSID\{0000…0000} значение по умолчанию устанавливается в ProgID класса, а добавляются два новых именованных значения: Class и Assembly. Среда выполнения считывает значение сборки из реестра и передает его в сопоставитель сборок среды выполнения. Сопоставитель сборок пытается найти сборку на основе сведений о сборке, таких как имя и номер версии. Чтобы сопоставитель сборок мог найти сборку, сборка должна находиться в одном из следующих местоположений:
Глобальный кэш сборок (должна иметь строгое имя).
В каталоге приложения. Сборки, загруженные из каталога приложения, доступны только для этого приложения.
По пути, указанному с помощью параметра /codebase, до Regasm.exe.
Regasm.exe также создает ключ InProcServer32 под HKCR\CLSID\{0000…0000}. Значение по умолчанию для ключа имеет имя библиотеки DLL, которая инициализирует среду CLR (Mscoree.dll).
Изучение записей реестра
COM-взаимодействие предоставляет стандартную реализацию фабрики классов для создания экземпляра любого класса .NET Framework. Клиенты могут вызывать DllGetClassObject в управляемой библиотеке DLL, чтобы получить фабрику классов и создать объекты, так же как и в случае с любым другим COM-компонентом.
Для подпункта InprocServer32 ссылка на Mscoree.dll отображается вместо традиционной библиотеки типов COM, чтобы указать, что общая среда выполнения создает управляемый объект.