【问题标题】:How to fix "A reference to MSO.dll could not be added"?如何修复“无法添加对 MSO.dll 的引用”?
【发布时间】:2016-01-03 13:29:27
【问题描述】:

环境:64 位 Win10 + 64 位 VS 2015
我正在尝试开发一个 onenote 加载项。
当我添加对 MSO.dll 的引用时,会弹出一个警告,说

"对 'C:\Program Files (x86)\Common Files\Microsoft 的引用 无法添加 Shared\OFFICE15\MSO.DLL'。请确保 文件是可访问的,并且它是一个有效的程序集或 COM 组件”

我试过A reference to the dll could not be added
1.使用TlbImp.exe报错:

TlbImp:警告 TI0000:主互操作程序集 'Office, 版本=15.0.0.0,文化=中性,PublicKeyToken=71E9BCE111E9429C' 是 已注册类型库 'C:\Program Files (x86)\Common 文件\Microsoft Shared\OFFICE15\MSO.DLL'。 TlbImp:错误 TI0000: System.IO.IOException - 访问被拒绝。 (HRESULT 的例外情况: 0x80070005 (E_ACCESSDENIED))

  1. 使用dependency walker,发现很多这样的dll文件都找不到:

API-MS-WIN-CORE-ATOMS-L1-1-0.DLL
EXT-MS-MF-PAL-L2-1-0.DLL

  1. 在使用 VBE 的 excel 中,可以引用 MSO.dll。

对这个错误很困惑,请分享如何解决这个问题。
感谢您的任何提示/回复

【问题讨论】:

  • 为什么需要手动添加 MSO 引用?
  • 嗯,我在参考列表的 COM 选项卡中找不到 microsoft office 15.0 对象库。我试图重新安装 MS Office。但是还是不行。

标签: c# dll ms-office onenote


【解决方案1】:

可能是问题引起的,因为 32 位 COM 组件无法加载到 64 位进程中。将您的项目更改为 x86,它可能会工作!?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-28
    • 1970-01-01
    • 1970-01-01
    • 2017-06-04
    • 2016-09-14
    • 1970-01-01
    • 1970-01-01
    • 2012-01-02
    相关资源
    最近更新 更多