Мы пытаемся настроить работу Jenkins (build server) для создания надстройки Office на основе VSTO. Тем не менее, я продолжаю получать странную ошибку, которая терпит неудачу в процессе сборки после того, как 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'
Таким образом, проблема заключается в том, что задача "FindRibbons", инициированная целевой установкой надстройки Office, успешно идентифицировала DLL MyAddIn как надстройку Office, но не может ее найти и загрузить!
Любые идеи? Я хотел бы иметь возможность отлаживать задачу FindRibbons напрямую, но включение и отладка процесса компиляции кажется немного экстремальным...
Вот несколько замечаний:
- В нашем сервере сборки Журналы Fusion для привязки сборки MyAddIn выглядят как в папке, где живет MSBuild.exe(
C:\Windows\Microsoft.NET\Framework\v4.0.30319\
) и нигде больше. На моей машине Dev нет записи журнала Fusion для MyAddIn! Но процесс сборки преуспевает, и Kivo отлично работает. - На обеих моих машинах dev и build у меня также есть записи журнала Fusion для
WhereRefBind!Host=(LocalMachine)!FileName=(PresentationCore.dll)
иExplicitBind!FileName=(MyAddIn.dll)
, которые показывают привязку. - Эта ошибка возникает на сервере сборки, использую ли я Visual Studio или MSBuild из командной строки для создания проекта.
- Я убедился, что версии .NET/MSBuild/VS2012 идентичны как на моей машине dev, так и на сервере сборки, и ошибка все еще происходит. Единственное отличие состоит в том, что сервер сборки работает под управлением Windows Server 2012 (так как он Azure, и мы не можем развернуть образ Windows 7).