在 appsettings.json 中为 NLog 连接字符串引用变量

Jog*_*gge 1 c# nlog appsettings .net-core asp.net-core

appsettings.json我的项目中有这个文件,如下所示:

{
  "ConnectionStrings": {
    "MyConnectionString": "Server=SQLSERVER;Database=MyDatabse;Trusted_Connection=True;"
  },
  "NLog": {
    "targets": {
      "database": {
        "type": "Database",
        "dbProvider": "System.Data.SqlClient",
        "connectionString": "Server=SQLSERVER;Database=MyDatabse;Trusted_Connection=True;"
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

我不想在多个地方写我的连接字符串。我可以以某种方式引用以前的连接字符串吗?

我已经尝试过:"connectionString": "${appsetting:name=ConnectionStrings.MyConnectionString}",这是行不通的。

Jog*_*gge 5

您可以使用 NLog ConfigSetting 布局渲染器。

只需将其用于 NLog 部分中的连接字符串: "connectionString": "${configsetting:name=ConnectionStrings.MyConnectionString}"

来源:https : //github.com/NLog/NLog/wiki/ConfigSetting-Layout-Renderer