0

我已经使用 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 对象模型,但这并没有改变任何东西)。

任何人都可以就错误原因或这些其他机器可能缺少的内容提供一些建议吗?

4

2 回答 2

1

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

您正在开发什么框架版本?.Net 3.5、4.0 还是 4.5?我的猜测是你在 .Net Framework 4.5 上,因为 VS2012 Addin 项目默认使用它。

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

  • 适用于 Office 运行时的 Microsoft Visual Studio 2010 工具
  • 微软 .NET 框架 4.5

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

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

于 2014-08-11T09:01:04.770 回答
0

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

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

而不是 X64 或 X86

于 2014-08-07T18:06:54.373 回答