我有一个包含多个项目的.NET解决方案。有几个项目需要访问一些解决方案范围的属性(键值对)。我可以将这些属性放在一个项目的Settings.settings
文件中,但据我所知,其他项目将无法访问它们(对吗?)。
我应该......
将这些属性放在一个全局可访问的共享文件夹中的INI文件中,例如Environment.SpecialFolder.CommonApplicationData/MySolutionData
将这些属性放在注册表中?
其他地方?
修改
我忘了提及,我希望能够编辑应用程序OUTSIDE的这个小的属性列表,因此共同项目中的共享类不起作用。
答案 0 :(得分:1)
我通常创建一个额外的项目,其唯一目的是处理共享的app.config
文件,并将其内容提供给其他项目。
答案 1 :(得分:1)
如果你想将它们放置在Settings.settings中,我个人会创建另一个带有公开API的项目来返回所需的设置。然后,您可以在任何需要的地方使用该dll,只需在需要时返回所需内容即可获得创意。
答案 2 :(得分:0)
创建一个新项目,其中包含一个定义您的设置的界面。然后创建一个实现此接口的类来读/写这些设置。另一个答案中的一个好建议是使用App.Config(这也可以在应用程序之外编辑)。
使用界面定义您的设置,您可以根据需要轻松开发和替换其他属性提供商。
然后,所有需要访问这些设置的项目都应引用新项目来访问这些设置。