是否可以将Web.config转换与发布配置文件链接?

aba*_*hev 8 .net asp.net visual-studio-2010 web-config-transform msbuild-wpp

目前,我可以根据构建配置轻松设置Web.config转换,例如使用connectionString=server;..for DebugconnectionString=./SQLExpress;..for Release.

但是有可能基于Web发布配置文件进行一些Web.config转换吗?即使用connectionString=server1;..的配置文件Server1,并connectionString=server2;..Server2

Rob*_*Rob 5

我们将所有特定于机器/配置文件的配置保存在单独的配置文件中,然后使用configSource将它们包括在内......

    <connectionStrings configSource="cstrings.config"/>
Run Code Online (Sandbox Code Playgroud)

这样Web.config是相同的,不需要任何转换.我们对连接字符串,smtp设置和应用程序设置执行此操作.

我们版本控制Web.config和"机器特定"文件,如cstrings.config.production,cstrings.config.staging等.

拥有此结构后,可以轻松生成不同配置文件的图像.我们在每台机器上都有部署脚本,用于读取环境变量并进行适当的部署.例如,登台服务器构建脚本将cstrings.config.staging复制到cstrings.config等.


Zha*_*uid 0

我相信发布配置文件独立于构建配置文件,这有点遗憾,因为您很容易意外地将调试配置部署到生产服务器。

但是,如果您使用 MSDeploy,则可以通过多种方法修改其中的 web.config。有关更多详细信息,请参阅MSDeploy - 部署包后更改连接字符串参数。