gpt4 book ai didi

c# - 无法转换类型为 'Microsoft.Office.Interop.Outlook.ApplicationClass' {00063001-0000-0000-C000-000000000046} HRESULT : 0x80040155 的 COM 对象

转载 作者:行者123 更新时间:2023-11-30 17:31:53 25 4
gpt4 key购买 nike

我在使用一段非常简单的 C# .NET 代码时遇到问题,该代码(目前)应该只是检索运行 WinForms 应用程序的计算机上安装的 Office 的版本号:

var oApp = new Outlook.ApplicationClass();
var outlookVersionString = oApp.Version;

它实例化了正确的对象,但是当我尝试访问 Version 属性时,我得到以下信息:

{“无法将‘Microsoft.Office.Interop.Outlook.ApplicationClass’类型的 COM 对象转换为接口(interface)类型‘Microsoft.Office.Interop.Outlook._Application’。此操作失败,因为 QueryInterface 调用由于以下错误,IID 为“{00063001-0000-0000-C000-000000000046}”的接口(interface)的 COM 组件失败:接口(interface)未注册(HRESULT 异常:0x80040155)。”

我已经在网上做了很多搜索,所以我尝试过的方法:

  1. 检查 [HKEY_CLASSES_ROOT\TypeLib\{00062FFF-0000-0000-C000-000000000046}] 中是否只存在一个 key (9.6)
  2. 检查此 ClassID 和版本是否匹配 [HKEY_CLASSES_ROOT\Interface\{00063001-0000-0000-C000-000000000046}]
  3. 使用 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\regtlibv12.exe "C:\Program Files (x86)\Microsoft Office\root\Office16\MSOUTL.OLB"注册 MSOUTL.OLB (失败,因为 regtlibv12.exe 未随 VS2017 一起提供)
  4. 正在下载 regtlibv12.exe 并重试(失败,因为“此应用无法在您的 PC 上运行”)。
  5. 运行 C:\Users\uczms>c:\Windows\Microsoft.NET\Framework64\v4.0.30319\regasm.exe/TLB "C:\Program Files (x86)\Microsoft Office\root\Office16\MSOUTL.OLB"(失败,因为它不是有效的 .NET 程序集)
  6. 运行 C:\Users\uczms>c:\Windows\Microsoft.NET\Framework64\v2.0.50727\regasm.exe/TLB "C:\Program Files (x86)\Microsoft Office\root\Office16\MSOUTL.OLB"(失败,因为它不是有效的 .NET 程序集)
  7. 使用适用于旧 Interop 库的内容(编辑:注意,这似乎不适用于我们的 Office 2016 桌面),这是一个微妙的变化:

var oApp = new Outlook.Application();
var outlookVersionString = oApp.Version;

可能值得注意的是,我有一个干净的 Windows 10 Enterprise N Creators Update 和 Office 2016/365 ProPlus,没有安装任何以前的版本,也没有降级。

我通常不是桌面应用程序开发人员,所以虽然我掌握了其中一些库注册工具,但我绝不是专家..

最佳答案

尝试“修复”您的 Microsoft Office 安装。转到程序和功能,选择修改,然后选择联机修复。我遇到了同样的问题,这解决了它。

关于c# - 无法转换类型为 'Microsoft.Office.Interop.Outlook.ApplicationClass' {00063001-0000-0000-C000-000000000046} HRESULT : 0x80040155 的 COM 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47332331/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com