Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Note
Bu makalede, eski Derleme Kayıt Aracı 'nı (Regasm.exe), genel derleme önbelleğini ve kayıt defteri tabanlı COM kaydını kullanan .NET Framework COM birlikte çalışma kılavuzu açıklanmaktadır. Modern .NET için COM kaynak oluşturma veya API kullanınComWrappers. Daha fazla bilgi için bkz. COM birlikte çalışabilirliği.
COM ile kullanmak üzere bir .NET Framework derlemesini kaydetmek veya kaydını kaldırmak için Derleme Kayıt Aracı (Regasm.exe) adlı bir komut satırı aracı çalıştırabilirsiniz. Regasm.exe, COM istemcilerinin .NET Framework sınıfını saydam bir şekilde kullanabilmesi için sistem kayıt defterine sınıfı hakkında bilgi ekler. RegistrationServices sınıfı eşdeğer işlevselliği sağlar.
.NET Framework için, bir COM istemcisinden etkinleştirilmeden önce yönetilen bir bileşenin Windows kayıt defterine kaydedilmesi gerekir. Aşağıdaki tabloda, Regasm.exe genellikle Windows kayıt defterine eklediği anahtarlar gösterilmektedir. (000000, gerçek GUID değerini gösterir.)
| GUID | Description | Kayıt defteri anahtarı |
|---|---|---|
| CLSID | Sınıf tanımlayıcısı | HKEY_CLASSES_ROOT\CLSID\{000…000} |
| IID | Arabirim tanımlayıcısı | HKEY_CLASSES_ROOT\Interface\{000…000} |
| LIBID | Kitaplık tanımlayıcısı | HKEY_CLASSES_ROOT\TypeLib\{000…000} |
| ProgID | Programlı tanımlayıcı | HKEY_CLASSES_ROOT\000…000 |
HKCR\CLSID\{0000...0000} anahtarı altında, varsayılan değer sınıfın ProgID değerine ayarlanır ve Class ve Assembly adlı iki yeni adlandırılmış değer eklenir. Çalışma zamanı, kayıt defterinden Derleme değerini okur ve bunu çalışma zamanı derleme çözümleyicisine iletir. Derleme çözümleyicisi, adı ve sürüm numarası gibi derleme bilgilerine göre derlemeyi bulmaya çalışır. Derleme çözümleyicisinin bir derlemeyi bulması için derlemenin aşağıdaki konumlardan birinde olması gerekir:
Küresel Derleme Önbelleği (güçlü adlandırılmış bir derleme olmalıdır).
Uygulama dizininde. Uygulama yolundan yüklenen derlemelere yalnızca bu uygulamadan erişilebilir.
Regasm.exeiçin /codebase seçeneğiyle belirtilen bir dosya yolu boyunca.
Regasm.exe ayrıca HKCR\CLSID\{0000…0000} anahtarının altında InProcServer32 anahtarını da oluşturur. Anahtarın varsayılan değeri, ortak dil çalışma zamanını (Mscoree.dll) başlatan DLL'nin adına ayarlanır.
Kayıt defteri girdilerini inceleme
.NET Framework'teki COM birlikte çalışabilirliği, herhangi bir .NET Framework sınıfının örneğini oluşturmak için standart bir sınıf fabrikası uygulaması sağlar. İstemciler, bir sınıf fabrikası almak ve nesneleri oluşturmak için yönetilen DLL'yi diğer TÜM COM bileşenlerinde olduğu gibi çağırabilir DllGetClassObject .
InprocServer32 alt anahtarı için, .NET ortamının yönetilen nesneyi oluşturduğunu belirtmek üzere geleneksel COM tür kitaplığı yerine Mscoree.dll referansı yer alır.