C# 在WPF/Wix中配置多个环境
我有WPF.Net核心应用程序,我使用Wix创建安装程序,使用Jenkins作为我的CI工具。 现在,在提交之后,Jenkins构建Wix项目,并将output.msi文件发送到我需要的任何地方 在我的应用程序中,我有appsettings.json文件存储我的配置。您可以猜到,我想要几个配置文件,例如appsettings.dev.json、appsettings.qa.json,用于我的开发和qa环境 这样做的好方法是什么 首先,我想通过git分支名称检测env。在Jenkins中很容易得到这个变量,但是接下来我该怎么做呢 第一个选项是拥有3个文件(每个环境一个),并在应用程序启动时读取配置时使用环境变量。这要求Jenkins将值传递给Wix(如何?),Wix创建环境变量。我有点不喜欢那种方式,因为它看起来很老式。如果我错了,请纠正我。另外,我认为使用环境变量是一种开销,因为它只被一个非常简单的桌面应用程序使用。最后一个问题是,我们必须在最终用户机器上保留所有3个文件 我尝试的第二个选项是使用4个appsettings文件(一个主文件,每个环境一个)。一旦Jenkins识别出环境,它就会用适合环境的文件替换主文件(例如,dev branch的appsettings.dev.json)。但没有成功:主appsettings文件已更新,但当我运行应用程序时,我看到设置没有更改。在使用Wix之前,我检查了是否替换了appsettings文件,但没有帮助C# 在WPF/Wix中配置多个环境,c#,wpf,jenkins,.net-core,wix,C#,Wpf,Jenkins,.net Core,Wix,我有WPF.Net核心应用程序,我使用Wix创建安装程序,使用Jenkins作为我的CI工具。 现在,在提交之后,Jenkins构建Wix项目,并将output.msi文件发送到我需要的任何地方 在我的应用程序中,我有appsettings.json文件存储我的配置。您可以猜到,我想要几个配置文件,例如appsettings.dev.json、appsettings.qa.json,用于我的开发和qa环境 这样做的好方法是什么 首先,我想通过git分支名称检测env。在Jenkins中很容易得到
所以,我觉得有一种简单的方法可以配置它,有人能给我一个提示吗?好的,我不确定它是否是完美的解决方案,但我想出了一种方法。 基本上,我制作了一个appsettings.json文件,其中包含变量env,并为每个环境创建了一个部分。推送提交时,CI将分支名称写入env变量,应用程序使用称为目标分支的部分。 一般来说,它看起来是这样的:
"environment": "dev",
"dev": {...},
"qa": {...}...