非 Web 应用程序中的用户机密

面向 Microsoft.NET.Sdk.Web 的项目会自动包括对用户机密的支持。 对于面向 Microsoft.NET.Sdk(例如控制台应用程序、单元测试)的项目,请显式安装配置扩展和用户机密 NuGet 包。

使用 PowerShell:

PowerShell

Install-Package Microsoft.Extensions.Configuration
Install-Package Microsoft.Extensions.Configuration.UserSecrets

使用 .NET CLI:

.NET CLI

dotnet add package Microsoft.Extensions.Configuration
dotnet add package Microsoft.Extensions.Configuration.UserSecrets

安装包后,请初始化项目并使用与 Web 应用相同的方式设置机密。 以下示例显示了一个控制台应用程序,该应用程序检索使用密钥“AppSecret”设置的机密的值:

控制台程序

using Microsoft.Extensions.Configuration;

namespace ConsoleApp;

class Program
{
    static void Main(string[] args)
    {
        IConfigurationRoot config = new ConfigurationBuilder()
            .AddUserSecrets<Program>()
            .Build();

        Console.WriteLine(config["AppSecret"]);
    }
}

ABP.IO 单元测试

public class TestModule: AbpModule {
        public override void ConfigureServices(ServiceConfigurationContext context)
        {
            context.Services.ReplaceConfiguration(ConfigurationHelper.BuildConfiguration(builderAction: builder =>
            {
                builder.AddUserSecrets<TestModule>();
            }));



            base.ConfigureServices(context);
        }
}
posted @ 2026-02-05 16:19  青争竹马  阅读(0)  评论(0)    收藏  举报