3

2.0 .Net フレームワークを使用して、C# Visual Studio 2010 で小さなプログラムを作成しています。App.config ファイルから値を読み取ろうとしています。私の設定ファイルは次のようになります...

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
      <section name="MyApp.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
    </sectionGroup> 
  </configSections>
  <applicationSettings>
    <add key="Path" value ="C:\Program Files\MyApp\bin\" />
    <add key="UserName" value="UserName" />
    <add key="Pword" value="Password" />
  </applicationSettings>
</configuration>

次に、私のコードで:

path = ConfigurationManager.AppSettings["Path"];

「構成システムの初期化に失敗しました」という実行時エラーが発生します。私が読んだことから、configSectionはファイルの最初にある必要がありますが、これを行ってもエラーが発生します。

4

6 に答える 6

1

私はそれを解決しました、タグapplicationSettingsは と呼ばれるべきappSettingsです。sectionGroupそして、これだけを残してタグを取り除くことができます。

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
  </configSections>
  <appSettings>
    <add key="Path" value="C:\Program Files\MyApp\bin\" />
    <add key="UserName" value="username" />
    <add key="Pword" value="password" />
  </appSettings>
</configuration>
于 2012-05-23T00:25:56.913 に答える
0

構成ファイルが壊れていて、読み取ることができない可能性があります。既存の .Config ファイルを削除し、同じ名前と設定で新しいファイルを作成します。

同じ練習をすることで、何度も同じ問題を解決してきました。

         <add key="Path" value ="C:\\Program Files\\MyApp\bin\\" />

コードで複数のパスを使用する場合は、結合パスを使用します

于 2012-05-22T06:12:16.987 に答える
0

下の画像を確認してください... キーをタグに追加する必要があります。

ここに画像の説明を入力

于 2013-05-06T09:21:19.400 に答える
0

これが非常に遅い追加であることは知っていますが、他の誰かの助けになるかどうかを考えただけです. 「applicationSettings」の使用に関しては、今日の時点で「applicationSettings」の「設定」と「appSettings」の「追加」を混在させることはできないことに注意してください。

<setting name="Name You choose" serializeAs="String">
        <value>True</value>
      </setting>

<add key="Name You choose" value="1000" />

同じ App.config ファイル内。

于 2016-09-01T10:06:12.940 に答える
0

バックスラッシュをエスケープする必要があります。いえC:\Program Files\MyApp\bin\はなるC:\\Program Files\\MyApp\\bin\\

于 2012-05-22T05:52:53.767 に答える