我的问题很简单。 我有一个ASP.net core 3.0应用程序,我使用visualstudio添加了机密,然后将我的机密通常粘贴到机密文件中。 然后在Program.cs中,我添加了对addusersecrets的调用,如下所示:
...
...
.AddUserSecrets<Startup>()
但是,当我像在appsettings.json中那样调用Configuration["Authentication:Secret"]
之类的秘密时,却得到了一个空值。
我经历了stackoverflow,并尝试了如下更改addsecrets之类的解决方案:
.AddUserSecrets("fds...-...-...askd")
//OR
.AddUserSecrets(typeof(Startup).Assembly, true, reloadOnChange: true)
但没有一个能起作用。
我想知道这个秘密的东西是否甚至可以在asp.net内核上运行,因为我看不到我的代码不起作用的任何原因。如果有人得到,请告诉我一个解决方案吗? 谢谢。
答案 0 :(得分:1)
您的代码看起来像这样吗?
public Startup(IHostingEnvironment env)
{
var builder = new ConfigurationBuilder()
.SetBasePath(env.ContentRootPath)
.AddJsonFile("appsettings.json",
optional: false,
reloadOnChange: true)
.AddEnvironmentVariables();
if (env.IsDevelopment())
{
builder.AddUserSecrets<Startup>();
}
Configuration = builder.Build();
}
答案 1 :(得分:0)
请确保检查您是否将"ASPNETCORE_ENVIRONMENT"
变量设置为"Development"
,否则您的应用不会添加用户机密。
在Powershell中:
$ Env:ASPNETCORE_ENVIRONMENT =“发展”
cmd:
setx ASPNETCORE_ENVIRONMENT“开发”
答案 2 :(得分:0)