Наше приложение построено с использованием VS 2008, использует Linq и для Target Framework установлено значение .NET Framework3.5.
Работает нормально, если на компьютере установлен только .NET 3.5 или 4.
Однако на машинах, на которых установлены как .NET 2 (или 3.0), так и .NET 4, приложение загружается с помощью .NET 2 и аварийно завершает работу при доступе к Linq при поиске библиотек .NET 3.5.
Использование тега в app.config, похоже, не помогает, поскольку оно указывает версию CLR, которая равна 2 в случае .NET 3.5.
Обратите внимание, что наша установка проверяет, что .NET3.5 или выше установлен.
Есть ли способ сообщить приложению о загрузке:
- наивысший CLR , который он находит, или
- CLR 4 , если он установлен, и CLR 2 , если CLR 4 не установлен, или
- CLR 2 , если установлен .NET 3.5установлен и CLR 4 , если не установлен .NET 3.5
(Обратите внимание, что аналогичный вопрос остается без ответа в thРаздел «Содержимое сообщества» документации Элемента )