我开发了一个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.dll
和Microsoft.Office.Interop.SmartTag.dll
都在GAC中,版本正确。
我使用Reflector
尝试检测问题,但通过在GAC中查找DLL,可以轻松解析Microsoft.Office.Interop.SmartTag.dll
引用。
我的clickonce安装失败的可能原因是什么?存在所需的程序集,但显然没有咨询GAC。
我发现向Manifest注册表值添加|vstolocal
会使所有内容按预期工作,但我仍然想知道为什么我首先得到错误。
答案 0 :(得分:1)
您是部署PIA作为部署和VSTO Runtime的先决条件吗?