0

我正在尝试为我的一个引用 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.

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

4

1 回答 1

0

只需删除 tlbimp.exe 的 /primary 参数即可。为您自己的组件生成 PIA 没有什么意义。最好避免将使用 ADOR 类型的类的成员公开,您将让组件的用户也不得不引用它并使用相同的 ADOR PIA。

如果你真的想这样做,那么你必须首先为 msador15.dll 生成一个 PIA 并注册它。我很确定微软不会发布一个。您还必须部署它们。

于 2010-08-24T19:39:10.517 回答