通常在C#中存储多个项目的设置

时间:2009-03-12 07:36:19

标签: c# .net

我想保留c#的两个不同项目的设置。有什么方法可以实现这个目的吗?

此致 苛刻的苏曼

2 个答案:

答案 0 :(得分:3)

我想有很多选择可供选择,具体取决于您的具体情况和偏好。

以下是一些 -

如果您可以安全地假设有数据库,则可以使用数据库。

您可以使用机器配置中的条目,这两个应用程序都可以访问这些条目;你可以使用AppSettings,或者更好的是自定义配置部分。

您可以在机器配置中声明您的配置,但在单独的文件中指定它以使维护更容易(和更安全) -

<configuration> .. <appSettings file="MyConfig.config" />...</configuration>

其中MyConfig.config是文件的名称(可以是任何子文件夹的路径),包含appSettings部分。

如果您正在使用自定义配置(或配置部分中的任何内置,而不是appSettings),您可以使用ConfigSource属性来指定配置的位置,如here所述

您可以查看使用某些共享位置进行配置,例如 - 在Windows Vista中,您可以使用%APPDATA%位置来存储配置(在其下创建自己的文件夹),查看此文件夹,您将请注意这是许多其他程序所做的。

答案 1 :(得分:1)

如果通过项目设置表示配置信息,那么已发布的有关为appSettings设置公共文件的解决方案很好(假设您正在使用appSettings部分进行配置)。您还可以创建一个从公共位置甚至数据库加载的自定义配置节处理程序。

如果您正在讨论项目信息,例如汇编类型的信息,那么您可以编辑项目文件并包含指向将编译到两个项目中的公共文件的链接。您可以通过添加类似的内容来添加链接...

<Compile Include="..\..\SolutionInfo.cs">
  <Link>Properties\SolutionInfo.cs</Link>
</Compile>

我们将这个用于项目中的公共属性,这些项目可以在同一个解决方案中(比如对齐版本号等),也可以在各种项目中使用它来管理公共信息等公共信息。