You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何基于F#通过IConfigurationRoot极简实现用户密钥获取?

极简F# CLI项目实现用户密钥读取(仅依赖Microsoft.Extensions.Configuration.UserSecrets)

步骤1:安装必要的NuGet包

在项目目录下执行:

dotnet add package Microsoft.Extensions.Configuration.UserSecrets

步骤2:初始化用户密钥标识

用户密钥需要关联唯一ID,两种方式可选:

  • 自动初始化:在项目目录执行
    dotnet user-secrets init
    
    这会自动在你的F#项目文件(*.fsproj)中添加<UserSecretsId>节点,示例:
    <PropertyGroup>
      <UserSecretsId>your-unique-guid-here</UserSecretsId>
    </PropertyGroup>
    
  • 手动添加:直接编辑fsproj文件,添加上述<UserSecretsId>节点(推荐自动方式避免GUID输入错误)

步骤3:编写F#核心代码(无依赖注入/ApplicationBuilder)

直接构建IConfigurationRoot,仅加载用户密钥配置源,示例代码:

open Microsoft.Extensions.Configuration

// 构建配置根,仅加载用户密钥
let config = 
    ConfigurationBuilder()
        .AddUserSecrets(System.Reflection.Assembly.GetExecutingAssembly())
        .Build() :> IConfigurationRoot

// 读取密钥示例
let apiKey = config.["ApiKey"]
printfn $"读取到的API密钥:{apiKey}"

步骤4:设置和验证用户密钥

  • 设置密钥:在项目目录执行
    dotnet user-secrets set "ApiKey" "your-actual-secret-key-here"
    
  • 运行CLI项目,即可看到读取到的密钥内容

注意事项

  • <UserSecretsId>不要提交到版本控制(默认会被.gitignore排除,若未排除需手动添加)
  • 用户密钥存储在本地系统安全位置(Windows:%APPDATA%\Microsoft\UserSecrets\<SecretsId>\secrets.json;macOS/Linux:~/.microsoft/usersecrets/<SecretsId>/secrets.json)
  • 该实现完全不依赖ApplicationBuilder或ServiceCollection,符合极简CLI需求

内容的提问来源于stack exchange,提问作者LaurentBaj

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 07:30:57