Как получить секрет из 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?