Как определить переменную среды List, чтобы я мог прочитать ее на С#C#

Место общения программистов C#
Ответить
Anonymous
 Как определить переменную среды List, чтобы я мог прочитать ее на С#

Сообщение Anonymous »

У меня есть файл appsettings.json со свойством, представляющим собой список строк: ["foo", "bar"].

Я пытаюсь перезаписать это свойство с переменной окружения. Когда я это делаю, я все равно получаю значение из appsettings, когда получаю свою переменную в виде списка. Если я получу его как строку, я получу значение переменной среды.
Мой текущий код выглядит следующим образом:

Код: Выделить всё

appsettings.json
файл:

Код: Выделить всё

{
"MyVariable": ["test"],
}

Код: Выделить всё

Program.cs
файл:

Код: Выделить всё

var configuration = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("appsettings.json")
.AddEnvironmentVariables()
.Build();
Если я запускаю следующий код без добавления каких-либо переменных среды, он работает.

Код: Выделить всё

var result = config.GetSection("MyVariable").Get(); // returns a list with one element "test"
Если я добавлю следующую переменную среды и запущу еще раз, я все равно получу тот же результат: список с одним элементом «test».

Код: Выделить всё

MyVariable=["foo", "bar"]
Странно: если я запускаю config.GetSection("MyVariable").Get(), он возвращает эту строку: MyVariable=[ \"foo\", \"bar\"].
Как определить MyVariable как список, чтобы я мог получить его с помощью: config .GetSection("MyVariable").Get()

Подробнее здесь: https://stackoverflow.com/questions/790 ... in-c-sharp
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»