File: LaunchProfile.cs
Web Access
Project: src\src\Aspire.Hosting\Aspire.Hosting.csproj (Aspire.Hosting)
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
 
using System.Text.Json.Serialization;
 
namespace Aspire.Hosting;
 
/// <summary>
/// Represents a launch profile for a <see cref="Aspire.Hosting.ApplicationModel.ProjectResource"/>.
/// </summary>
public sealed class LaunchProfile
{
    /// <summary>
    /// Gets or sets the name of the launch profile.
    /// </summary>
    [JsonPropertyName("commandName")]
    public string? CommandName { get; set; }
 
    /// <summary>
    /// Gets or sets the command line arguments for the launch profile.
    /// </summary>
    [JsonPropertyName("commandLineArgs")]
    public string? CommandLineArgs { get; set; }
 
    /// <summary>
    /// Gets or sets whether the project is configured to emit logs when running with dotnet run.
    /// </summary>
    [JsonPropertyName("dotnetRunMessages")]
    public bool? DotnetRunMessages { get; set; }
 
    /// <summary>
    /// Gets or sets the launch browser flag for the launch profile.
    /// </summary>
    [JsonPropertyName("launchBrowser")]
    public bool? LaunchBrowser { get; set; }
 
    /// <summary>
    /// Gets or sets the launch URL for the launch profile.
    /// </summary>
    [JsonPropertyName("launchUrl")]
    public string? LaunchUrl { get; set; }
 
    /// <summary>
    /// Gets or sets the application URL for the launch profile.
    /// </summary>
    [JsonPropertyName("applicationUrl")]
    public string? ApplicationUrl { get; set; }
 
    /// <summary>
    /// Gets or sets the environment variables for the launch profile.
    /// </summary>
    [JsonPropertyName("environmentVariables")]
    public Dictionary<string, string> EnvironmentVariables { get; set; } = [];
}