尝试替换 connectionStrings 元素以在 Visual Studio Team Services 中进行持续部署

Trying to replace connectionStrings element for continous deployment in Visual Studio Team Services

我正在使用 Visual Studio Team Services(以前是 Visual Studio Online)来持续部署我的 Web 应用程序。我已经尝试设置 web.config 转换,我相信在我将配置设置更改为 Release | 后它正在工作。此处指示的任何 CPU Web config transforms not working with Visual Studio online, VS2013 and Azure .

我认为我遇到的问题更多是自我转变。

现在我的 web.config

中有以下内容

<connectionStrings configSource="connections.config"/>

我想要这个,这样我就可以避免签入 connections.config 并且仍然在本地设置我的数据库连接。我想要做的是用这样的东西替换上面的代码行。

<connectionStrings>
    <add name="umbracoDB" connectionString="blah " providerName="System.Data.SqlClient" />
    <add name="EFdb" connectionString="blah" providerName="System.Data.EntityClient" />
</connectionStrings>

我正在使用

<connectionStrings configSource="connections.config" xdt:Transform="Remove" xdt:Locator="Match(configSource)"/> 它似乎成功地删除了 configSource connectionStrings 元素。但是我仍然对如何添加我的替换 connectionStrings 和添加元素感到困惑?

德文

如果您想在部署期间替换您的 connectionStrings 元素,请尝试使用替换转换:

<connectionStrings xdt:Transform="Replace">
  <add name="umbracoDB" connectionString="blah " providerName="System.Data.SqlClient" />
  <add name="EFdb" connectionString="blah" providerName="System.Data.EntityClient" />
</connectionStrings>

您可以做的一件事是将您的数据库连接字符串作为秘密变量存储在 Build/Release 中,然后使用 Marketplace 中的 Tokenizer 任务 用实际字符串替换连接字符串标记。

Tokenizer 任务支持 Release Management 中的环境。