0

我一直在尝试为 C# Outlook 2003 加载项创建部署。它只需要 NET 2.0 并依赖于IDTExtensibility2(Extensibility.dll)。在确保安装了 Office 2003 PIA 后,加载项仍然不会注册,因为Could not load file or assembly 'Extensibility, Version=7.0.3300.0, Culture=nuetral, PublicKeyToken=b03f57f11d50a3a' or one of its dependencies. Strong name validation failed. (Exception from HRESULT: 0x8013141A)

我不认为部署 Extensiblity.dll 是合法的,即使它是合法的,我也无法使其工作。那么如何确保它在目标 PC 上可用呢?

我在任何地方都找不到合适的解决方案。

该解决方案是在 VS 2010 中开发的。

4

3 回答 3

1

经过一番搜索后,我发现了这篇提供解决方案的Microsoft 支持文章。

简单来说:

当您使用 Microsoft Visual Studio 2005 创建加载项、智能文档或智能标记时,您可能会遇到以下症状:

  • 加载项、智能文档或智能标记无法加载到任何 Microsoft Office 应用程序中。
  • 加载项、智能文档或智能标记不在任何版本的 Microsoft Office 中运行。

及其决议:

要为 Visual Studio 2005 开发人员解决此问题,可以使用 Visual Studio 2005 更新的可再发行版本。

于 2012-08-15T12:49:01.687 回答
1

如果您的 Outlook 加载项使用强名称密钥进行签名,那么您引用的任何外部库也需要进行强名称签名。

过去我遇到过与您类似的问题,即第 3 方库未使用强名称签名。

于 2012-08-15T08:17:01.317 回答
0

在中找到 Extensibility.dll

\Visual Studio Tools for Office\PIA\Common

文件夹。将其复制到项目文件夹中。

我有 VSTO 2010。添加了对我的项目的引用,编译错误消失了。相同版本的错误:7.0.3300.0。VSTO 由 Microsoft 为开发人员免费分发,用于为 Microsoft Office 创建解决方案,但 VSTO 2010 随附的许可文档不允许您复制它,除非您自己使用。话虽这么说,我会纠缠微软关于 dll 的问题,显然你的项目需要它。显然,他们应该在许可证中添加一条允许开发人员分发 dll 的条款。

于 2016-07-27T20:10:37.047 回答