我正在编写一个c#类库,需要能够从web读取设置。config或app.config文件(取决于DLL是否从ASP. config引用。NET web应用程序或Windows窗体应用程序)。

我发现

ConfigurationSettings.AppSettings.Get("MySetting")

但该代码已被微软标记为弃用。

我读到我应该使用:

ConfigurationManager.AppSettings["MySetting"]

但是,在c#类库项目中,System.Configuration.ConfigurationManager类似乎不可用。

最好的方法是什么?


当前回答

要访问自己的设置,您不需要使用ConfigurationManager。

要做到这一点,您应该使用

{您的应用名称}。属性.设置。{设置名称}

其他回答

右键单击你的类库,从菜单中选择“添加引用”选项。

在. net选项卡中,选择System.Configuration。这将包括系统。将DLL文件配置到项目中。

这里有一个例子:App.config

<applicationSettings>
    <MyApp.My.MySettings>
        <setting name="Printer" serializeAs="String">
            <value>1234 </value>
        </setting>
    </MyApp.My.MySettings>
</applicationSettings>

Dim strPrinterName as string = My.settings.Printer

我正在用这个,对我来说效果很好:

textBox1.Text = ConfigurationManager.AppSettings["Name"];

阅读配置:

你需要在配置中添加一个引用:

打开项目上的“属性” 进入“设置”选项卡 添加“名称”和“值” 使用以下代码获取价值: 字符串值= Properties.Settings.Default.keyname;

保存到配置:

   Properties.Settings.Default.keyName = value;
   Properties.Settings.Default.Save();

为了完整起见,还有另一个选项只适用于web项目: System.Web.Configuration.WebConfigurationManager.AppSettings(“MySetting”)

这样做的好处是不需要添加额外的引用,因此对某些人来说可能更可取。