7

我在 VS2012.3(32 位 exe)中创建了一个新的控制台项目,并添加了对 Microsoft Access 的 COM 类型库引用(我尝试了 2003 和 2007)。“Microsoft Access”引用显示在“添加引用”对话框中没有问题。但是,在关闭该对话框后,VS 会在两个新添加的引用上显示一个黄色三角形叠加层,并且出现以下构建错误:

无法解析 COM 引用“4affc9a0-5f99-101b-af4e-00aa003f0f07”9.0 版。你调用的对象是空的。

我的同事可以在他们的计算机上毫无问题地做到这一点。所以我想弄清楚我的机器可能有什么问题。我正在运行 Windows 8.1,而其他人正在运行 Windows 8.0 和 7 的混合版本。有什么想法吗?

更新 - 一些屏幕截图: OLEView 中的 MS 访问

添加参考对话框

未找到 VS COM 引用

ADODB 互操作程序集

ADODB广汽

MsADO25.tlb

注册表中缺少 PrimaryInteropAssemblyName 值

4

2 回答 2

16

已解决的问题: 我在这里找到了解决方案:http: //support.microsoft.com/kb/823996
我所要做的就是打开“VS2012 的开发人员命令提示符”,向下导航到 GAC 的 ADODB 文件夹,然后运行regasm.exe ADODB.dll​​. 这解决了整个问题。

在 VS 2012 命令提示符下运行 regasm

问题解决了: 现在找到了 VS COM 引用。

于 2013-11-08T02:14:33.553 回答
1

Windows 8.1 附带最新的 .NET 4.5.1 运行时。首先,尝试安装 .NET 3.5(包括 .NET 2.0/3.0,默认情况下不存在)。你可以通过Control Panel/来做到这一点Turn Windows Feartures on and off

此外,{4AFFC9A0-5F99-101B-AF4E-00AA003F0F07}GUID 建议您使用 Office 2010。应在此处找到相应的类型库:

C:\Program Files (x86)\Microsoft Office\Office14\MSACC.OLB

尝试用 OleView 打开它,看看是否有任何错误。

下一步将检查 Access 的主互操作程序集 (PIA)Microsoft.Office.Interop.Access.dll是否已正确安装。它应该在以下位置找到:

C:\Windows\assembly\GAC_MSIL\Microsoft.Office.Interop.Access\

最后,您可以尝试修复您的 Office 2010 安装(应该重新注册类型库),重新安装Office 2010 PIA,最后安装最新的VSTO 运行时(显然,该链接对于 VS2013 来说仍然是最新的)。

于 2013-11-04T02:44:59.987 回答