【发布时间】:2010-10-01 03:35:39
【问题描述】:
我正在尝试将应用程序设置与我正在处理的 C#.NET 项目一起使用。但我似乎无法让它返回默认值以外的任何内容。通过项目属性,我添加了一个设置 DBConnectionString,并将其值设置为我想要使用的连接字符串。其范围设置为“应用程序”。
这样做会创建许多文件,包括 Settings.settings、Settings.Designer.CS 和 app.conifg。据我了解,这两个 Settings.* 文件定义了一个派生自 ApplicationSettingsBase 的自定义 Settings 类。然后Settings 类具有可用于设置和检索每个设置的自定义、类型安全的属性。 app.config 文件是一个存储实际设置值的 XML 文件。
当我构建我的项目时,看起来 app.config 文件作为 MyApplication.dll.config 复制到了目标目录。我的程序运行良好并且能够使用默认的连接字符串。
接下来我尝试编辑 MyApplicaiton.dll.config 文件以更改连接字符串。我再次运行我的程序,但它继续使用默认值。我注意到在我的 Settings.Designer 文件中有一个带有原始默认字符串的DefaultSettingValueAttribute。我尝试删除此属性,但是当我尝试检索连接字符串设置时,它只返回 null。
这是我用来读取连接字符串的代码。
string conn = Properties.Settings.Default.DbConnectionString
我做错了什么?如何让它返回设置文件中的值而不是默认值?
更新:
对不起,我应该提到这一点。我实际上是通过公共 API 为另一个应用程序编写插件。所以我的项目是 DLL 而不是 EXE。
【问题讨论】:
-
你在哪里使用这条线?在 DLL 或应用程序中?
标签: c# .net application-settings