Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Det finns två sätt att generera en primär interop-sammansättning:
Använda typbiblioteksimportören (Tlbimp.exe) som tillhandahålls av Windows SDK.
Det enklaste sättet att skapa primära interop-sammansättningar är att använda Tlbimp.exe (typbiblioteksimportör). Tlbimp.exe ger följande skydd:
Söker efter andra registrerade primära interop-sammansättningar innan du skapar nya interop-sammansättningar för eventuella biblioteksreferenser av kapslad typ.
Det går inte att generera den primära interop-sammansättningen om du inte anger containern eller filnamnet för att ge den primära interopsammansättningen ett starkt namn.
Det går inte att generera en primär interop-sammansättning om du utelämnar referenser till beroende sammansättningar.
Det går inte att generera en primär interop-sammansättning om du lägger till referenser till beroende sammansättningar som inte är primära interop-sammansättningar.
Skapa primära interop-sammansättningar manuellt i källkoden med hjälp av ett språk som är kompatibelt med Common Language Specification (CLS), till exempel C#. Den här metoden är användbar när ett typbibliotek inte är tillgängligt.
Du måste ha ett kryptografiskt nyckelpar för att signera sammansättningen med ett starkt namn. Mer information finns i Skapa ett nyckelpar.
Generera en primär interop-sammansättning med hjälp av Tlbimp.exe
Skriv i kommandotolken:
tlbimp tlbfile /primary /keyfile: filename /out: assemblyname
I det här kommandot är tlbfile filen som innehåller COM-typbiblioteket, filnamnet är namnet på containern eller filen som innehåller nyckelparet och sammansättningsnamnet är namnet på sammansättningen som ska signeras med ett starkt namn.
Primära interop-sammansättningar kan endast referera till andra primära interop-sammansättningar. Om sammansättningen refererar till typer från ett com-typbibliotek från tredje part måste du skaffa en primär interop-sammansättning från utgivaren innan du kan generera din primära interop-sammansättning. Om du är utgivare måste du generera en primär interop-sammansättning för det beroende typbiblioteket innan du genererar den refererande primära interop-sammansättningen.
En beroende primär interop-sammansättning med ett versionsnummer som skiljer sig från det ursprungliga typbiblioteket kan inte identifieras när den installeras i den aktuella katalogen. Du måste antingen registrera den beroende primära interopsammansättningen i Windows-registret eller använda alternativet /reference för att se till att Tlbimp.exe hittar den beroende DLL-filen.
Du kan också omsluta flera versioner av ett typbibliotek. Anvisningar finns i Så här omsluter du flera versioner av typbibliotek.
Exempel
I följande exempel importeras COM-typbiblioteket LibUtil.tlb och sammansättningen LibUtil.dll signeras med ett starkt namn med hjälp av nyckelfilen CompanyA.snk. Genom att utelämna ett specifikt namnområdesnamn genererar det här exemplet standardnamnområdet, LibUtil.
tlbimp LibUtil.tlb /primary /keyfile:CompanyA.snk /out:LibUtil.dll
För ett mer beskrivande namn (med hjälp av VendorName.Namngivningsguiden för LibraryName ) åsidosätter följande exempel standardnamnet för sammansättningsfilen och namnområdets namnområde.
tlbimp LibUtil.tlb /primary /keyfile:CompanyA.snk /namespace:CompanyA.LibUtil /out:CompanyA.LibUtil.dll
I följande exempel importeras MyLib.tlb, som refererar till CompanyA.LibUtil.dll, och signerar sammansättningen CompanyB.MyLib.dll med ett starkt namn med hjälp av nyckelfilen CompanyB.snk. Namnområdet, CompanyB.MyLib, åsidosätter standardnamnet för namnområdet.
tlbimp MyLib.tlb /primary /keyfile:CompanyB.snk /namespace:CompanyB.MyLib /reference:CompanyA.LibUtil.dll /out:CompanyB.MyLib.dll