从Class访问Properties.Settings.Default?

时间:2010-10-14 15:34:08

标签: c#

当我创建一个控制台应用程序时,我可以在Visual Studio 2008 Pro中右键单击该项目。单击属性>转到设置进入应用程序范围设置,然后从

等代码访问它
Console.WriteLine(Properties.Settings.Default.MySetting.ToString());

当我在类项目中执行相同的操作并尝试将Applicatin范围设置分配给变量时

this.mySettingVariable = Properties.Settings.Default.MySetting.ToString();

构建时出现错误“当前上下文中不存在名称'属性'。”

我做错了什么以及如何访问类项目的Application Scoped属性?

4 个答案:

答案 0 :(得分:5)

您忘记将设置添加到类库项目中。您无法直接访问EXE项目的设置。

为类库项目提供自己的设置是可能的,但这很麻烦。 DLL不能拥有自己的.config文件,只有一个:app.exe.config文件。您必须手动将DLL的app.config文件中的条目合并到app.exe.config文件中。使用文本编辑器复制和粘贴。这不是很难维护。

另一种方法是使类的这些设置属性。让主项目中的代码从它自己的设置初始化它们。或者只是放弃设置,因为他们的皮塔饼并使用.xml文件。

答案 1 :(得分:0)

确保您已将名称空间包含在“使用”中。

还要确保设置类是公开的。

答案 2 :(得分:0)

here

拉出来
  

因为没有配置文件   类库的模型,应用程序   设置不适用于Class   图书馆项目。例外是一个   用于Office DLL的Visual Studio工具   项目,可以有一个   配置文件。

答案 3 :(得分:0)

您的.settings文件是否在项目的Properties文件夹下?