Ошибка настроек приложения после изменения целевой структуры проекта

В моем приложении я использую пользовательские настройки, как описано здесь. Затем я понял, что в VS 2010 я использовал.NET 4.0, тогда как только.NET 2.0 было достаточно.

Когда я меняю фреймворк и собираю проект, при каждом обращении к настройке в моем коде я получаю следующую ошибку:

Произошла ошибка при создании обработчика раздела конфигурации для userSettings/Vegi_Manager.Properties.Settings: не удалось загрузить файл или сборку 'System, Version=4.0.0.0, Culture= нейтральный, PublicKeyToken=b77a5c561934e089' или одну из ее зависимостей. Система не может найти указанный файл. (C:\Users\AKSHAY\AppData\Local\Microsoft\Vegi-Manager.vshost.exe_Url_44035dlkzpfaaauiqsd4nh3f0l0yq0tv\1.0.0.0\user.config строка 5)

Это по неизвестным причинам использование версии 4.0. Пожалуйста, предложите, что мне делать.

5 ответов

Решение

Проверьте свой app.config может у тебя еще есть System.Configuration.UserSettingsGroup или что-то в этом роде версии 4 все еще скрывается, вам придется вручную редактировать и получать соответствующие для версии 2

У меня возникла та же проблема: я начал разработку надстройки для Outlook в Visual Studio 2010 для платформы.NET 4.0, а затем решил изменить ее на платформу 3.5. Кажется, Visual Studio НЕ был достаточно умен, чтобы обновить мой файл app.config, который все еще имел ссылку на 4.0.

Как предлагали предыдущие авторы (я буду чуть более конкретен), вручную отредактировав app.config, чтобы изменить все ссылки с "Version=4.0.0.0" на "Version=2.0.0.0" (по-видимому.NET 3.5 все еще использует 2.0.0.0) в <sectionGroup> элемент и его дочерние элементы, я смог заставить настройки работать снова в моем случае.

Вполне вероятно, что у вас есть ссылка на сборку.NET 4 в вашем решении - если вы откроете окно "Добавить ссылку" в своем решении и сделаете его немного шире, вы увидите, что есть столбцы для версии и времени выполнения... когда вы создавали свои решения для целевой платформы.NET 4, возможно, вы добавили ссылку на сборку, для которой требуется среда выполнения.NET 4, и теперь вы перешли на.NET 2, вам нужно поменять ее на сборку, которая требует только среда выполнения.NET 2.

Конечно, если вы использовали что-то из сборки.NET 4, которой не было в.NET 2, вам придется либо переписать, чтобы избежать ее использования, либо передумать и сделать это в.NET 4!

Могу ли я добавить, что вам нужно изменить данные app.config / ссылки на предыдущую платформу.NET (в данном случае 4.0.0.0) на новую версию.NET System refence (в данном случае 2.0.0.0, которая одинакова для.NET 3.5!)

Если вы откроете свой app.config, убедитесь, что все разделы конфигурации нацелены на.net framework 2, а не 4

если вы разместите свой app.config для меня, я могу помочь больше

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