c#类库的每个开发人员的不同配置设置

时间:2010-06-04 09:33:28

标签: c# visual-studio web-config app-config class-library

我们是一个小团队,致力于asp.net Web项目以及服务,这两个项目都依赖于共享类库。

我们希望每个开发人员的类库设置不同(以后再用于生产)。 在设置中包含敏感信息,例如密码以及主机名。

我们应该如何分配这些设置?

除非我错了,否则web.config / application设置不够好,因为它们不适用于共享类库。

ps:另外,一些变量应该是静态链接的,其余的(如连接字符串)应该是动态的。

1 个答案:

答案 0 :(得分:2)

从正在运行的任何网站/应用中读取web.config app.config文件。 I.E.,不使用类库中的任何应用程序设置文件。例如对类库中的ConfigurationManager.ConnectionStrings ConfigurationManager.AppSettings的任何引用都将使用在使用类库的应用程序中定义的web.config / app.config,而不是您在类库本身中设置的任何.config。

为每个开发人员和生产管理不同设置的最简单方法是将配置存储在不同的文件中,例如

<appSettings configSource="Web.appSettings.dev.config"/>

每个开发人员都有自己的Web.appSettings.dev.config,它不在源代码管理中。在投入生产时,您只需更改为:

<appSettings configSource="Web.appSettings.live.config"/>

您只需要确保在svn中有某种模板Web.appSettings.template.config,它是主服务器但没有任何设置并手动管理确保添加的任何新密钥或连接字符串模板也会添加到每个开发文件和生产文件中。