相关疑难解决方法(0)

.Net Core 2.1不读取用户秘密

我在mac上运行.net核心2.1应用程序,我试图访问我的连接字符串,应该被我的用户机密覆盖..csproj文件包含一个guid

<UserSecretsId>{{Secret Guid}}</UserSecretsId>
Run Code Online (Sandbox Code Playgroud)

添加用户密钥

dotnet user-secrets set "ConnectionStrings:DefaultConnection" "Secret Connection String"
Run Code Online (Sandbox Code Playgroud)

我创建了完全从我的appsettings.json文件中读取的配置,但它没有用我的用户机密中的值替换默认值.

// this is done so I build my configurations in a class library
var assembly = AppDomain.CurrentDomain.GetAssemblies()
    .Single(o => o.EntryPoint != null);

var configurationBuilder = new ConfigurationBuilder()
    .AddEnvironmentVariables()
    // .AddUserSecrets<Program>() -> This does not work either
    .AddUserSecrets(assembly, optional: false);

configurationBuilder.SetBasePath(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location));
configurationBuilder.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true);
var configuration = configurationBuilder.Build();

Console.WriteLine(configuration["ConnectionStrings:DefaultConnection"]);
Run Code Online (Sandbox Code Playgroud)

正如我之前所说的尝试访问值,它不会用用户机密值替换值.请让我知道我错过了什么.

c# asp.net-core asp.net-core-2.1

5
推荐指数
1
解决办法
856
查看次数

标签 统计

asp.net-core ×1

asp.net-core-2.1 ×1

c# ×1