我曾经认为appsettings.json
及其环境副本(dev、staging、production)可以取代Web.config转换。
在开发环境中,这很好用,因为这些环境的变量存在于launchSettings.json
中。
然而,如果我使用发布功能,并配置发布使用我创建的Staging构建配置,则不会出现任何转换。
我在其他地方读到需要创建环境变量。真的吗!难道我们现在有了一大堆系统环境变量,供应用程序使用,这些应用程序可能(或可能不会)在该框上运行的IIS(或其他)Web服务器上运行。
目前,我正在手动复制并粘贴“staging”appsettings.json
,然后进行发布。我已经不得不将预先准备好的Web.config文件复制并粘贴到该文件夹中,因为它在IDE中不再可用(但奇怪的是,在发布操作期间仍然会生成)。
还有没有其他方法来实现可维护的部署转换,类似于旧配置文件的转换方式?
web.config
,你可以先加载appsettings.json
,然后再加载appsettings.staging.json
来覆盖生产环境的设置。staging
值可以轻松地来自环境变量或命令行,或者你可以简单地不包括额外的设置文件。 - Panagiotis Kanavos