2011-12-11 2 views
3

些細な疑問に思えますが、驚いたことに、廃止予定の機能を使用していくつかのプロパティを追加する方法を説明するthis oneのような解決策がいくつか見つかりました。私はむしろ1つを編集したいと思う。だから、それは.NET 4.0でどのように行われたのですか?flyでapp.configを変更する

具体的には、<connectionStrings>プロパティでデータベースの場所を設定する必要があります。

+0

あなたが書き込むことはできませんを印刷し、私のPC上で.configファイルにUACが停止します。昇格したコマンドプロンプトからエディタを実行する管理者が直接編集することを意図しています。アプリケーションスコープの設定は、自分で編集したいときに役立ちません。それをユーザースコープ設定(接続文字列では不自然)にするか、.xmlファイルで自分のスピンを回転させるだけです。 –

答えて

1

このコードはthis blog postから構成されていると.NET 4でテスト:

using System; 
using System.Configuration; 

class Program 
{ 
    static void ShowConfig() 
    { 
     // For read access you do not need to call the OpenExeConfiguraton 
     foreach (ConnectionStringSettings item in ConfigurationManager.ConnectionStrings) 
     { 
      Console.WriteLine("Key: {0}, Value: {1}", item.Name, item.ConnectionString); 
     } 
    } 

    static void Main(string[] args) 
    { 
     ShowConfig(); 

     var config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); 

     var conSettings = new ConnectionStringSettings("NewName", "New connstring value"); 
     config.ConnectionStrings.ConnectionStrings.Add(conSettings); 
     config.Save(ConfigurationSaveMode.Modified); 
     ConfigurationManager.RefreshSection("connectionStrings"); 

     Console.WriteLine("===UPDATE==="); 
     ShowConfig(); 

     Console.Read(); 
    } 
} 

App.configを

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <connectionStrings> 
     <add name="db1" connectionString="blah"/> 
    </connectionStrings> 
</configuration> 

それは

 
Key: LocalSqlServer, Value: data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true 
Key: db1, Value: blah 
===UPDATE=== 
Key: LocalSqlServer, Value: data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true 
Key: db1, Value: blah 
Key: NewName, Value: New connstring value 
+0

"using"ディレクティブを投稿することもできますか?私のアプリケーションでConfigurationManagerを取得できません – Arnthor

+0

@ Nordvindが完了しました。 'System.Configuration.dll'への参照を追加する必要があります。 – oleksii

関連する問題