类库C#中的应用程序配置
本文关键字:应用程序 配置 类库 | 更新日期: 2023-09-27 17:58:32
我有一个wpf应用程序,它正在使用类库的dll。我无法访问类库中的app.config值
我如何尝试访问app.config:
ConfigurationSettings.AppSettings["conStr"].ToString();
这将返回一个null值还添加了使用System.Configuration。
为什么不把这个值放在主项目中?
如果您正在从主项目调用类库。然后类库中的代码使用在主项目中定义的AppConfig。
通常的做法是将连接字符串放在主项目的AppConfig中,而不是在类库中。
我建议使用您自己的类来保存类库设置。类似这样的东西:
public class GlobalSettings
{
public double RedFiber { get; set; }
public double GreenFiber { get; set; }
public double BlueFiber { get; set; }
public bool DeleteMinorViews { get; set; }
public static GlobalSettings Load()
{
try
{
return JsonConvert.DeserializeObject<GlobalSettings>(File.ReadAllText(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "''YOUR_APP_NAME''"));
}
catch ()
{
return DefaultSettings;
}
}
public void Save()
{
File.WriteAllText(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "''YOUR_APP_NAME''", JsonConvert.SerializeObject(this, Formatting.Indented));
}
private static readonly GlobalSettings DefaultSettings = new GlobalSettings()
{
RedFiber = 0,
GreenFiber = 255,
BlueFiber = 0,
DeleteMinorViews = true,
};
}
我遇到了同样的问题。尝试为类库添加一个设置文件来存储您的值。该值将存储在app.config中,但使用设置文件进行访问。
这篇文章更好地解释了:类库可以有一个App.config文件吗?
这篇文章详细介绍了设置文件:在Windows窗体应用程序中保存应用程序设置的最佳实践
如果您不想执行上述操作,也可以将数据移动到主项目App.config文件中,这样就可以了。
尝试
ConfigurationManager.AppSettings["conStr"].ToString();
如果不起作用,张贴你的应用程序配置
ConfigurationSettings.AppSettings已过时