Ir al contenido

ASPIREUSERSECRETS001

Esta página aún no está disponible en tu idioma.

Version introduced: 13.1

Type is for evaluation purposes only and is subject to change or removal in future updates

This diagnostic warns when using the experimental IUserSecretsManager interface and related user secrets management APIs. These APIs provide centralized management of user secrets for Aspire applications, enabling secure storage and retrieval of sensitive configuration values.

AppHost.cs
var builder = DistributedApplication.CreateBuilder(args);
// Using IUserSecretsManager
var userSecretsManager = builder.UserSecretsManager;
var filePath = userSecretsManager.FilePath;
bool success = userSecretsManager.TrySetSecret("MySecret", "SecretValue");

The diagnostic is triggered because IUserSecretsManager is marked with the [Experimental("ASPIREUSERSECRETS001")] attribute.

The IUserSecretsManager interface provides user secrets management functionality for Aspire:

  • Secret storage: Save sensitive values like API keys and passwords outside source control
  • Secret retrieval: Read secrets from the user secrets file
  • Configuration integration: Automatically populate configuration from secrets
  • State management: Support for saving deployment state to user secrets

This API is experimental because the user secrets management strategy is being refined based on security requirements and usage patterns, and the interface may evolve to support additional secret management scenarios.

  • IUserSecretsManager: Interface for managing user secrets
  • UserSecretsManager: Default implementation managing secrets file operations
  • UserSecretsManagerFactory: Factory for creating and caching manager instances
  • FilePath: Gets the path to the user secrets JSON file
  • TrySetSecret(): Attempts to set a secret value in user secrets
  • GetOrSetSecret(): Gets a secret from configuration or generates and saves a new value
  • SaveStateAsync(): Saves deployment state to user secrets asynchronously

The diagnostic can be suppressed using one of several methods:

.editorconfig
[*.cs]
dotnet_diagnostic.ASPIREUSERSECRETS001.severity = none
YourProject.csproj
<PropertyGroup>
<NoWarn>$(NoWarn);ASPIREUSERSECRETS001</NoWarn>
</PropertyGroup>
#pragma warning disable ASPIREUSERSECRETS001
var userSecretsManager = builder.UserSecretsManager;
bool success = userSecretsManager.TrySetSecret("MySecret", "SecretValue");
#pragma warning restore ASPIREUSERSECRETS001
Preguntas y respuestasColaboraComunidadDebatirVer bajo demanda