2013-05-29 76 views
2

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

我应该......

  1. 放在一个INI文件这些属性在全球访问的共享文件夹一样Environment.SpecialFolder.CommonApplicationData/MySolutionData

  2. 在注册表中把这些属性呢?

  3. 其他地方?

编辑:

我忘了提,我希望能够在一个共同的项目之外编辑属性的这个小名单的应用程序,因此共享类是行不通的。

+3

为公共设置创建项目(可能实现为静态类),并将其添加为所有需要它的项目的参考? –

+0

感谢您提出这个问题,我已经澄清了我的问题。 – epalm

回答

1

我通常创建一个额外的项目,仅用于处理共享的app.config文件,并使其内容可用于其他项目。

1

如果你想把它们放置Settings.settings,我个人会创建另一个项目与暴露的API返回所需的设置。然后,您可以在需要的地方使用该dll,只需在需要时返回所需内容即可获得创意。

0

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

使用界面来定义您的设置将使您能够根据未来的需要轻松开发和替代其他房产提供商。

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