我正在编写一个c#类库,需要能够从web读取设置。config或app.config文件(取决于DLL是否从ASP. config引用。NET web应用程序或Windows窗体应用程序)。
我发现
ConfigurationSettings.AppSettings.Get("MySetting")
但该代码已被微软标记为弃用。
我读到我应该使用:
ConfigurationManager.AppSettings["MySetting"]
但是,在c#类库项目中,System.Configuration.ConfigurationManager类似乎不可用。
最好的方法是什么?
额外:如果你正在处理一个类库项目,你必须嵌入设置。json文件。
类库不应该直接引用
App.config类没有App.config,因为它不是一个
Application是一个类。
转到JSON文件的属性。
Change Build Action ->嵌入式资源。
使用下面的代码来阅读它。
var assembly = assembly . getexecutingassembly ();
var resourceStream = assembly。GetManifestResourceStream(“Assembly.file.json”);
string myString = reader.ReadToEnd();
现在我们有一个JSON字符串,我们可以使用JsonConvert反序列化它
如果您没有在程序集中嵌入该文件,则不能只使用DLL文件而不使用该文件
我在这个链接https://stackoverflow.com/a/1836938/1492229找到了答案
不仅需要使用名称空间System.Configuration。您还必须将引用添加到程序集System.Configuration.dll,通过
右键单击引用/依赖项
选择添加参考
找到并添加System.Configuration。
这肯定有用。
同样,对于NameValueCollection,你必须写:
using System.Collections.Specialized;