首页 > 解决方案 > Office365 和 Visual Studio 2010 是否有 PIA?

问题描述

Office365 和 Visual Studio 2010 是否有 PIA?如果是这样,我该如何得到它?如果不是,那么等价的是什么?我的 PC 上没有 Office365 或 Office 14 以外的任何 PIA。 背景:我正在将我的所有文件/文件夹从旧 PC 迁移到新 PC。涉及的系统安装了以下系统:旧:Windows 7(64 位)、Office 2007、Visual Studio 2010 Professional 新:Windows 10(64 位)、Office365、Visual Studio 2010 Professional

我的大部分工作涉及调用启用 COM 的类库 (.dll) 的 Excel VBA 例程,以获取和操作各种数据,然后 .dll 将结果返回给 Excel 以进行显示和/或其他操作。类库是我使用 VS2010 VB.Net 编写的。所有这些都可以在我的旧 PC 上按预期工作。

我的问题的第一个迹象是这个警告:C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(2015,5): 警告 MSB3304: 无法确定 COM 引用的依赖关系“Microsoft .Office.Interop.Excel”。未找到元素。(来自 HRESULT 的异常:0x8002802B (TYPE_E_ELEMENTNOTFOUND))我在尝试使用 Visual Studio 2010 重建类库程序集时得到。

由于这是一个警告,我在调试模式下继续推进。我的启动项目是一个测试应用程序,它使用测试工作簿启动 Excel。在该工作簿中,我的代码尝试设置我的 .dll 实例,即导入 Microsoft.Office.Interop.Excel 的 .dll。它出错并显示消息:尝试创建 StockDataTest.Tester 实例时出错。错误是:运行时错误“429:ActiveX 组件无法创建对象”。

我怀疑运行时错误与构建时间警告有关,并且基于这种怀疑一直在搜索和探索。我怀疑它不必为 Office365/VS2010 做 PIA。复制到新机后第一次打开这个解决方案,VS210将旧引用改为“Microsoft.Office.Interop.Excel”。到实际引用 C:\Windows\assembly\GAC_MSIL\Microsoft.Office.Interop.Excel\15.0.0.0__71e9bce111e9429c\Microsoft.Office.Interop.Excel.dll 的引用,这是它无法确定依赖关系的引用.

任何帮助将不胜感激。

标签: .netexcelvisual-studio-2010office365office-interop

解决方案


通过卸载我的 64 位版本的 Office 365 并将离线版本安装为 32 位解决了该问题。经过非常有限的调整以适应 32 位版本,问题得到解决。我不确定是离线安装还是更改为 32 位,或者是否需要同时进行这两项更改。


推荐阅读