29

私のwinformアプリでは、appSettingsでもエラーが発生していますが、userSettingを追加しようとしています。設定が追加されると、「構成システムの初期化に失敗しました」という例外がスローされ、内部例外「認識されない構成セクション userSetting」が発生します。

例外の詳細:

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.ConfigurationManager.PrepareConfigSystem()
       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 Settings.get_ApplicationData() in \Properties\Settings.Designer.cs:line 41
       at Common.Initialize.IsSettingsInitialized() 
       at SurveyClient.Program.Main() 
       at System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)
       at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
       at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
       at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
       at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
       at System.Threading.ThreadHelper.ThreadStart()
  InnerException: System.Configuration.ConfigurationErrorsException
       Message="Unrecognized configuration section userSettings.
       Source="System.Configuration"
       BareMessage="Unrecognized configuration section userSettings."
       Line=3
       StackTrace:
            at System.Configuration.ConfigurationSchemaErrors.ThrowIfErrors(Boolean ignoreLocal)
            at System.Configuration.BaseConfigurationRecord.ThrowIfParseErrors(ConfigurationSchemaErrors schemaErrors)
            at System.Configuration.BaseConfigurationRecord.ThrowIfInitErrors()
            at System.Configuration.ClientConfigurationSystem.OnConfigRemoved(Object sender, InternalConfigEventArgs e)
       InnerException: 
4

12 に答える 12

31

いくつかのユーザー設定があり、それらをすべて削除すると、この例外が発生し始めましたが、デバッグなしでアプリを実行している場合のみです。アプリをデバッグするとうまくいきました。これは、ユーザー レベルの設定が Local Application Data フォルダーに「キャッシュ」されており、実際には MYAPP.exe.config から読み取られないためです。だから私がしたことは、 C:\Users\MYUSERNAME\AppData\Local\MYCOMPANY\MYAPP.exe_Url_longnastyhash9982749827349879\1.0.0.0\user.config (これは Win7 上にあり、パスは OS によって異なります) に移動し、そのフォルダーを削除しました (長いハッシュ) 全体。例外はなくなりました。ところで、設定のセットアップ方法によっては、この user.config ファイルが \AppData\Local または \AppData\Roaming の下にある場合があります。

于 2012-03-02T16:47:09.993 に答える
27

app.config (デプロイされた myapp.exe.config) ファイルが存在し、上部にあることを確認してください (おそらく他のビットと一緒に)

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<sectionGroup name="userSettings"
    type="System.Configuration.UserSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
</sectionGroup>
于 2009-01-14T14:56:23.397 に答える
5

以下のように App.Config を(ばかげて)書くと、このエラーが発生します。

<?xml version="1.0" encoding="utf-8" ?>
<configuration>

<!--List of XMLFiles Begins -->
    <add key="ConfigFileEnvironment" value="C:\Program Files\MyProduct\Config\Environment.xml" />
<!--List of XMLFiles Ends -->

</configuration>

appSettings がないことに注意してください。よくこんな間違いをしていたな…

于 2010-10-25T09:30:29.617 に答える
4

すべての userSettings を削除したときに、このメッセージが表示されるようになりました。単一の userSetting を設定ファイルに追加することで修正できました。

于 2011-06-06T16:06:05.783 に答える
2

machine.config にゴミがあり、それがこのエラーの原因でした。例外スタック トレースを探して、同じ問題があるかどうかを確認します。それは本質的に不正な形式の XML でした。

于 2011-12-09T03:38:56.473 に答える
2

今日、この問題が発生し、App.config に 2 番目のカスタム構成セクションを誤って (誤って言うまでもなく) 追加したことがわかりました。誤った追加を削除すると、アプリケーションを問題なく実行し続けることができました。

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <section name="ABCConfig" type="ABC.Configuration.ABCConfigurationSection, ABC"/>
    <!-- Other custom section definitions -->
  </configSections>
  <connectionStrings>
      <!-- Connection strings go here -->
  </connectionStrings>

  <!-- Configure ABC -->
  <ABCConfig CustomA="blah" CustomB="stuff" />

  <!-- Other custom sections -->

  <!-- Errant addition to Configure ABC which causes the problem - SHOULD NOT BE HERE -->
  <ABCConfig CustomA="blah" CustomB="stuff" />

</configuration>

2 番目の ABCConfig セクションを削除すると、問題が解決しました。お役に立てれば!

于 2012-05-02T19:21:06.930 に答える
2

クリーンソリューション app.config と同様に、現在存在するすべての設定ファイルを削除します VS を閉じます 手動で入力して、プロジェクトの bin フォルダーと obj フォルダーをクリアします PC を再起動します 「アプリケーション構成ファイル」を再度追加します

于 2011-02-09T20:48:41.227 に答える
1

おそらく問題は、構成ファイルがそのスキーマに準拠していないことです。たとえば、この問題は ConnectionStrings セクションを複製することで再現できます。

于 2009-06-18T13:04:08.027 に答える
0

問題の修正を見つけたのでここに投稿しましたが、ここにリストされていません.... メイン構成ノードの下に appSettings タグを追加しました。実行すると、OP と同じエラーが発生しました。それを修正したのは、configSections ノードが appSettings ノードの前にあることを確認することでした。 ここに画像の説明を入力

于 2017-08-22T18:39:30.147 に答える
0

1 つのアプリケーション設定スコープを (「アプリケーション」から「ユーザー」に) 変更したため、この問題が発生しました。問題を解決する解決策が見つからなかったため、設定ファイルをソリューション エクスプローラーから削除することにしました。その後、プロパティを開き、「設定」タブで、設定ファイルを作成するように提案された場所をクリックしました。そして、以前の設定ファイルに定義した値を使用して、新しい設定ファイルが作成されました。プロジェクトを再構築しましたが、うまくいきました。

于 2012-06-06T10:31:32.553 に答える