Сборка смешанного режима построена для версии X и не может быть загружена в версии Y среды выполнения без дополнительной информации о конфигурации

После некоторого рефакторинга кода мой проект веб-приложения VB.Net VS2010 перестал компилироваться со следующей ошибкой:

"Сборка смешанного режима построена на версии v1.1.4322 среды выполнения и не может быть загружена во время выполнения 4.0 без дополнительной информации о конфигурации".

В столбце "Файл" списка ошибок Visual Studio есть слово "SGEN", но когда я дважды щелкаю, файл не существует ("Документ не может быть открыт. Он был переименован, удален или перемещен".) Я так понимаю, что это как-то связано с сериализацией, но какова дополнительная информация о конфигурации? Я потратил несколько часов на изучение ошибки, и все говорят, что добавили следующее на вкладку конфигурации файла app.config:

<startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>

Тем не менее, я добавил это к каждому файлу конфигурации, который я мог найти или создать, и пока это не помогло.

Я подозреваю, что частью проблемы могут быть Crystal Reports, библиотеки DLL для которых действительно созданы на основе v1.1.4322 точечной сети.

В какой файл конфигурации я должен добавить конфигурацию legacyRuntime? Это даже правильное решение?

1 ответ

Решение

Я получил проект для компиляции, изменив "Сгенерировать сборки сериализации" с "Авто" на "Выкл" в конфигурации моего приложения. Советы по использованию useLegacyV2RuntimeActivationPolicy по всему Интернету в моей ситуации казались красной селедкой.

Другие вопросы по тегам