c# - WPF 中的配置管理器

标签 c# sql wpf configurationmanager appsettings

我在 wpf 项目中有一个配置文件来存储连接字符串。 但是当我尝试获取 AppSettings 和 ConnectionStrings 时,我得到的是空值。

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 而不是 web.config 因为它不是 Web 应用程序。

之后就太简单了,只需添加对 System.Configuration 的引用,然后使用它即可。

var ConnStr = ConfigurationManager.AppSettings["Trackboard"];

关于c# - WPF 中的配置管理器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21622009/

相关文章:

c# - 如何在 asp.net 中自动刷新的站点(浏览器)标题上显示其他用户的事件计数

c# - 代码流可视化软件

java - 使用 ORM,我可以将包含 a、b、c 列的数据库表映射到包含键 a、b、c 的 Map 的类吗?

Wpf:Storyboard.TargetName 有效,但 Setter TargetName 无效

c# - DateTime.AddMilliSeconds 似乎不起作用

c# - 在 View 中声明函数或方法

mysql - 错误 1264,我需要 DECIMAL、FLOAT 还是 DOUBLE

sql - 获取不包含任何字母但在正则表达式 Postgres 中给出的行

c# - WPF System.OutOfMemoryException 系统.Windows.Automation.Peers.AutomationPeer.UpdateSubtree

c# - 当获取 textBlock 的高度时,无论实际高度如何,它都会说相同的数字