C# Excel加载项警告

C# Excel加载项警告,c#,com,excel-addins,C#,Com,Excel Addins,以下是我在制作此加载项时遇到的一些警告: Warning 1 Processing COM reference "" from path "C:\Windows\system32\stdole32.tlb". The type library importer could not convert the signature for the member 'DISPPARAMS.rgvarg'. Warning 2 Processing COM ref

以下是我在制作此加载项时遇到的一些警告:

    Warning 1   
    Processing COM reference "" from path "C:\Windows\system32\stdole32.tlb". The type library importer could not convert the signature for the member 'DISPPARAMS.rgvarg'.

    Warning 2   
    Processing COM reference "" from path "C:\Windows\system32\stdole32.tlb". The type library importer could not convert the signature for the member 'DISPPARAMS.rgdispidNamedArgs'.

    Warning 3   
    Processing COM reference "VBA" from path "C:\Windows\system32\VEN2232.OLB". Type library importer has encountered an interface not derived from IUnknown: '_HiddenInterface'.
此加载项正常工作,但我想知道这些警告的含义。当我查看它们时,我所看到的是,它在处理COM引用和转换来自
system32
文件夹的一些文件方面存在一些问题。我对此一无所知,所以


有没有人可以看一看,给我一个更具体的解释,也许有一些解决办法。我将非常感谢您提供的每一条信息。

这些错误没什么大不了的。这只是意味着COM类型库中的某些类型无法自动导入。从VisualStudio生成过程(或在后端使用的MSBuild任务)中,我认为无法删除这些错误。它们由.NET内部类型库导入程序生成,没有您可以传递的标志

不过,您可以做的是,在执行其他构建操作之前,使用该工具创建所需的互操作程序集,并引用它们,而不是让IDE来执行该工作。最新版本的工具可以理解一个
静音
开关

没有开关:

C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0A\bin\NETFX 4.0 Tools\x64]tlbimp C:\Windows\system32\stdole32.tlb
Microsoft (R) .NET Framework Type Library to Assembly Converter 4.0.30319.17929
Copyright (C) Microsoft Corporation.  All rights reserved.

TlbImp : warning TI3001 : Primary interop assembly 'stdole, Version=7.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' is already registered for type library 'C:\Windows\system32\stdole32.tlb'.
TlbImp : warning TI3002 : Importing a type library into a platform agnostic assembly.  This can cause errors if the type library is not truly platform agnostic.
TlbImp : warning TI3016 : The type library importer could not convert the signature for the member 'stdole.DISPPARAMS.rgvarg'.
TlbImp : warning TI3016 : The type library importer could not convert the signature for the member 'stdole.DISPPARAMS.rgdispidNamedArgs'.
TlbImp : warning TI3015 : At least one of the arguments for 'stdole.IDispatch.GetIDsOfNames' cannot be marshaled by the runtime marshaler.  Such arguments will therefore be passed as a pointer and may require unsafe code
to manipulate.
TlbImp : Type library imported to stdole.dll
使用静音开关(多次出现):


这些错误没什么大不了的。这只是意味着COM类型库中的某些类型无法自动导入。从VisualStudio生成过程(或在后端使用的MSBuild任务)中,我认为无法删除这些错误。它们由.NET内部类型库导入程序生成,没有您可以传递的标志

不过,您可以做的是,在执行其他构建操作之前,使用该工具创建所需的互操作程序集,并引用它们,而不是让IDE来执行该工作。最新版本的工具可以理解一个
静音
开关

没有开关:

C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0A\bin\NETFX 4.0 Tools\x64]tlbimp C:\Windows\system32\stdole32.tlb
Microsoft (R) .NET Framework Type Library to Assembly Converter 4.0.30319.17929
Copyright (C) Microsoft Corporation.  All rights reserved.

TlbImp : warning TI3001 : Primary interop assembly 'stdole, Version=7.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' is already registered for type library 'C:\Windows\system32\stdole32.tlb'.
TlbImp : warning TI3002 : Importing a type library into a platform agnostic assembly.  This can cause errors if the type library is not truly platform agnostic.
TlbImp : warning TI3016 : The type library importer could not convert the signature for the member 'stdole.DISPPARAMS.rgvarg'.
TlbImp : warning TI3016 : The type library importer could not convert the signature for the member 'stdole.DISPPARAMS.rgdispidNamedArgs'.
TlbImp : warning TI3015 : At least one of the arguments for 'stdole.IDispatch.GetIDsOfNames' cannot be marshaled by the runtime marshaler.  Such arguments will therefore be passed as a pointer and may require unsafe code
to manipulate.
TlbImp : Type library imported to stdole.dll
使用静音开关(多次出现):

这与解决方案将stdole的开关“嵌入互操作类型”设置为false*的问题相同吗?这与解决方案将stdole的开关“嵌入互操作类型”设置为false*的问题相同吗?