Ошибка: эта сборка построена с помощью среды выполнения, более новой, чем текущая загруженная среда выполнения
Я загрузил опубликованное (код за файлами нет там, в сочетании с dll в папке bin) веб-приложение из Window Server 2008, где он размещен, и откройте его с помощью Visual Studio, когда я отлаживаю это приложение, он показывает следующую ошибку:
"Не удалось загрузить сборку, потому что эта сборка построена с использованием среды выполнения, более новой, чем текущая загруженная среда выполнения
Я не знаю, как я могу решить эту проблему и протестировать приложение локально.
Пожалуйста, помогите мне.
Ответы
Ответ 1
Эти ошибки возникают, когда используемая DotNet framework используется более старая версия, чем используемая для сборки сборки. Вам нужно проверить, какая версия фреймворка используется для сборки этих сборок, а затем использовать то же самое или выше для отладки тоже.
Ответ 2
Я получал эту же ошибку при запуске установщика для службы Windows, даже при запуске установщика на ПК, на котором был установлен установщик.
Оказалось, что хотя проект службы Windows был обновлен до .NET 4.5, проект установки, создавший установщик, по-прежнему настроен на использование .NET 2.0.
Чтобы проверить, использует ли проект установки более старую версию .NET, чем проект, который будет установлен, в обозревателе Visual Studio:
-
Разверните проект установки;
-
В проекте Setup разверните Обнаруженные зависимости;
-
В разделе Обнаруженные зависимости выберите Microsoft.NET Framework и проверьте свойство Версия. В раскрывающемся списке выберите подходящую версию .NET;
-
Восстановите проект установки, чтобы создать новую версию установщика.
Ответ 3
У этой ошибки может быть много других причин. У меня была та же проблема, и ничего не помогло, пока я не наткнулся на это:
Ошибка TlbExp.exe: эта сборка построена с помощью среды выполнения
Ответ 4
Я просто столкнулся с этой проблемой, когда сборка была построена с целевой платформой .NET 4 и v4.0.30319 была установлена на сервере, а другие приложения 4.0 успешно работали.
Проблема возникла из-за того, что приложение первоначально было настроено с таргетингом на 2.0, а новые сборки 4.0 были перенесены, но не файл app.config, который мы обычно обновляем отдельно.
Это означает, что атрибут supportedRuntime
не был обновлен в конфигурации и вызвал ошибку. Добавление в app.config следующего содержания:
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup>
Ответ 5
Одна ссылка на сборки в проекте может быть построена с использованием более новой версии .net, проверить версию каждой ссылки на сборку и соответственно исправить.
Ответ 6
Также проверьте пул приложений, на котором работает этот веб-сайт. Это может быть стандартная версия 2.0 на некоторых старых серверах Windows. Измените его на фреймворк 4.0.