Сборка смешанного режима построена для версии 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 по всему Интернету в моей ситуации казались красной селедкой.