访问settings.settings时“配置系统无法初始化”

时间:2009-08-21 21:43:41

标签: c# visual-studio-2008 settings

自从删除原始的settings.settings文件以来,我遇到了无穷无尽的问题。我收到get或set方法的“配置系统初始化失败”错误。有任何想法吗?感谢。

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

    [global::System.Configuration.UserScopedSettingAttribute()]
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
    [global::System.Configuration.DefaultSettingValueAttribute("Keywords.log")]
    public string KeywordsLog {
        get {
            return ((string)(this["KeywordsLog"]));
        }
        set {
            this["KeywordsLog"] = value;
        }
    }

问题位于Settings.Designer.cs

中 阿德里安班克斯,我担心我不知道如何进一步调试?它已经打破了错误。给出的框的标题是“ConfigurationErrorsException”,如果这有任何帮助。

我道歉,我没有意识到你可以在VS中看到更多细节。

System.Configuration.ConfigurationErrorsException was unhandled
  Message="Configuration system failed to initialize"
  Source="System.Configuration"
  BareMessage="Configuration system failed to initialize"
  Line=0
  StackTrace:
       at System.Configuration.ClientConfigurationSystem.EnsureInit(String configKey)
       at System.Configuration.ClientConfigurationSystem.PrepareClientConfigSystem(String sectionName)
       at System.Configuration.ClientConfigurationSystem.System.Configuration.Internal.IInternalConfigSystem.RefreshConfig(String sectionName)
       at System.Configuration.ConfigurationManager.RefreshSection(String sectionName)
       at System.Configuration.ClientSettingsStore.ReadSettings(String sectionName, Boolean isUserScoped)
       at System.Configuration.LocalFileSettingsProvider.GetPropertyValues(SettingsContext context, SettingsPropertyCollection properties)
       at System.Configuration.SettingsBase.GetPropertiesFromProvider(SettingsProvider provider)
       at System.Configuration.SettingsBase.GetPropertyValueByName(String propertyName)
       at System.Configuration.SettingsBase.get_Item(String propertyName)
       at System.Configuration.ApplicationSettingsBase.GetPropertyValue(String propertyName)
       at System.Configuration.ApplicationSettingsBase.get_Item(String propertyName)
       at READOO.Properties.Settings.get_KeywordsLog() in C:\Users\USER\Documents\Visual Studio 2008\Projects\READOO\READOO\Properties\Settings.Designer.cs:line 31
       at READOO.SettingsWindow..ctor() in C:\Users\USER\Documents\Visual Studio 2008\Projects\READOO\READOO\SettingsWindow.cs:line 19
       at READOO.WelcomeWindow.Settings_Click(Object sender, EventArgs e) in C:\Users\user\Documents\Visual Studio 2008\Projects\READOO\READOO\WelcomeWindow.cs:line 23
       at System.Windows.Forms.Control.OnClick(EventArgs e)
       at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
       at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
       at System.Windows.Forms.Control.WndProc(Message& m)
       at System.Windows.Forms.ButtonBase.WndProc(Message& m)
       at System.Windows.Forms.Button.WndProc(Message& m)
       at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
       at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
       at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
       at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData)
       at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
       at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
       at READOO.Program.Main() in C:\Users\USER\Documents\Visual Studio 2008\Projects\READOO\READOO\Program.cs:line 18
       at System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)
       at System.Runtime.Hosting.ApplicationActivator.CreateInstance(ActivationContext activationContext, String[] activationCustomData)
       at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssemblyDebugInZone()
       at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
       at System.Threading.ThreadHelper.ThreadStart()
  InnerException: System.Configuration.ConfigurationErrorsException
       Message="Section or group name 'READOO.Properties.Settings' is already defined. This can not be defined multiple times. (C:\\Users\\USER\\Documents\\Visual Studio 2008\\Projects\\READOO\\READOO\\bin\\Debug\\READOO.exe.config line 6)"
       Source="System.Configuration"
       BareMessage="Section or group name 'READOO.Properties.Settings' is already defined. This can not be defined multiple times."
       Filename="C:\\Users\\USER\\Documents\\Visual Studio 2008\\Projects\\READOO\\READOO\\bin\\Debug\\READOO.exe.config"
       Line=6
       StackTrace:
            at System.Configuration.ConfigurationSchemaErrors.ThrowIfErrors(Boolean ignoreLocal)
            at System.Configuration.BaseConfigurationRecord.ThrowIfInitErrors()
            at System.Configuration.ClientConfigurationSystem.EnsureInit(String configKey)
       InnerException: 

@ joan - >寒意。

3 个答案:

答案 0 :(得分:8)

这将是你的线索:

  

已定义了部分或组名'READOO.Properties.Settings'。这不能多次定义。 (C:\ Users \ Dylan \ Documents \ Visual Studio 2008 \ Projects \ READOO \ READOO \ bin \ Debug \ READOO.exe.config第6行)

您的<section name="READOO.Properties.Settings">定义中可能有2 <configSections>个元素位于该配置文件中。

重复条目很可能在所述配置文件的第6行。

答案 1 :(得分:5)

它也发生在我身上。解决方案是删除Users \ yourUserName \ AppData \ Local \ YourAppName。

中的所有内容

似乎某些设置被保存为用户设置范围,然后你转向(在Settings.settings设计器中)它是应用程序设置的东西弄乱了,VS不知道从哪里取设置值

现在,如果您只是将一些设置添加为用户范围设置,然后将其设置为应用程序范围设置(无需以编程方式更改和保存) - 一切正常。 但是,如果使用Properties.Settings.Default.Save()保存设置,然后尝试将其转换为应用程序范围,则会导致问题。

希望它有所帮助。

答案 2 :(得分:0)

这个问题是3岁但问题永远不会变老..以防万一 有人偶然发现了这个......

我从复制配置部分时遇到了同样的问题 一个项目进入另一个项目的app.config并且无法复制 完整的命名空间..

<membership>
    <providers> ..

而不是

 <system.web>
   <membership>
       <providers> .. 

确保使用全套。