Вроде бы все просто, но у меня не работает...
Я использую C#.NET 6.0 для функции AWS Lambda. Я пытаюсь создать эту функцию в Visual Studio 2022. В этом проекте функции Lambda нет файла Startup.cs. Просто библиотека классов с функцией.
Я просто хочу прочитать значения из файла appsettings.json из функции С#. Файл Json выглядит так...
{
"SQSARN": "arn:aws:sqs:us-east-1:111111111111:SQS-Queue1",
"BucketName": "excel-s3-bucket",
"ObjectKey": "Sample.xlsx"
}
Я читаю значения в коде С#, как показано ниже...
config = new ConfigurationBuilder().AddJsonFile("appsettings.json",true,true)
.SetBasePath(Directory.GetCurrentDirectory())
.Build();
Теперь я пытаюсь извлечь, как показано ниже...
string myValue = config.GetValue<string>("SQSARN");
Я получаю значение Null
для вышеуказанного ключа.
Где я ошибаюсь? Какие библиотеки нужно добавить сюда? Пожалуйста, дайте мне знать.
Вот как я добавляю файлы настроек JSON. Я предполагаю, что файл называется appsettings.json
и содержит ключ "BucketName"
Microsoft.Extensions.Configuration.Json
Затем вы можете получить доступ к настройкам с помощью кода, похожего на:
using Microsoft.Extensions.Configuration;
var configuration = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile($"appsettings.json");
var config = configuration.Build();
var bucketName = config["BucketName"];
Большое спасибо. Ваш ответ помог мне в нужное время. Слава вам :).
Проверьте свойства вашего файла JSON, убедитесь, что для параметра «Копировать в выходной каталог» установлено значение «Копировать всегда».