Share via


Een .NET Framework-assembly verpakken voor COM

COM-ontwikkelaars kunnen profiteren van de volgende informatie over de beheerde typen die ze in hun toepassing willen opnemen:

  • Een lijst met typen die COM-toepassingen kunnen gebruiken

    Sommige beheerde typen zijn onzichtbaar voor COM; sommige zijn zichtbaar, maar niet maakbaar; en sommige zijn zowel zichtbaar als maakbaar. Een assembly kan bestaan uit een combinatie van onzichtbare, zichtbare, niet creatable en creatable types. Voor volledigheid identificeert u de typen in een assembly die u wilt blootstellen aan COM, met name wanneer deze typen een subset zijn van de typen die beschikbaar zijn voor .NET Framework.

    Zie Kwalificerende .NET-typen voor interoperation voor meer informatie.

  • Instructies voor versiebeheer

    Beheerde klassen die de klasse-interface (een door COM-interface gegenereerde interface) implementeren, zijn onderhevig aan versiebeheerbeperkingen.

    Zie Inleiding tot de klasse-interface voor richtlijnen voor het gebruik van de klasse-interface.

  • Implementatie-instructies

    Sterk benoemde assembly's die zijn ondertekend door een uitgever, kunnen worden geïnstalleerd in de algemene assemblycache. Niet-ondertekende assembly's moeten als privéassembly's op de computer van de gebruiker worden geïnstalleerd.

    Zie Beveiligingsoverwegingen voor assembly's voor meer informatie.

  • Insluiting van typebibliotheek

    Voor de meeste typen is een typebibliotheek vereist wanneer deze wordt gebruikt door een COM-toepassing. U kunt een typebibliotheek genereren of COM-ontwikkelaars deze taak laten uitvoeren. De Windows SDK biedt de volgende opties voor het genereren van een typebibliotheek:

    Ongeacht het mechanisme dat u kiest, worden alleen openbare typen die zijn gedefinieerd in de assembly die u opgeeft, opgenomen in de gegenereerde typebibliotheek.

Zie Procedures voor instructies : Typebibliotheken insluiten als Win32-resources in. Toepassingen op basis van NET.

Type bibliotheekexporteur

De typebibliotheekexporteur (Tlbexp.exe) is een opdrachtregelprogramma waarmee de klassen en interfaces in een assembly worden geconverteerd naar een COM-typebibliotheek. Zodra de typegegevens van de klasse beschikbaar zijn, kunnen COM-clients een exemplaar van de .NET-klasse maken en de methoden van het exemplaar aanroepen, net zoals het een COM-object is. Tlbexp.exe converteert een hele assembly tegelijk. U kunt Tlbexp.exe niet gebruiken om typegegevens te genereren voor een subset van de typen die in een assembly zijn gedefinieerd.

TypeLibConverter-klasse

De TypeLibConverter klasse, die zich in de naamruimte System.Runtime.Interop bevindt, converteert de klassen en interfaces in een assembly naar een COM-typebibliotheek. Deze API produceert dezelfde typegegevens als de typebibliotheekexporteur, zoals beschreven in de vorige sectie.

De Klasse TypeLib Converter implementeert de ITypeLibConverter.

Hulpprogramma voor assemblyregistratie

Het hulpprogramma voor assemblyregistratie (Regasm.exe) kan een typebibliotheek genereren en registreren wanneer u de optie /tlb: toepast. COM-clients vereisen dat typebibliotheken worden geïnstalleerd in het Windows-register. Zonder deze optie registreert Regasm.exe alleen de typen in een assembly, niet de typebibliotheek. Het registreren van de typen in een assembly en het registreren van de typebibliotheek zijn afzonderlijke activiteiten.

.NET Services-installatieprogramma

Het .NET Services-installatieprogramma (Regsvcs.exe) voegt beheerde klassen toe aan Windows 2000 Component Services en combineert verschillende taken binnen één hulpprogramma. Naast het laden en registreren van een assembly kan Regsvcs.exe de typebibliotheek genereren, registreren en installeren in een bestaande COM+ 1.0-toepassing.

Zie ook