繁体   English   中英

是否有适用于 Office365 和 Visual Studio 2010 的 PIA?

[英]Is there a PIA for Office365 and Visual Studio 2010?

是否有适用于 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

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

我的问题的第一个迹象是这个警告: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 这是它无法确定的依赖项.

任何帮助将不胜感激。

当前在任何计算机上安装的 Office 版本的 PIA 位于 GAC 中。 默认情况下,Visual Studio 将在其自己的文件夹中查找它们 - Visual Studio 会安装与其版本对应的最新 Office PIA 版本。

因此,您需要使用 COM 选项卡来引用一组不同的 PIA。 COM PIA 的名称与 Visual Studio 安装的名称有些不同。 我记得,它们以“Microsoft”开头,例如“Microsoft.Excel”(我目前使用的是移动设备)。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM