JetBrains Rider - 配置 appsettings 覆盖

21

我正在为现有的.NET Core项目尝试JetBrains Rider。在这个项目中,我有几个appsettings.json的覆盖:

  • appsettings.Development.json - 用于开发环境
  • appsettings.Test.json - 用于测试
  • appsettings.Staging.json - 用于暂存环境
  • 等。

在Visual Studio中,覆盖完美地工作,并且在调试模式下运行应用程序时总是获取我的开发覆盖。然而,在Rider中,我得到了默认的appsettings.json值,这些值不适合调试和开发。如何更改设置以从正确的覆盖获取值?

3个回答

32

您需要设置ASPNETCORE_ENVIRONMENT环境变量。

为此,请为每个环境创建单独的配置:enter image description here

然后点击编辑配置

我为每个环境创建了一个配置,并根据需要指定环境变量:enter image description here


请注意,配置中的此设置将覆盖实际环境变量;我已经在我的~/.bash_profile中导出了它,但它总是恢复到生产环境。 - aremmell
无论我在运行配置中设置了什么环境变量,它总是选择appsettings.json。 - Tom
@Tom -- 你最终解决了这个问题吗?对我来说不起作用,我总是得到主要的 appsettings.json 复制到输出。 - realmikep
1
@realmikep 是的,请看下面我的回答:https://dev59.com/b1cO5IYBdhLWcg3wmCn5#71951660。如果你正在共同开发一个项目,如果你提交了这个设置,可能会给同事带来问题。 - Tom

10

对于Mac用户界面:

  1. 选择您希望更改环境的配置

  2. 选择环境变量

  3. 选择“开发”或“生产”


3
原回答对我没有用。我必须在“运行时参数”字段中输入环境变量ASPNETCORE_ENVIRONMENT=Development

enter image description here

enter image description here

enter image description here


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接