我正在尝试为我的一个项目之一生成一个主要的Interop组件,该项目引用Microsoft ActiveX数据对象(MDAC 2.8)。通过Visual Studio中的“参考”对话框添加此库将Interop.ador.dll文件添加到解决方案的bin目录中。

但是,当我运行tlbimp.exe时,我会发现错误:

C:\Solution> tlbimp Component.dll /out: My.Interop.Component.dll /keyfile:myKeyFile
.snk /primary

Microsoft (R) .NET Framework Type Library to Assembly Converter 3.5.30729.1
Copyright (C) Microsoft Corporation.  All rights reserved.

TlbImp : error TI0000 : System.ApplicationException - Referenced type library 'A
DOR' does not have a primary interop assembly registered.

我找不到网上任何东西,这很奇怪。有任何想法吗?

有帮助吗?

解决方案

只需删除tlbimp.exe的主要参数即可。您自己的组件生成PIA的重要意义。最好避免将课程成员公开使用使用ADOR类型,您将必须对组件的用户进行鞍座,也必须对其进行引用并使用相同的Ador Pia。

如果您真的想这样做,那么您必须先为MSADOR15.DLL生成PIA并进行注册。我很确定微软不会发货。您还必须部署它们。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top