首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >生成Office外接程序时出现程序集绑定错误:"FindRibbons“任务意外失败

生成Office外接程序时出现程序集绑定错误:"FindRibbons“任务意外失败
EN

Stack Overflow用户
提问于 2013-11-26 22:38:03
回答 13查看 10.6K关注 0票数 18

我们正在尝试设置一个Jenkins (构建服务器)作业来构建基于VSTO的Office外接程序。但是,在将DLL复制到项目的bin目录后,我不断收到一个奇怪的错误,导致构建过程失败:

代码语言:javascript
复制
Error 11 The "FindRibbons" task failed unexpectedly.
System.IO.FileNotFoundException:
  Could not load file or assembly 'MyAddIn, Version=1.0.0.0, Culture=neutral, 
  PublicKeyToken=null' or one of its dependencies.
  The system cannot find the file specified.
File name: 'MyAddIn, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'

因此,问题在于,由Office add-in build目标触发的"FindRibbons“任务已经成功地将Office标识为Office Add-In,但无法定位和加载它!

有什么想法吗?我希望能够直接调试FindRibbons任务,但是挂接和调试编译过程似乎有点极端……

以下是一些观察结果:

  • 在我们的构建服务器的用于绑定MyAddIn程序集的融合日志中,它看起来像是在MSBuild.exe所在的文件夹(C:\Windows\Microsoft.NET\Framework\v4.0.30319\)中查找,而不是在其他地方查找。在我的开发机器上,没有MyAddIn的融合日志条目!在我的开发和构建机器上,我也有WhereRefBind!Host=(LocalMachine)!FileName=(PresentationCore.dll)ExplicitBind!FileName=(MyAddIn.dll)的融合日志条目,它们显示了构建服务器上的绑定succeeding.
  • This错误,无论我是从命令行使用Visual Studio还是ExplicitBind!FileName=(MyAddIn.dll)来构建project.
  • I've,都确保了.NET/ MSBuild /VS2012版本在我的开发机器和构建服务器上是相同的,并且错误仍然发生。唯一的区别似乎是构建服务器运行的是Windows Server2012(因为它是Azure,我们不能启动Windows7镜像)。
EN

回答 13

Stack Overflow用户

发布于 2015-07-08 13:59:50

我遇到了这个问题。这显然是因为我将reference "Microsoft.Office.Tools.Common.v4.0.Utilities“上的"Copy Local”设置从True更改为False。ISYN。(我不会告诉你的)

我将一个项目从VS2012升级到VS2013,并注意到该引用是唯一设置为"Copy Local = True“的引用。所以我将它设置为false,因为它是不同的。这导致了错误。把它改回True解决了这个问题。

票数 8
EN

Stack Overflow用户

发布于 2015-07-14 18:23:22

如果您从以前版本的Visual Studio迁移项目,请确保从AssemblyInfo.cs文件中删除ExcelLocale1033SecurityTransparent属性(正如Swati在另一个question中回答的那样)

如果项目仍然无法生成,这可能是因为您的.csproj文件引用了以前版本的Visual Studio的msbuild任务。我建议您创建一个新的空的Excel项目,并使用新项目文件的msbuild结构作为项目的基础。

票数 8
EN

Stack Overflow用户

发布于 2015-10-16 21:37:13

每当我升级Visual Studio时,这对我都是有效的-我不使用ribbons btw。

这对我的解决方案有效,但使用风险自负:

  1. 在xml编辑器中打开以下文件(首先创建备份):C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\OfficeTools\Microsoft.VisualStudio.Tools.Office.targets ( v10.0部分可能与您不同,例如可能是v14.0)
  2. 删除以下部分:

  • 将所有出现的"@(RibbonTypesCollection)"替换为"“4.保存文件并重新启动visual studio
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20220031

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档