我在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的混合。任何想法?
更新 - 部分截图:
答案 0 :(得分:15)
解决问题:
我在这里找到了解决方案:http://support.microsoft.com/kb/823996
我所要做的只是打开“VS2012的开发人员命令提示符”,向下导航到GAC的ADODB文件夹,然后运行regasm.exe ADODB.dll
。这解决了整个问题。
问题解决了:
答案 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}})。