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

use*_*100 6 c# app-config class-library web-config visual-studio

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

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

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

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

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

Ben*_*son 2

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

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

<appSettings configSource="Web.appSettings.dev.config"/>
Run Code Online (Sandbox Code Playgroud)

每个开发人员都有自己的 Web.appSettings.dev.config,该配置不在源代码管理中。在生产中你只需更改为:

<appSettings configSource="Web.appSettings.live.config"/>
Run Code Online (Sandbox Code Playgroud)

您只需要确保 svn 中有某种模板 Web.appSettings.template.config 作为主模板,但其中没有任何设置,并手动管理以确保添加到模板中的任何新键或连接字符串还被添加到每个开发文件和生产文件中。