首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Excel加载项警告

Excel加载项警告
EN

Stack Overflow用户
提问于 2013-05-22 18:44:48
回答 1查看 1.6K关注 0票数 0

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

代码语言:javascript
复制
    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'.

这个插件正常工作,但是我想知道这些警告是什么意思。当我看他们的时候,我看到的是,它有一些问题的processing COM referencesconverting一些文件从system32文件夹。我对此一无所知所以..。

有没有人可以看一看它们,给我一个更具体的解释,也许还有一些解决方案。我将非常感谢每一条信息。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-22 21:10:16

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

但是,您可以在执行其他构建操作之前,使用Tlbimp.exe (Type Library Importer)工具创建所需的互操作程序集,并引用它们,而不是让集成开发环境来完成这项工作。该工具的最新版本支持silence开关。

不使用开关:

代码语言:javascript
复制
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

使用静音开关(多次出现):

代码语言:javascript
复制
C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0A\bin\NETFX 4.0 Tools\x64]tlbimp C:\Windows\system32\stdole32.tlb /silence:3016 /silence:3015 /silence:3001 /silence:3002
Microsoft (R) .NET Framework Type Library to Assembly Converter 4.0.30319.17929
Copyright (C) Microsoft Corporation.  All rights reserved.

TlbImp : Type library imported to stdole.dll
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16689753

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档