Domanda

Sto cercando di generare un assembly di interoperabilità primario per uno dei miei progetti che i riferimenti Microsoft ActiveX Data Objects (MDAC 2.8). L'aggiunta di questa libreria attraverso casella di dialogo Riferimenti in Visual Studio aggiunge il file Interop.ADOR.dll nella directory bin della soluzione.

Tuttavia, quando corro tlbimp.exe ottengo l'errore:

C:\Solution> tlbimp Component.dll /out: My.Interop.Component.dll /keyfile:myKeyFile
.snk /primary

Microsoft (R) .NET Framework Type Library to Assembly Converter 3.5.30729.1
Copyright (C) Microsoft Corporation.  All rights reserved.

TlbImp : error TI0000 : System.ApplicationException - Referenced type library 'A
DOR' does not have a primary interop assembly registered.

Sono stato in grado di trovare qualsiasi cosa online, il che è strano. Tutte le idee?

È stato utile?

Soluzione

Basta inserire l'argomento / primario per tlbimp.exe. C'è poco senso generare PIA per i propri componenti. Fare i membri delle classi pubbliche che utilizzano un tipo di ADOR è meglio evitare, avrete sella l'utente del componente di dover avere un riferimento ad esso come bene e utilizzare lo stesso ADOR PIA.

Se si vuole veramente fare questo allora si dovrà generare un PIA per Msador15.dll prima e registrarlo. Sono abbastanza sicuro che Microsoft non viene fornito uno. Avrete anche a distribuire loro.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top