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

w3nuxt5m  于 2022-09-20  发布在  Jenkins
关注(0)|答案(0)|浏览(183)

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

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外接程序构建目标触发的“FindRibbons”任务已成功地将MyAddIn DLL标识为Office外接程序,但无法定位和加载它!

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

以下是一些观察结果:

  • 在我们的构建服务器的用于绑定MyAddIn程序集的Fusion日志中,它看起来像是在MSBuild.exe所在的文件夹(C:WindowsMicrosoft.NETFrameworkv4.0.30319)中查找,而不是在其他地方查找。在我的开发机器上,没有MyAddIn的Fusion日志条目!但构建过程成功了,Kivo工作得很好。
  • 在我的开发和构建机器上,我还有WhereRefBind!Host=(LocalMachine)!FileName=(PresentationCore.dll)ExplicitBind!FileName=(MyAddIn.dll)的Fusion日志条目,它们显示绑定成功。
  • 无论我从命令行使用Visual Studio还是MSBuild来生成项目,生成服务器上都会出现此错误。
  • 我已确保.NET/MSBuild/VS2012版本在我的开发计算机和构建服务器上是相同的,但仍然出现错误。唯一的区别似乎是构建服务器运行的是Windows Server 2012(因为它是Azure,我们不能启动Windows 7镜像)。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题