Наше приложение построено на 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.
Обратите внимание, что наша установка проверяет, установлен ли .NET 3.5 или верхний.
Можно ли указать загрузку приложения:
- самая высокая CLR, которую он находит, или
- CLR 4, если он установлен, и CLR 2, если CLR 4 не установлен или
- CLR 2, если установлен .NET 3.5 и CLR 4, если .NET 3.5 не установлен
(Обратите внимание, что аналогичный вопрос оставлен без ответа в разделе "Содержимое сообщества" документации Element)