2009-06-02 19 views
10

私はプログラムを持っています。また、サーバーに接続するためのサーバーアドレス、ユーザー名、パスワードなどのキーを追加したapp.configファイルもあります。これはコンソールアプリケーションです。今私は私が行ったUIを作りたいと思う。そのUIでは、プログラムのapp.configの内容を変更したいと考えています。それ、どうやったら出来るの?他のプログラムの設定ファイルを開く

これは私が試したことですが、私はUI(基本的には.exe)をAのディレクトリにコピーしました。そこにはapp.configもあります。その後、UIでConfigurationManagerクラスのOpenExeConfigurationメソッドを使用し、Aのファイル名を引数として渡します。しかし、タイプSystem.Configuration.ConfigurationErrorsExceptionの例外がスローされます。

私のアプローチは間違っていると思います。どうすればいい?

EDIT:ああ、私はC#を使用してい伝えるのを忘れて、.NET 3.5とVS 2008(それは場合に役立ちます:D)を

+0

OpenExeConfigurationの呼び出しのコードサンプルと例外の詳細については、追加できますか? –

答えて

14

私は(追加してみてください、あなたのアプローチの問題についてはよく分かりませんあなたの投稿へのスタックトレース)しかし、これは私がそれを行う方法です:

var configMap = 
    new ExeConfigurationFileMap 
    { 
     ExeConfigFilename = externalConfigurationFile 
    }; 
System.Configuration.Configuration externalConfiguration = 
    ConfigurationManager.OpenMappedExeConfiguration(
     configMap, 
     ConfigurationUserLevel.None); 

foreach (var setting in externalConfiguration.AppSettings.Settings) 
{ 
    ... 
} 

externalConfiguration.Save(ConfigurationSaveMode.Full); 
+1

私は最後の行はcurrentConfiguration.SaveではなくexternalConfiguration.Saveであるべきだと思います。 –

+0

ありがとう、ありがとう。 –

関連する問題