VS 2012.3引用MS Access COM DLL,无法解决COM引用错误

时间:2013-10-31 23:44:49

标签: visual-studio ms-access visual-studio-2012 com windows-8.1

我在VS2012.3(32位exe)中创建了一个新的Console项目,并添加了一个COM Type Library引用到Microsoft Access(我在2003和2007中都尝试过)。 “添加引用”对话框中显示的“Microsoft Access”引用没有问题。但是,在关闭该对话框时,VS在两个新添加的引用上显示黄色三角形覆盖,并且我得到以下构建错误:

  

无法解析COM引用“4affc9a0-5f99-101b-af4e-00aa003f0f07”   版本9.0。对象引用未设置为对象的实例。

我的同事能够在他们的计算机上没有问题。所以我想弄清楚我的机器会出现什么问题。我正在运行Windows 8.1,而其他人正在运行Windows 8.0和7的混合。任何想法?

更新 - 部分截图: MS Access in OLEView

Add Reference Dialog

VS COM References not found

ADODB Interop Assembly

ADODB GAC

MsADO25.tlb

Missing PrimaryInteropAssemblyName value in Registry

2 个答案:

答案 0 :(得分:15)

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

At VS 2012 Command Prompt run regasm

问题解决了: VS COM References now found.

答案 1 :(得分:1)

Windows 8.1附带最新的.NET 4.5.1运行时。首先,尝试installing .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 Microsoft.Office.Interop.Access.dll的主互操作程序集(PIA)。它应该在:

下找到

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

最后,您可以尝试修复Office 2010安装(应该重新注册类型库),重新安装Office 2010 PIAs,最后安装最新的VSTO Runtime(显然,链接{{} 3}})。

相关问题