Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Вы можете запустить средство командной строки с именем средства регистрации сборок (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, чтобы указать, что общая среда выполнения создает управляемый объект.