我有一个使用类库的DLL的wpf应用程序。我无法访问类库中的app.config值
我是如何尝试访问app.config的:
ConfigurationSettings.AppSettings["conStr"].ToString();
这返回一个空值 还添加了使用System.Configuration。
答案 0 :(得分:1)
为什么不把这个价值放在主项目中?
如果您从主项目调用类库。然后类库中的代码使用主项目中定义的AppConfig。
通常的做法是在主项目的AppConfig中使用连接字符串,而不是在类库中。
答案 1 :(得分:0)
我建议您使用自己的类来保存类库设置。像这样:
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,
};
}
答案 2 :(得分:0)
我有同样的问题。尝试为类库添加设置文件以存储您的值。该值将存储在app.config中,但使用设置文件进行访问。
这篇文章更好地解释了:Can a class library have an App.config file?
这篇文章详细介绍了设置文件:Best practice to save application settings in a Windows Forms Application
如果您不想执行上述操作,还可以将数据移动到主项目App.config文件中,它应该可以正常工作。
答案 3 :(得分:-3)