有没有办法覆盖 app.config 中的 ConnectionString。我们的构建系统也在客户的服务器上运行,但连接字符串需要不同。因为app.config在svn中,所以每次我更改app.config中的某些内容并提交时,我都需要去客户的服务器将connectionString更改回他们的数据库...
例如,在 ant-scripts 中,这没有问题,但在 app.config 中我似乎找不到方法。例如尝试过这个:<connectionStrings configSource="WebConnectionString.config">
<add name="ConnectionString"
connectionString="..."
providerName="System.Data.SqlClient"/>
</connectionStrings>
我想做的是,如果 WebConnectionString.config 存在,则使用该配置文件中的connectionString。如果没有,请使用代码示例中定义的代码(因此,在 app.config 中)。
最佳答案
网络部署项目哇哦
这是一种让您免去大量部署麻烦的方法。您可以做的一件令人惊奇的美妙事情就是为每个客户提供一个构建配置。
然后,您还可以为每个客户提供一个包含连接字符串的配置文件。根据您选择的构建配置,不同的连接字符串将粘贴到 web.config 中。因此,现在您可以为每个客户构建一个“不同”的网站,这非常简单。
想象一个名为 config 的文件夹和 cust1ConnectionString.cfg、cust2... 等文件
现在您可以创建配置。您已经熟悉了Release和Debug,创建cust1、cust2。
然后,在 Web 部署项目中,可以选择使用另一个文件中的部分替换 Web 配置的部分。
因此,您转到 cust1 部署并告诉它连接字符串位于文件 cust1connectionstrings.cfg 中。告诉它 cust2 在哪里等等......
现在不用再胡闹了,每次您为客户构建网站时,所有设置都会插入到 web.config 中,您只需移交正确配置的网站即可。 SVN 中的内容并不重要,因为每个客户都有自己的配置。甜甜的
关于asp.net - 覆盖 app.config(或 web.config)中的 ConnectionStrings,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1927264/