Я разработал надстройку Office 2007 C #. Он использует clickonce для развертывания. В системах с Office 2010 все в порядке, но на компьютере с XP SP3, NET 3.5sp1 и Office 2007 я получаю странную ошибку загрузки сборки.
Моя надстройка напрямую не ссылается на Microsoft.Office.Interop.SmartTag.dll
. На него ссылается Microsoft.Office.Tools.Commmon.v9.0.dll
- на который ссылается моя надстройка.
Когда надстройка установлена с помощью clickonce, появляется сообщение об ошибке, что Microsoft.Office.Interop.SmartTag.dll
не может быть найден в локальной папке установки моей надстройки. И Microsoft.Office.Tools.Commmon.v9.0.dll
, и Microsoft.Office.Interop.SmartTag.dll
находятся в GAC с правильными версиями.
Я использовал Reflector
, чтобы попытаться обнаружить проблему, но он легко разрешает ссылку Microsoft.Office.Interop.SmartTag.dll
путем нахождения DLL в GAC.
Каковы возможные причины сбоя установки clickonce? Необходимые сборки присутствуют, но GAC, очевидно, не консультируется.
Я обнаружил, что добавление |vstolocal
к значению реестра Manifest заставляет все работать как положено, но все же мне интересно, почему я вообще получил ошибку.