Я поддерживаю приложение .NET, которое было скомпилировано на ПК с установленной ArcGIS 10.1. Приложение содержит пользовательский интерфейс и расширение рабочего стола ArcGIS, а также сборку установщика, которая вызывается установщиком Windows для регистрации расширения рабочего стола во время установки.
У меня проблема в том, что приложение не будет работать на ПК с ArcGIS 10.2, потому что сборки ESRI 10.1 не найдены, поэтому происходит сбой. Похоже, что начиная с версии 9.3 ESRI больше не предоставляет файлы политик издателя для перенаправления программы во время выполнения к последним версиям.
Мне удалось перенаправить программу для загрузки сборок 10.2, добавив привязку сборки во время выполнения в .exe.config приложения. Однако это не перенаправляет расширение рабочего стола и не решит проблему с установщиком, ищущим библиотеки 10.1 при установке приложения.
Решение ESRI состоит в том, чтобы перекомпилировать приложение каждый раз, когда выпускается новая версия ArcGIS. Однако это означает, что мне потребуется копия каждой версии ArcGIS, которую используют конечные пользователи. И мне придется удалять и переустанавливать разные версии каждый раз, когда мне нужно изменить код приложения, чтобы перекомпилировать его.
У кого-нибудь есть предложения? Могут ли библиотеки загружаться динамически во время выполнения, чтобы избежать поиска конкретной версии? Есть ли другое решение?