ConfigurationManager в WPF
у меня есть файл конфигурации в проекте wpf для хранения connectionstring. Но когда я пытаюсь получить AppSettings и ConnectionStrings, я получаю null.
веб.файл конфигурации выглядит так:
<?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:UsersSeanWorkspaceDATABASETrackboard.mdf"/>
</connectionStrings>
<appSettings>
<add key="Trackboard" value="Data Source=(localdb)v11.0;Initial Catalog=Trackboard;Integrated Security=True;AttachDbFileName=E:UsersSeanWorkspaceDATABASETrackboard.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:UsersSeanWorkspaceDATABASETrackboard.mdf";
(это означает, что я не могу использовать файл конфигурации, который против моей воли) Мне нужна помощь.
4 ответов
просто добавить app.config
, а не web.config
потому что это не веб-приложение.
и после этого это слишком просто, просто добавьте ссылку на систему.Конфигурация, а затем используйте это.
var ConnStr = ConfigurationManager.AppSettings["Trackboard"];
Я все понял! Я не должен был создавать новый файл конфигурации, есть приложение по умолчанию.конфигурационный файл в проекте. Теперь все в порядке. Спасибо вам всем!
<?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;
используют System.Configuration
пространство имен
using System.Configuration;
или добавить System.Configuration
ссылка
System.ConfigurationManager.ConnectionStrings["Trackboard"].ConnectionString;
System.ConfigurationManager.ConnectionStrings[0].ConnectionString;
вы должны ссылаться на System.Configuration
сборка, которая находится в GAC
использование ConfigurationManager не является специфичным для WPF : это привилегированный способ доступа к информации конфигурации для любого типа приложения
см. MSDN дополнительная информация