基于通过竹环境动态变化的NET应用程序的配置文件(Dynamically change config

2019-10-29 02:40发布

我有.NET编写C#中的窗口服务。 我们有三个不同的环境说, devtestprod 。 我也有3个环境3个不同的配置文件说devAppConfigTestAppConfigProdAppConfig

此前,我们曾经部署人工,所以我们用替换配置文件并部署binaries.Now的部署是实现自动化的,我们使用竹子。

现在的问题是如何动态地更改了AppConfig针对不同环境的部署。

我在竹3个不同阶段的命名DevDeployTestDeployProdDeploy 。 当我运行这些阶段,它必须更改配置文件,并做了部署,但我不知道怎么样。

任何人都可以指导我在我的问题的正确方向?

Answer 1:

我想这会工作:

  1. 在格式Config.ConfigurationName.xml的解决方案,如配置一些目录中创建一些配置文件。 DEV .XML,配置。 测试 .XML ...
  2. (在的csproj文件手动地的csproj属性窗口或)添加预生成的事件,例如: <PropertyGroup><PreBuildEvent>xcopy /y (ProjectDir)\Configs\Config.$(Configuration).xml $(ProjectDir)\CONFIG\Config.xml</PreBuildEvent></PropertyGroup>或在项目VS分辩点击- >属性:
  3. 添加在VS一些配置Configuration Manager中针对不同的配置如。 DEV,测试 。 我的项目配置:

  1. 执行带有参数的竹的MSBuild: /p:SolutionConfiguration=%CONFIGURATION%其中%CONFIGURATION%是竹说上ENV您正在部署,变量例如DEV,测试等。


文章来源: Dynamically change config files in .Net Application based on environments through Bamboo