.NET app.config вопрос
Я создал надстройку для Excel 2003, которая использует CLR 2.0, и эта надстройка должна быть установлена на сотнях компьютеров на сайте моего клиента. Проблема заключается в том, что на некоторых машинах, на которых установлена надстройка, запущены бок о бок.NET 1.1 и.NET 2.0, а плагин выдает ошибку при попытке загрузки.
Решение, с которым я столкнулся, заключается в том, чтобы создать файл excel.exe.config в той же папке, где находится файл excel.exe, в котором для версии supportRuntime установлено значение v2.0.50727.
Поскольку в моем случае это решение плохо масштабируется (поскольку надстройка должна использоваться на сотнях машин, где пользователи могут даже не иметь доступа для создания файла конфигурации), мне было интересно, смогу ли я добавить тот же параметр supportRuntime в моем плагине файл app.config, и это будет работать.
Если это не сработает, вы, ребята, знаете что-нибудь еще, что я мог бы попробовать?
2 ответа
Какое сообщение об ошибке вы получаете?
Проблема, которую вы описываете, не должна возникать в Office 2007. Однако это известная проблема для так называемых общих надстроек (надстроек.NET на основе интерфейса Extensibility.IDTExtensibility2 с использованием взаимодействия COM) в Office 2003.
Microsoft выпустила патч, который должен быть установлен для каждого пользователя, использующего надстройку. Вы можете получить патч здесь:
Решение с использованием файла конфигурации является нестандартным решением, но оно также должно устранить проблему, как указано в следующей статье:
Если вы хотите развернуть надстройку с помощью установщика MSI, вам следует проверить обновление поддержки общих надстроек для Microsoft .NET Framework 2.0 (KB908002) в качестве предварительного условия в свойствах проекта установки. Обратите внимание, что это исправление можно установить только для текущего пользователя, т. Е. Установка ALLUSERS должна быть отключена.
ОБНОВЛЕНИЕ: установка с VS 2008 немного сложнее. Посмотреть здесь:
Что ж, если есть сотни машин, я предполагаю, что существует групповая политика или какой-то другой метод запуска сценариев администратора или установочных файлов. Может быть, вы можете создать небольшой пакет MSI, чтобы вытолкнуть этот файл конфигурации или добавить его в сценарий запуска?