2009-02-17 4 views
1

У меня есть .NET DLL, которая установлена ​​в GAC, так как она используется несколькими приложениями.Excel ссылка на .NET DLL перерывы с новой версией

Одна из них - это книга Excel, которая ссылается на DLL с помощью средства COM-взаимодействия .NET. Файл COM tlb устанавливается в каталог приложения.

Все это работает отлично, за исключением случаев, когда установлена ​​обновленная версия DLL. На некоторых компьютерах ссылка COM в рабочей книге ломается (она отображается как «Отсутствует»). Запуск соответствующего макроса приведет к сбою Excel. Это можно устранить, отключив отсутствующую ссылку в редакторе VBA и повторно добавляя ссылку на DLL, но я предпочел бы, чтобы мои пользователи не должны были делать это каждый раз, когда они открывают ее.

Все соответствующие объекты и методы имеют неизменные подписи и украшены неизменными идентификаторами GUID.

Любые идеи, почему эта ссылка ломается?

EDIT: после некоторого расследования в реестре, похоже, что регистрация COM не выполняется правильно при установке. Однако это не показало сбоя установки. Тем не менее, все же не ближе к поиску основной причины.

ответ

0

У нас также были проблемы; как таковые, наши патч-программы всегда запускают gacutil.exe/cdl для очистки кеша загрузки. Решение не имело для нас смысла, поскольку мы не загружали наши сборки через браузер, но это помогло. Чтобы узнать, поможет ли вам, попробуйте запустить gacutil.exe/l, чтобы узнать, находится ли ваша сборка в кеше загрузки.

Также обратите внимание, что по какой-либо причине gacutil не перераспределяется с помощью фреймворка, поэтому сначала вам нужно скопировать его в соответствующую систему.

+0

Спасибо за отзыв, но это не помогло с этой конкретной проблемой. –

 Смежные вопросы

  • Нет связанных вопросов^_^