2010-11-04 110 views
9

我偶尔得到一些警告在我的web应用程序:什么原因导致“类型库导入程序无法转换成员的签名”警告?

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. 

似乎没有要任何东西其实是错误的,并重新启动Visual Studio中,似乎让他们离开。是什么导致了这种情况,有什么方法可以解决它重新启动?

回答

3

创建您自己的互操作程序集像这样(ActiveDs为例):

TLBIMP activeds.tlb /out:c:\temp\Interop.ActiveDs.dll /无声

引用此代替ActiveD,并且错误消失。

+0

您确定该错误没有因“/ silent”关键字而消失吗?我建议使用“/ verbose”来确保一切正常。 – 2012-01-02 10:47:17

+0

运行tlbimp时没有出现错误,但是在引用创建的dll的应用程序的构建中。所以是的,我确定。 – Flores 2012-01-02 14:37:33

+0

这工作完美。 +1 – Baxter 2016-04-13 17:44:24

相关问题