MAUI获取用户机密返回null,操作无误仍无法解决求助
.NET用户机密无法通过Environment.GetEnvironmentVariable读取的问题解决
核心问题:用户机密不会自动注入到系统环境变量中,所以直接调用Environment.GetEnvironmentVariable("con")肯定拿不到值,得通过.NET的配置系统来读取。
解决步骤
1. ASP.NET Core项目(默认已集成用户机密)
直接通过IConfiguration读取即可,无需额外配置:
// 在Program.cs中读取 var builder = WebApplication.CreateBuilder(args); var con = builder.Configuration["con"]; // 或者在控制器/服务中注入IConfiguration读取 private readonly IConfiguration _config; public YourController(IConfiguration config) { _config = config; } public IActionResult SomeAction() { var con = _config["con"]; // ... }
2. 控制台/非Web项目
需要手动添加配置依赖并配置用户机密源:
- 先安装NuGet包:
Microsoft.Extensions.Configuration.UserSecrets - 然后在代码中构建配置:
using Microsoft.Extensions.Configuration; var configBuilder = new ConfigurationBuilder() .AddUserSecrets<Program>() // 这里的Program是你的入口类,会自动关联csproj中的UserSecretsId .Build(); var con = configBuilder["con"];
额外注意点
- 你已经正确配置了
UserSecretsId和机密文件,这部分没问题 - 用户机密仅在开发环境生效,生产环境不会加载该配置源
内容的提问来源于stack exchange,提问作者inno
相关产品推荐
相关产品推荐

