首页 > 解决方案 > 不同发布环境的 TeamCity .NET 5 C# 配置(json 和 .config 文件)

问题描述

我有一个与 TeamCity 一起发布的 .NET 5 网站。在使用 TeamCity 并仅使用发布配置文件之前,我可以转换 config 和 json 文件,并且只推出我想要的具有所选环境的所有正确值的单个文件(即 appsettings.json、log4net.config)。我还不能用 TeamCity 做到这一点。也许你能帮忙?

我已经合并了 2 个构建步骤,见下文,它们在开发环境中运行良好。

  1. .NET 发布
  2. .NET SMB 部署

在我的发布步骤中,我在命令行参数中添加了一个环境配置:

QA 环境的命令行参数

一旦我发布,我现在有一个 web.config 显示:

显示 QA 命令行参数的 Web Config

太好了,所以现在我的应用程序动态设置了环境,并且可以为该环境分配正确的 json 文件,如下所示。

启动 json 文件的 ConfigurationBuilder

TL;DR 问题:

  1. 如何通过环境值动态分配特定的 .config 文件(即 log4net.QA.config)?这将在我的 .net 代码中的启动或配置中去哪里?例子?
  2. 如何使用 TeamCity 和可用工具完成 json 和配置的转换?
  3. 并且,在问题 2 上进一步研究,我怎样才能只复制我需要的配置和 json 文件?似乎一切都被复制了。

谢谢你的帮助!

标签: c#.netconfigurationenvironment-variableslog4net-configuration

解决方案


推荐阅读