为什么在我手动将控制台应用程序发布为 Azure webjob 时未应用配置转换?

Why are config transforms not applied when I manually publish a console app as an Azure webjob?

我有一个控制台应用程序,我正在将其作为 Web 作业部署到 Azure。我从 Visual Studio 2015 开始手动执行此操作,方法是右键单击该项目并选择“Publish as Azure WebJob”。

我现在需要将此应用程序部署到多个不同的环境(例如:开发、测试、生产等)。在每个环境中,控制台应用程序需要 运行 具有不同的配置设置。

为了完成这项工作,我安装了 Slow Cheetah v2.5.48 并设置了多个配置转换文件 - 每个环境一个。

我还在我的项目中创建了专用的发布配置文件 - 每个环境一个 - 我已经确保配置文件名称与配置转换文件的名称相匹配。

当我通过 VS 中的发布向导手动发布时(如上所述),我发现未应用配置转换。相反,"base" .config 文件出现在目标应用程序服务上。

为什么以这种方式发布时未应用转换,我该如何解决?

根据你的描述,我建议你首先检查你是否已经build configuration调用了"dev",“测试”如下。

然后我建议你可以检查你的项目中是否有正确的应用程序配置文件,如下所示。

最后,您可以确保您拥有 select 正确的构建配置。

此外,我建议您打开 .csproj 文件并确保 App.dev.config 标记的 IsTransformFile 为真。

<None Include="App.dev.config">
      <DependentUpon>App.config</DependentUpon>
      <IsTransformFile>True</IsTransformFile>
    </None>

我建议你试试:

< xdt:Transform="Replace">