2

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

我是不是该...

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

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

  3. 别的地方?

编辑:

我忘了提一下,我希望能够在应用程序外部编辑这个属性的小列表,因此公共项目中的共享类将不起作用。

4

3 回答 3

1

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

于 2013-05-29T20:38:50.003 回答
1

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

于 2013-05-29T20:47:31.413 回答
0

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

使用界面来定义您的设置将允许您在未来根据需要轻松开发和替换替代属性提供程序。

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

于 2013-05-29T21:21:18.217 回答