首页 > 解决方案 > 如何管理“应用程序。.config”和“dotnet publish”,然后使用 Azure Pipeline 进行部署

问题描述

我有一个 ASP.NET Core API DemoApi.csproj,其中包含三个“app*.config”文件:

在 Azure DevOps 中,构建管道生成工件:

dotnet publish --configuration Release

这产生:

接下来,使用 Azure Pipeline 任务IIS Web Application Deployment在 IIS 上部署 API 。此任务具有 XML 转换中描述的 xml 配置文件转换机制

该机制检查所有“$1.$env$.config”并将转换应用于“$1.config”。在我的情况下,当我在 prod 上部署时,这需要“app.prod.config”文件并将转换应用于“app.config”。但是API的配置来自“DemoApi.exe.config”,转换“app.config”是没有用的。

这不是什么大问题,我在构建管道中添加了一项将“app.prod.config”重命名为“DemoApi.exe.prod.config”的任务,现在转换应用于预期文件。但这听起来像一个肮脏的黑客。

第一个问题,为什么“dotnet publish”输出“app.config”?该文件无用,“DemoApi.exe.config”包含“app.config”的内容。

第二个问题,可以用“dotnet publish”重命名吗?

标签: c#.netazure-pipelinesdotnet-clidotnet-publish

解决方案


推荐阅读