【问题标题】:Clickonce Office add-in assembly reference problem upon deployment部署时的 Clickonce Office 加载项程序集参考问题
【发布时间】:2010-08-08 11:14:20
【问题描述】:

我开发了一个 Office 2007 C# 插件。它使用 clickonce 进行部署。在装有 Office 2010 的系统上一切正常,但在装有 XP SP3、NET 3.5sp1 和 Office 2007 的机器上,我收到一个奇怪的程序集加载错误。

我的加载项没有直接引用Microsoft.Office.Interop.SmartTag.dll。这被 Microsoft.Office.Tools.Commmon.v9.0.dll 引用 - 在我的加载项中被引用。

使用 clickonce 安装插件时,会报告在我的插件的本地安装文件夹中找不到 Microsoft.Office.Interop.SmartTag.dll 的错误。 Microsoft.Office.Tools.Commmon.v9.0.dllMicrosoft.Office.Interop.SmartTag.dll 都在 GAC 中且版本正确。

我已使用Reflector 尝试检测问题,但它通过在 GAC 中查找 DLL 轻松解决了 Microsoft.Office.Interop.SmartTag.dll 引用。

我的 clickonce 安装失败的可能原因是什么?存在所需的程序集,但显然没有咨询 GAC。

我发现将|vstolocal 添加到 Manifest 注册表值可以使一切按预期工作,但我仍然想知道为什么我首先收到错误。

【问题讨论】:

    标签: c# assemblies clickonce vsto gac


    【解决方案1】:

    您是否将 PIA 部署为部署的先决条件,以及 VSTO 运行时?

    【讨论】:

    • VSTO - 是的,PIA - 不。事实证明,Office 2007 不需要 PIA,因为它已经通过典型安装进行了安装。不过,这不是问题,因为特定系统已经安装了所有先决条件。
    • 您不能仅仅因为安装了 Office 2007 而依赖已安装的 PIA。这适用于 Office 2010,但不是 2007。仅供参考。
    • 您能否详细说明为什么我不能依赖预安装的 PIA?添加|vstolocal 后,我的加载项按预期工作。所以所有IS都已经安装好了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多