Вот моя дилемма:
Проблема
- У меня есть подпрограмма (DLL), которая использует System.Data.SQLite, и оба скомпилированы в .NET 2.0
- Моя основная программа (EXE) скомпилирована в .NET 4.0
- Моя основная программа загружает подпрограмму в отдельный домен приложения и связывается с прокси
Очевидно, что MainProgram загружает подпрограмму и запускает ее с .NET 4.0. Это вызывает известную проблему с System.Data.SQLite .
Теперь я исследовал и попробовал все предложенные исправления для проблемы SQLite, и единственное, что сработало, было обновление до сборки System.Data.SQLite, скомпилированной с использованием .NET 4.0 (см. Версию .NET 4.0 в ссылка ).
Это решило бы мою проблему, только у нас есть строгий набор правил для выпуска и мы не выпускаем SubProgram или его зависимости каким-либо образом, поэтому DLL-библиотека System.Data.SQLite, которую использует SubProgram, должна оставаться текущей .NET 2.0 версия.
Вопрос (ы)
Есть ли способ указать, что MainProgram загружает и запускает SubProgram, используя .NET 2.0? Может быть, что-то при настройке домена приложения? Пока ничего не могу найти.
Есть ли другое решение?