File: Constants.cs
Web Access
Project: src\src\sdk\src\Cli\Microsoft.DotNet.Cli.Utils\Microsoft.DotNet.Cli.Utils.csproj (Microsoft.DotNet.Cli.Utils)
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.

namespace Microsoft.DotNet.Cli.Utils;

public static class Constants
{
    public const string DefaultConfiguration = "Debug";

    public static readonly string ProjectFileName = "project.json";
    public static readonly string ToolManifestFileName = "dotnet-tools.json";
    public static readonly string DotConfigDirectoryName = ".config";
    public static readonly string ExeSuffix =
        RuntimeInformation.IsOSPlatform(OSPlatform.Windows) ? ".exe" : string.Empty;

    public static readonly string BinDirectoryName = "bin";
    public static readonly string ObjDirectoryName = "obj";
    public static readonly string GitDirectoryName = ".git";

    public static readonly string MSBUILD_EXE_PATH = nameof(MSBUILD_EXE_PATH);
    public static readonly string MSBuildExtensionsPath = nameof(MSBuildExtensionsPath);

    public static readonly string EnableDefaultItems = nameof(EnableDefaultItems);
    public static readonly string EnableDefaultContentItems = nameof(EnableDefaultContentItems);
    public static readonly string EnableDefaultCompileItems = nameof(EnableDefaultCompileItems);
    public static readonly string EnableDefaultEmbeddedResourceItems = nameof(EnableDefaultEmbeddedResourceItems);
    public static readonly string EnableDefaultNoneItems = nameof(EnableDefaultNoneItems);

    // MSBuild targets
    public const string Build = nameof(Build);
    public const string ComputeRunArguments = nameof(ComputeRunArguments);
    public const string ComputeAvailableDevices = nameof(ComputeAvailableDevices);
    public const string DeployToDevice = nameof(DeployToDevice);
    public const string CoreCompile = nameof(CoreCompile);

    // MSBuild items
    internal const string RuntimeEnvironmentVariable = nameof(RuntimeEnvironmentVariable);

    // MSBuild item metadata
    public const string Identity = nameof(Identity);
    public const string FullPath = nameof(FullPath);

    // MSBuild properties
    public const string CustomBeforeMicrosoftCommonProps = nameof(CustomBeforeMicrosoftCommonProps);
    public const string IntermediateOutputPath = nameof(IntermediateOutputPath);

    // MSBuild items for project capabilities
    public const string ProjectCapability = nameof(ProjectCapability);

    /// <summary>
    /// Project capability that workloads declare to opt in to receiving environment variables as MSBuild items.
    /// When present, 'dotnet run -e' will pass environment variables as @(RuntimeEnvironmentVariable) items.
    /// </summary>
    public const string RuntimeEnvironmentVariableSupport = nameof(RuntimeEnvironmentVariableSupport);

    // MSBuild CLI flags

    /// <summary>
    /// Disables the live-updating node display in the terminal logger, which is useful for LLM/agentic environments.
    /// </summary>
    public const string TerminalLogger_DisableNodeDisplay = "-tlp:DISABLENODEDISPLAY";


    public static readonly string ProjectArgumentName = "<PROJECT>";
    public static readonly string SolutionArgumentName = "<SLN_FILE>";
    public static readonly string ToolPackageArgumentName = "<PACKAGE_ID>";

    public static readonly string AnyRid = "any";

    public static readonly string RestoreInteractiveOption = "--interactive";
    public static readonly string workloadSetVersionFileName = "workloadVersion.txt";
}