我们正在尝试设置一个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 add-in build目标触发的"FindRibbons“任务已经成功地将Office标识为Office Add-In,但无法定位和加载它!
有什么想法吗?我希望能够直接调试FindRibbons任务,但是挂接和调试编译过程似乎有点极端……
以下是一些观察结果:
C:\Windows\Microsoft.NET\Framework\v4.0.30319\
)中查找,而不是在其他地方查找。在我的开发机器上,没有MyAddIn的融合日志条目!在我的开发和构建机器上,我也有WhereRefBind!Host=(LocalMachine)!FileName=(PresentationCore.dll)
和ExplicitBind!FileName=(MyAddIn.dll)
的融合日志条目,它们显示了构建服务器上的绑定succeeding.ExplicitBind!FileName=(MyAddIn.dll)
来构建project.发布于 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解决了这个问题。
发布于 2015-07-14 18:23:22
如果您从以前版本的Visual Studio迁移项目,请确保从AssemblyInfo.cs文件中删除ExcelLocale1033和SecurityTransparent属性(正如Swati在另一个question中回答的那样)
如果项目仍然无法生成,这可能是因为您的.csproj文件引用了以前版本的Visual Studio的msbuild任务。我建议您创建一个新的空的Excel项目,并使用新项目文件的msbuild结构作为项目的基础。
发布于 2015-10-16 21:37:13
每当我升级Visual Studio时,这对我都是有效的-我不使用ribbons btw。
这对我的解决方案有效,但使用风险自负:
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\OfficeTools\Microsoft.VisualStudio.Tools.Office.targets
( v10.0部分可能与您不同,例如可能是v14.0)"@(RibbonTypesCollection)"
替换为"“4.保存文件并重新启动visual studiohttps://stackoverflow.com/questions/20220031
复制相似问题