2010-11-04 5 views
9

ich gelegentlich eine Reihe von Warnungen in meinem Web-App:Was verursacht "Der Typbibliothekimporteur konnte die Signatur für die Warnungen des Mitglieds nicht konvertieren"?

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. 

Es scheint nichts wirklich falsch zu sein, und scheint Visual Studio neu zu starten, um sie verschwinden zu lassen. Was verursacht das, und gibt es irgendeine Möglichkeit, es kurz vor dem Neustart zu beheben?

Antwort

3

Erstellen Sie Ihre eigenen Interopassembly wie folgt aus (ActiveDs zum Beispiel):

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

Verweisen Sie dies anstelle von ActiveDs, und die Fehler verschwinden.

+0

Sind Sie sicher, dass der Fehler wegen des Schlüsselworts "/ silent" nicht verschwunden ist? Ich würde stattdessen empfehlen "/ verbose" zu verwenden, um sicherzustellen, dass alles in Ordnung ist. –

+0

Die Fehler werden nicht beim Ausführen von tlbimp angezeigt, sondern im Build der Anwendung, die auf die erstellte DLL verweist. Also ja, da bin ich mir sicher. – Flores

+0

Das funktioniert perfekt. +1 – Baxter

Verwandte Themen