我们是一个小团队,致力于一个 asp.net web 项目以及服务,这两个项目都依赖于一个共享的类库。
我们希望每个开发人员的类库设置不同(稍后用于生产)。设置中包含敏感信息,例如密码和主机名。
我们应该如何分配这些设置?
除非我错了,否则 web.config/application 设置不够好,因为它们不适用于共享类库。
ps:另外,一些变量应该是静态链接的,其余的(如连接字符串)应该是动态的。
我们是一个小团队,致力于一个 asp.net web 项目以及服务,这两个项目都依赖于一个共享的类库。
我们希望每个开发人员的类库设置不同(稍后用于生产)。设置中包含敏感信息,例如密码和主机名。
我们应该如何分配这些设置?
除非我错了,否则 web.config/application 设置不够好,因为它们不适用于共享类库。
ps:另外,一些变量应该是静态链接的,其余的(如连接字符串)应该是动态的。
web.config app.config 文件是从您正在运行的任何网站/应用程序中读取的。IE,不使用类库中的任何应用程序设置文件。例如,在您的类库中对 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 是主模板,但其中没有任何设置,并手动管理确保添加到模板中的任何新键或连接字符串也被添加到每个开发文件和生产文件中。