无法访问 ASP.net 核心 3.0 中的用户机密
Can't access User Secrets in ASP.net core 3.0
我的问题很简单。
我有一个 ASP.net 核心 3.0 应用程序,我使用 visualstudio 添加了秘密并将我的秘密正常粘贴到秘密文件中。
然后在我的 Program.cs 中,我添加了对 addusersecrets 的调用,如下所示:
...
...
.AddUserSecrets<Startup>()
但是当我在 appsettings.json 中像 Configuration["Authentication:Secret"]
这样调用我的秘密时,我在 return.
中得到了一个空值
我浏览了 Whosebug 并尝试了如下解决方案,例如更改我的 addsecrets:
.AddUserSecrets("fds...-...-...askd")
//OR
.AddUserSecrets(typeof(Startup).Assembly, true, reloadOnChange: true)
BUt none then 有效。
我想知道这个秘密的东西是否甚至可以在 asp.net 核心上运行,因为我看不出我的代码不起作用的任何原因。请问如果有人得到它,你能告诉我一个解决方案吗?
谢谢
你的代码是这样的吗?
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();
}
请务必检查您是否已将 "ASPNETCORE_ENVIRONMENT"
变量设置为 "Development"
,否则您的应用将不会添加您的用户机密。
在 powershell 中:
$Env:ASPNETCORE_ENVIRONMENT = "Development"
命令:
setx ASPNETCORE_ENVIRONMENT "Development"
用户机密现在存储在 csproj 项目文件中。这就是您阅读它的方式(见图)。我正在使用 asp.net 核心 5
对于不使用 Startup
的 .Net 6,加载程序集如
build.AddUserSecrets(Assembly.GetExecutingAssembly())
我的问题很简单。 我有一个 ASP.net 核心 3.0 应用程序,我使用 visualstudio 添加了秘密并将我的秘密正常粘贴到秘密文件中。 然后在我的 Program.cs 中,我添加了对 addusersecrets 的调用,如下所示:
...
...
.AddUserSecrets<Startup>()
但是当我在 appsettings.json 中像 Configuration["Authentication:Secret"]
这样调用我的秘密时,我在 return.
我浏览了 Whosebug 并尝试了如下解决方案,例如更改我的 addsecrets:
.AddUserSecrets("fds...-...-...askd")
//OR
.AddUserSecrets(typeof(Startup).Assembly, true, reloadOnChange: true)
BUt none then 有效。
我想知道这个秘密的东西是否甚至可以在 asp.net 核心上运行,因为我看不出我的代码不起作用的任何原因。请问如果有人得到它,你能告诉我一个解决方案吗? 谢谢
你的代码是这样的吗?
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();
}
请务必检查您是否已将 "ASPNETCORE_ENVIRONMENT"
变量设置为 "Development"
,否则您的应用将不会添加您的用户机密。
在 powershell 中:
$Env:ASPNETCORE_ENVIRONMENT = "Development"
命令:
setx ASPNETCORE_ENVIRONMENT "Development"
用户机密现在存储在 csproj 项目文件中。这就是您阅读它的方式(见图)。我正在使用 asp.net 核心 5
对于不使用 Startup
的 .Net 6,加载程序集如
build.AddUserSecrets(Assembly.GetExecutingAssembly())