2010-11-04 9 views
9

tanto in tanto ricevo una serie di avvertenze nella mia web app:Cosa causa "L'importatore della libreria di tipi non è in grado di convertire la firma per il membro" avvisi?

Warning 5 The type library importer could not convert the signature for the member 'ADS_OCTET_STRING.lpValue'.  
Warning 6 The type library importer could not convert the signature for the member '__MIDL___MIDL_itf_ads_0000_0002.lpValue'. 
Warning 7 The type library importer could not convert the signature for the member 'ADS_NT_SECURITY_DESCRIPTOR.lpValue'. 
Warning 8 The type library importer could not convert the signature for the member '__MIDL___MIDL_itf_ads_0000_0003.lpValue'. 
---- snip ---- 
Warning 33 The type library importer could not convert the signature for the member 'tagARRAYDESC.rgbounds'. 
Warning 34 At least one of the arguments for 'ITypeComp.RemoteBind' cannot be marshaled by the runtime marshaler. Such arguments will therefore be passed as a pointer and may require unsafe code to manipulate. 

Non sembra essere nulla di effettivamente sbagliato, e riavviare Visual Studio sembra farli andare via. Che cosa causa questo, e c'è un modo per ripararlo dal riavvio?

risposta

3

creare il proprio assembly di interoperabilità come questo (Activeds per esempio):

tlbimp Activeds.tlb /out:c:\temp\Interop.ActiveDs.dll/silenzioso

Fare riferimento a questo anziché a ActiveD e gli errori scompaiono.

+0

Sei sicuro che l'errore non è scomparso a causa della parola chiave "/ silent"? Consiglierei di usare "/ verbose" per assicurarsi che tutto sia OK. –

+0

Gli errori non vengono visualizzati quando si esegue tlbimp, ma nella build dell'applicazione che fa riferimento alla dll creata. Quindi sì, ne sono sicuro. – Flores

+0

Funziona perfettamente. +1 – Baxter

Problemi correlati