21

私の c# フォーム アプリケーション (.NET 4.0 を使用して VS2010 で作成) では、アプリケーション設定を使用して出力パスを保存します。

以前は、この設定はユーザー スコープで構成されていましたが、そのスコープをアプリケーションに変更する必要がありました。

これを行った後、フォームの起動時にUnrecognized configuration section userSettingsエラーが発生するようになりました (設定のスコープがユーザーに設定された状態でプログラムが以前に実行されたことに注意してください)。

InnerException: System.Configuration.ConfigurationErrorsException
   Message=Unrecognized configuration section userSettings. (C:\Documents and Settings\Administrator\Local Settings\Application Data\CallCenterForm\CallCenterForm.vshost.exe_StrongName_bplf30wziudnpq0knzaacfuyomd5rv45\1.0.0.0\user.config line 3)
   Source=System.Configuration
   BareMessage=Unrecognized configuration section userSettings.
   Filename=C:\Documents and Settings\Administrator\Local Settings\Application Data\CallCenterForm\CallCenterForm.vshost.exe_StrongName_bplf30wziudnpq0knzaacfuyomd5rv45\1.0.0.0\user.config

そのため、いくつかのブラウジングを行った後、これは古い user.config ファイルがシステムにまだ存在していることが原因であると思われ、プログラムがそれを読み取ってエラーをスローします (実際の根本的な問題が何であるかはわかりません)。ファイルを削除すると問題が解決することも確認できます。

プログラムが複数のシステムで既に運用されているため、手動で削除することは理想的ではないため、古い user.config ファイルを読み取らないようにプログラムを変更する方法はありますか?

これがカバーされている場合は申し訳ありませんが、答えが見つかりませんでした。

参考になる場合は、私の App.config ファイルの内容を次に示します。

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
      <section name="CallCenterForm.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
    </sectionGroup>
  </configSections>
  <startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0"/>
  </startup>
  <applicationSettings>
    <CallCenterForm.Properties.Settings>
      <setting name="saved_output_dir" serializeAs="String">
        <value>c:\</value>
      </setting>
    </CallCenterForm.Properties.Settings>
  </applicationSettings>
</configuration>
4

5 に答える 5

8

user.configもあった場合、App.configはどのように使用されていましたか?<sectionGroup name="userSettings" ... >以前の宣言方法をまだ宣言する必要があると思います。

于 2012-11-08T22:32:06.493 に答える
5

アプリのユーザー設定が保存されている現在のディレクトリに移動することで、エラーを修正できます。これは、%system%\users\your_user\AppData\Local\Microsoft\YourApp.vshost.######\version にあります。または user.config ファイルを削除し、ソリューションをクリーンアップして、すべてを再構築します。これで問題は解決するはずです。

于 2019-02-06T04:49:02.423 に答える
1

同じ問題がありました。ソリューションをクリーンアップして再構築する必要がありました。これで問題は解決しました。

于 2016-09-15T08:57:03.223 に答える