|
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
using System.Collections.Immutable;
namespace Microsoft.VisualStudio.LanguageServices.ProjectSystem;
/// <summary>
/// A class that provides constants for common MSBuild property names.
/// </summary>
internal static class BuildPropertyNames
{
// Properties received whenever a project is updated.
//
// Supported properties can be found in dotnet/project-system repo
// https://github.com/dotnet/project-system/blob/main/src/Microsoft.VisualStudio.ProjectSystem.Managed/ProjectSystem/Rules/LanguageService.xaml.
public const string RootNamespace = nameof(RootNamespace);
public const string MaxSupportedLangVersion = nameof(MaxSupportedLangVersion);
public const string RunAnalyzers = nameof(RunAnalyzers);
public const string RunAnalyzersDuringLiveAnalysis = nameof(RunAnalyzersDuringLiveAnalysis);
public const string TemporaryDependencyNodeTargetIdentifier = nameof(TemporaryDependencyNodeTargetIdentifier);
public const string TargetRefPath = nameof(TargetRefPath);
public const string CompilerGeneratedFilesOutputPath = nameof(CompilerGeneratedFilesOutputPath);
// Properties requested at project creation time.
public const string MSBuildProjectFullPath = nameof(MSBuildProjectFullPath);
public const string TargetPath = nameof(TargetPath);
public const string AssemblyName = nameof(AssemblyName);
public const string CommandLineArgsForDesignTimeEvaluation = nameof(CommandLineArgsForDesignTimeEvaluation);
public const string IntermediateAssembly = nameof(IntermediateAssembly);
public static readonly ImmutableArray<string> InitialEvaluationPropertyNames = [MSBuildProjectFullPath, TargetPath, AssemblyName, CommandLineArgsForDesignTimeEvaluation];
public static readonly ImmutableArray<string> InitialEvaluationItemNames = [IntermediateAssembly];
}
|