接続文字列を格納するための構成ファイルがwpfプロジェクトにあります。しかし、AppSettingsとConnectionStringsを取得しようとすると、nullになります。
wEB.configファイルは次のようになります。
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<connectionStrings>
<add name="Trackboard" connectionString="Data Source=(localdb)\v11.0;Initial Catalog=Trackboard;Integrated Security=True;AttachDbFileName=E:\Users\Sean\Workspace\DATABASE\Trackboard.mdf"/>
</connectionStrings>
<appSettings>
<add key="Trackboard" value="Data Source=(localdb)\v11.0;Initial Catalog=Trackboard;Integrated Security=True;AttachDbFileName=E:\Users\Sean\Workspace\DATABASE\Trackboard.mdf"/>
</appSettings>
</configuration>
私はいくつかの方法で試しました:
W1: ConnStr = ConfigurationManager.ConnectionStrings["Trackboard"].ConnectionString;
W2: ConnStr = ConfigurationManager.ConnectionStrings[0].ConnectionString;
W3: ConnStr = ConfigurationManager.AppSettings["Trackboard"];
W4: ConnStr = ConfigurationManager.AppSettings[0];
それらのどれも機能しませんでした。
しかし、これはうまくいきました:
ConnStr = @"Data Source=(localdb)\v11.0;Initial Catalog=Trackboard;Integrated Security=True;AttachDbFileName=E:\Users\Sean\Workspace\DATABASE\Trackboard.mdf";
(つまり、設定ファイルを使用できません。これは私の意志に反します)助けが必要です。
私はそれを理解しました!新しい構成ファイルを作成するべきではありませんでした。プロジェクトにはデフォルトのapp.configファイルがあります。今ではすべてが順調です。皆さん、ありがとうございました!
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
</configSections>
<connectionStrings>
<add name="Trackboard.Properties.Settings.TrackboardConnectionString"
connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\DATABASE\Trackboard.mdf;Integrated Security=True"
providerName="System.Data.SqlClient" />
</connectionStrings>
</configuration>
private static string ConnStr = ConfigurationManager.ConnectionStrings["Trackboard.Properties.Settings.TrackboardConnectionString"].ConnectionString;
Webアプリケーションではないため、app.config
ではなくweb.config
を追加するだけです。
その後は単純すぎます。System.Configurationへの参照を追加して、これを使用してください。
var ConnStr = ConfigurationManager.AppSettings["Trackboard"];
GACにあるSystem.Configuration
アセンブリを参照する必要があります
ConfigurationManagerの使用はWPF固有ではありません。これは、あらゆるタイプのアプリケーションの構成情報にアクセスするための特権的な方法です。
詳細については、 [〜#〜] msdn [〜#〜] を参照してください。
これはSystem.Configuration
名前空間を使用します
using System.Configuration;
または参照にSystem.Configuration
を追加
System.ConfigurationManager.ConnectionStrings["Trackboard"].ConnectionString;
System.ConfigurationManager.ConnectionStrings[0].ConnectionString;