C# 我应该将多个项目之间共享的属性放在哪里?

C# 我应该将多个项目之间共享的属性放在哪里?,c#,.net,properties,C#,.net,Properties,我有一个包含多个项目的.NET解决方案。几个项目需要访问几个解决方案范围的属性(键值对)。我可以将这些属性放在一个项目的Settings.Settings文件中,但据我所知,其他项目将无法访问它们(对吗?) 我应该 将这些属性放在全局可访问的共享文件夹(如Environment.SpecialFolder.CommonApplicationData/MySolutionData)中的INI文件中 是否将这些属性放入注册表 其他地方 编辑: 我忘了提一下,我希望能够在应用程序之外编辑这个小的属性列

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

我应该

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

  • 是否将这些属性放入注册表

  • 其他地方

  • 编辑:


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

    我通常创建一个附加项目,其唯一目的是处理共享的
    app.config
    文件,并使其内容可供其他项目使用。

    如果要将其放置在Settings.Settings,我个人会创建另一个带有公开API的项目,以返回所需的设置。然后,您可以在任何需要的地方使用该dll,并且只在需要时返回所需内容,从而获得创造性。

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

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


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

    为公共设置创建一个项目(可能实现为静态类?),并将其添加为所有需要它的项目的参考?感谢您的提问,我已经澄清了上面的问题。