Как получить секрет из secrets.json?

У меня есть приложение maui, которое связывается с БД. Для подключения к этой БД нужна stringConnection с секретной информацией. Я хочу поместить эту информацию в secrets.json

И вот я открыл этот файл secrets.json и добавил туда секреты

{
  "Database": {
    "ConnectionString": "server=someserver.ru;port=1234;user=user1;password=123321_password;database=db1"
  }
}

Затем создал класс для получения секретов

using Microsoft.Extensions.Configuration;

namespace MauiApp3.Feature
{
    
    public static class UserSecretsManager
    {
        private static readonly IConfiguration _config = new ConfigurationBuilder()
             .SetBasePath(Directory.GetCurrentDirectory())
             .AddJsonFile("secrets.json", optional: false, reloadOnChange: true)
             .Build();

        public static string StringConnection
        {
            get
            {
                return _config["Database:ConnectionString"];
            }
        }
    }
}

Но в итоге у меня выбрасывает ошибку

FileNotFoundException: The configuration file 'secrets.json' was not found and is not optional. The expected physical path was 'C:\Users\vc615\source\repos\MauiApp3\MauiApp3\bin\Debug\net9.0-windows10.0.19041.0\win10-x64\secrets.json'.

Понятно, что файла secrets.json нет по тому пути, который я указываю. И если я скопирую полный путь к этому файлу C:\\Users\\vc615\\AppData\\Roaming\\Microsoft\\UserSecrets\\b***b*44-**67-4**9-****-06*b0*9**0a\\secrets.json То все будет работать нормально. Но только на моём устройстве (понятно почему)

Вопрос - как правильно обращаться к secrets.json?


Ответы (0 шт):