我应该在多个项目之间放置属性?

时间:2013-05-29 20:33:15

标签: c# .net properties

我有一个包含多个项目的.NET解决方案。有几个项目需要访问一些解决方案范围的属性(键值对)。我可以将这些属性放在一个项目的Settings.settings文件中,但据我所知,其他项目将无法访问它们(对吗?)。

我应该......

  1. 将这些属性放在一个全局可访问的共享文件夹中的INI文件中,例如Environment.SpecialFolder.CommonApplicationData/MySolutionData

  2. 将这些属性放在注册表中?

  3. 其他地方?

  4. 修改

    我忘了提及,我希望能够编辑应用程序OUTSIDE的这个小的属性列表,因此共同项目中的共享类不起作用。

3 个答案:

答案 0 :(得分:1)

我通常创建一个额外的项目,其唯一目的是处理共享的app.config文件,并将其内容提供给其他项目。

答案 1 :(得分:1)

如果你想将它们放置在Settings.settings中,我个人会创建另一个带有公开API的项目来返回所需的设置。然后,您可以在任何需要的地方使用该dll,只需在需要时返回所需内容即可获得创意。

答案 2 :(得分:0)

创建一个新项目,其中包含一个定义您的设置的界面。然后创建一个实现此接口的类来读/写这些设置。另一个答案中的一个好建议是使用App.Config(这也可以在应用程序之外编辑)。

使用界面定义您的设置,您可以根据需要轻松开发和替换其他属性提供商。

然后,所有需要访问这些设置的项目都应引用新项目来访问这些设置。