1

我在使用Visual Studio Community 2015 Web部署到Azure Web应用程序时遇到了一个奇怪的问题。我有一个Production插槽和一个Staging插槽。当我执行Web部署到分段时,它也覆盖生产槽中的web.config!VS 2015 Web部署到Azure Web应用程序部署插槽覆盖PROD插槽

  1. web.config根据我的临时web.config转换正确转换,我可以通过在本地查看obj\Staging\TransformWebConfig\transformed\web.config来验证它。
  2. VS中编译输出窗口中的日志全部看起来正确Updating file (xxxx__staging\Web.config)

但是,当我在PROD插槽中运行应用程序时,它指向在暂存web.config中指定的数据库。当我通过FTP在PROD中查看web.config时,我发现所有STAGE web.config转换都在那里。因此,从我所知道的情况来看,STAGE Web部署正在更新Prod和Stage文件......至少在web.config文件中。

反过来也是如此。在对PROD进行Web部署时,它也会在STAGE中覆盖web.config。

是否有一些同步设置告诉Azure同步这些部署插槽或其他逻辑解释?

+1

也许你有自动切换?所以它部署阶段,然后交换插槽。两个部署 - 你已经在两个插槽 – Lanorkin

+0

@Lanorkin是的!我确实设置了自动切换。我已经关闭它,但需要测试它尚未确认。如果你做出这个答案,我可以在测试后接受它。谢谢! –

回答

1

这看起来像您已启用自动切换功能,因此VS在部署后立即交换插槽。两个部署阶段 - 并且你在两个插槽中都具有相同的env。

+0

要检查**自动交换功能**,请转到您的'部署插槽>应用程序设置>自动交换=开/关' – hiFI