【问题标题】:Outlook Addin - Runtime ErrorOutlook 插件 - 运行时错误
【发布时间】:2014-08-07 13:36:18
【问题描述】:

我使用 VS2012 构建了一个 Outlook 插件,以部署到 Outlook 2010。插件的目的是允许用户与 TFS(工作项)进行交互。在我的开发人员运行 VS2012 的机器上部署工作正常。那些没有 VS2012 和我的开发人员之一运行 VS2010 的人会得到以下运行时异常:

System.BadImageFormatException:无法加载文件或程序集 'Microsoft.TeamFoundation.WorkItemTracking.Client.DataStoreLoader, 版本=11.0.0.0,

...或其依赖项之一。试图加载程序 格式不正确。

...在 Microsoft.TeamFoundation.Client.TfsConnection.GetServiceT 在 TFSLibrary.TFSEngine.get_WorkItemStore()

...

经过大量研究,这似乎与 DataStoreLoader dll 为 x86 相关(清单中的所有其他 dll 都设置为 MSIL),并且从 TFS 服务请求 WorkItemStore 导致此异常。我部署它的所有计算机都是 64 位的。我为解决方案中的所有项目使用“任何 CPU”选项发布(我尝试了其他配置,但由于安装过程中的运行时错误,它们导致加载项根本无法加载)。

很明显,我们这些使用 VS2012 的人在我们的系统上拥有其他计算机所缺乏的东西(我尝试下载 TFS 对象模型,但这并没有改变任何东西)。

谁能提供一些关于错误原因或这些其他机器可能缺少什么的建议?

【问题讨论】:

  • 你有没有设法解决这个问题?我正在努力解决同样的问题,我很害怕,想知道是否有最终的解决方案。

标签: tfs outlook-addin badimageformatexception


【解决方案1】:

当我第一次开始插件开发时,我在部署插件时遇到了问题,根据我的经验,这是我可以给出的建议:

您正在开发哪个框架版本? .Net 3.5、4.0 还是 4.5?我的猜测与您在 .Net Framework 4.5 上的情况一样,因为 VS2012 Addin 项目默认使用该版本。

每当我发布 Outlook 插件时,我都会添加以下两个先决条件:

  • 用于 Office 运行时的 Microsoft Visual Studio 2010 工具
  • Microsoft .NET Framework 4.5

通过在用户安装您的插件时添加这些内容,它会检查是否已安装这些内容,如果没有,它将安装它们,因为它们是 .NET 4.5 插件所必需的。大多数情况下,与 Visual Studio 2010 一起使用不会自动安装这些,这可能是它们缺少的部分。

我希望这解决了您的问题,如果没有,我希望它可以解决其他人的问题。

【讨论】:

  • 该解决方案由 Outlook Addin 项目和两个库项目组成,均面向 .Net 4.0。 Outlook Addin 项目引用了 Microsoft.Office.Tools.*(框架 4.0)和“Office.dll”(Visual Studio Tools for Office)和“stdole.dll”。根据这些信息,您能否提供进一步的帮助?
  • 发布插件时,转到 VS2012 中的解决方案属性 > 发布 > 然后单击先决条件按钮。勾选 Microsoft Visual Studio 2010 Tools for Office Runtime 复选框。这将在用户安装插件时在用户计算机上安装此项目。当您引用 Microsoft.Office.Tools 时,您将需要它。
  • 我已经将所有用于发布您提到的加载项的程序集复制到输出目录。加载项实际安装并运行到需要与 TFS 服务方法交互的位置。如果不是这样,我相信我将拥有一个功能齐全的 Outlook 插件。如原始帖子中所述,我认为问题仅在于 x86 DataStoreLoader dll。与它的任何交互都会导致上述异常。
【解决方案2】:

您是否尝试在“任何 CPU”上运行

在项目设置中设置平台目标为:Any CPU

而不是 X64 或 X86

【讨论】:

  • 是的。正如我所说,我为我的解决方案中的所有项目尝试了“任何 CPU”。此外,我尝试了“Any CPU”、“x86”和“x64”的不同组合,但由于安装中的运行时错误,加载项根本无法加载。我不确定如何从这些配置中查看确切的错误。
猜你喜欢
  • 2016-04-03
  • 2012-07-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-04
  • 2015-02-06
  • 2016-12-09
  • 1970-01-01
相关资源
最近更新 更多