Ошибка настроек приложения после изменения целевой структуры проекта - PullRequest
16 голосов
/ 20 июня 2011

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

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

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

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

Ответы [ 5 ]

19 голосов
/ 20 июня 2011

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

9 голосов
/ 02 февраля 2013

У меня возникла та же проблема: я начал разработку надстройки для 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> и его дочерних элементах, и я смог снова настроить параметры в моем случае.

4 голосов
/ 20 июня 2011

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

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

3 голосов
/ 09 апреля 2012

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

2 голосов
/ 20 июня 2011

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

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

...