Visual Studio 2010: свойства. Параметры нарушены после перенаправления проекта на .NET Framework 3.5 - PullRequest
3 голосов
/ 15 ноября 2011

Я изменил проект на целевой

  • .NET Framework 3.5

вместо

  • .NET Framework 4.

Проект теперь падает, когда я пытаюсь получить доступ к настройкам:

Settings.Designer.cs:

      return ((global::System.Drawing.Font)(this["DefaultFont"]));

За исключением `global :: System.Drawing.Font) (this [" DefaultFont "]));

Произошла ошибка при создании обработчика раздела конфигурации для applicationSettings / GrobManagementSystem.Properties.Settings: Не удалось загрузить файл или сборку 'System, Version = 4.0.0.0, Culture = нейтральный, PublicKeyToken = b77a5c561934e089' или одной из ее зависимостей. Система не может найти указанный файл. (C: \ Develop \ Contoso \ GrobFrobber выделенный текст \ GrobManagementSystem \ GrobManagementSystem \ bin \ Debug \ GrobManagementSystem.vshost.exe.config строка 8)

Проблема в том, что MyApp.exe.config содержит ссылки на .NET Framework 4.0 (4.0.0.0):

<?xml version="1.0"?>
<configuration>
    <configSections>
        <sectionGroup name="userSettings" 
              type="System.Configuration.UserSettingsGroup, System, 
                    Version=4.0.0.0, 
                    Culture=neutral, PublicKeyToken=b77a5c561934e089">

Этот файл создается при каждой сборке и основан на содержимом Settings.settings (xml-файл, в котором нигде не упоминается 4.0.0.0):

<?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" GeneratedClassNamespace="GrobManagementSystem.Properties" GeneratedClassName="Settings">
  <Profiles />
  <Settings>

Также имеется файл кода настроек (Settings.Designer.cs), который также нигде не упоминает 4.0.0.0:

namespace GrobManagementSystem.Properties {


    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "10.0.0.0")]
    internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {

        private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));

        public static Settings Default {
            get {
                return defaultInstance;
            }
        }

Почему сгенерированный MyApp.exe.config ссылается на .NET 4.0 (т.е. 4.0.0.0), когда проект не 4.0:

enter image description here

а дизайнеры не 4.0?

И большой вопрос:

Как перенастроить проект на .NET Framework 3.5 с .NET Framework 4.0 ?

1 Ответ

3 голосов
/ 15 ноября 2011

Нашли ответ , удалите app.config.

app.config автоматически создается на основе settings.settings. Visual Studio не создавал его, хотя его нужно было обновить.

Примечание : Очистка и восстановление не заставляют Visual Studio очищать и восстанавливать его

Удаляя его, чтобы заставить Visual Studio перестраивать, он исправлял его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...