3 instantiations of Traits
Microsoft.Build.Framework (3)
Traits.cs (3)
14private static Traits _instance = new Traits(); 22return new Traits(); 162_instance = new Traits();
147 references to Traits
Microsoft.Build (86)
BackEnd\BuildManager\BuildManager.cs (4)
499if (Traits.Instance.DebugEngine) 687Traits.Instance.DebugEngine is false) 1183includeTasksDetails: !Traits.Instance.ExcludeTasksDetailsFromTelemetry, 2046if (Traits.Instance.DebugEngine is false)
BackEnd\Client\MSBuildClient.cs (1)
516envVars.Remove(Traits.UseMSBuildServerEnvVarName);
BackEnd\Components\BuildRequestEngine\BuildRequestEngine.cs (1)
124_debugDumpState = Traits.Instance.DebugScheduler;
BackEnd\Components\Communications\NodeLauncher.cs (6)
68if (Traits.Instance.EscapeHatches.EnsureStdOutForChildNodesIsPrimaryStdout) 75if (!Traits.Instance.EscapeHatches.EnsureStdOutForChildNodesIsPrimaryStdout) 106if (!Traits.Instance.EscapeHatches.EnsureStdOutForChildNodesIsPrimaryStdout) 196string useMSBuildServerEnvVarValue = Environment.GetEnvironmentVariable(Traits.UseMSBuildServerEnvVarName); 201Environment.SetEnvironmentVariable(Traits.UseMSBuildServerEnvVarName, "0"); 209Environment.SetEnvironmentVariable(Traits.UseMSBuildServerEnvVarName, useMSBuildServerEnvVarValue);
BackEnd\Components\Communications\NodeProviderOutOfProc.cs (1)
72CommunicationsUtilities.Trace("MSBUILDNODEHANDSHAKESALT=\"{0}\", msbuildDirectory=\"{1}\", enableNodeReuse={2}, enableLowPriority={3}", Traits.MSBuildNodeHandshakeSalt, BuildEnvironmentHelper.Instance.MSBuildToolsDirectory32, enableNodeReuse, enableLowPriority);
BackEnd\Components\Communications\NodeProviderOutOfProcBase.cs (2)
116Traits.Instance.EscapeHatches.EnsureStdOutForChildNodesIsPrimaryStdout; 357if (Traits.Instance.DebugNodeCommunication)
BackEnd\Components\Logging\LoggingService.cs (1)
576bool? escapeHatch = Traits.Instance.EscapeHatches.LogPropertiesAndItemsAfterEvaluation;
BackEnd\Components\Logging\ProjectLoggingContext.cs (1)
211else if (Traits.LogAllEnvironmentVariables)
BackEnd\Components\RequestBuilder\AssemblyLoadsTracker.cs (1)
110!Traits.Instance.LogAllAssemblyLoads &&
BackEnd\Components\RequestBuilder\IntrinsicTasks\ItemGroupLoggingHelper.cs (1)
123bool truncateTaskInputs = Traits.Instance.EscapeHatches.TruncateTaskInputs;
BackEnd\Components\RequestBuilder\IntrinsicTasks\PropertyGroupIntrinsicTask.cs (1)
41_propertyTrackingSettings = (PropertyTrackingSetting)Traits.Instance.LogPropertyTracking;
BackEnd\Components\RequestBuilder\TaskHost.cs (1)
129_disableInprocNode = Traits.Instance.InProcNodeDisabled || host.BuildParameters.DisableInProcNode;
BackEnd\Components\Scheduler\Scheduler.cs (2)
146=> Traits.Instance.InProcNodeDisabled || _componentHost.BuildParameters.DisableInProcNode; 182_debugDumpState = Traits.Instance.DebugScheduler;
BackEnd\Components\Scheduler\SchedulingPlan.cs (1)
220if (Traits.Instance.DebugScheduler)
BackEnd\Components\SdkResolution\CachingSdkResolverService.cs (1)
46if (Traits.Instance.EscapeHatches.DisableSdkResolutionCache)
BackEnd\Node\OutOfProcNode.cs (2)
501Traits.UpdateFromEnvironment(); 735Traits.UpdateFromEnvironment();
BackEnd\Node\OutOfProcServerNode.cs (1)
374Traits.UpdateFromEnvironment();
BackEnd\Shared\BuildResult.cs (1)
87private int _version = Traits.Instance.EscapeHatches.DoNotVersionBuildResult ? 0 : 1;
BackEnd\TaskExecutionHost\TaskExecutionHost.cs (2)
176LogTaskInputs = Traits.Instance.EscapeHatches.LogTaskInputs; 179_propertyTrackingSettings = (PropertyTrackingSetting)Traits.Instance.LogPropertyTracking;
BuildCheck\Infrastructure\CheckWrapper.cs (1)
38private readonly bool _limitReportsNumber = !Traits.Instance.EscapeHatches.DoNotLimitBuildCheckResultsNumber;
CommunicationsUtilities.cs (1)
232private static readonly bool s_trace = Traits.Instance.DebugNodeCommunication;
Construction\Solution\SolutionFile.cs (1)
204internal static bool ShouldUseNewParser(string solutionFile) => Traits.Instance.SlnParsingWithSolutionPersistenceOptIn || FileUtilities.IsSolutionXFilename(solutionFile);
Construction\Solution\SolutionProjectGenerator.cs (2)
188_batchProjectTargets = Traits.Instance.SolutionBatchTargets; 1043if (Traits.Instance.EmitSolutionMetaproj)
DebugUtils.cs (1)
35if (Traits.Instance.DebugEngine)
Definition\Project.cs (1)
3803var canEvaluateElementsWithFalseConditions = Traits.Instance.EscapeHatches.EvaluateElementsWithFalseConditionInProjectEvaluation ?? !loadSettings.HasFlag(ProjectLoadSettings.DoNotEvaluateElementsWithFalseCondition);
Definition\ProjectCollection.cs (1)
309if (Traits.Instance.UseSimpleProjectRootElementCacheConcurrency)
Definition\ProjectProperty.cs (2)
106if (this is EnvironmentDerivedProjectProperty environmentProperty && environmentProperty.loggingContext is { IsValid: true } loggingContext && !environmentProperty._loggedEnvProperty && !Traits.LogAllEnvironmentVariables) 125if (this is EnvironmentDerivedProjectProperty environmentProperty && environmentProperty.loggingContext is { IsValid: true } loggingContext && !environmentProperty._loggedEnvProperty && !Traits.LogAllEnvironmentVariables)
Evaluation\Evaluator.cs (9)
233data = new PropertyTrackingEvaluatorDataWrapper<P, I, M, D>(data, _evaluationLoggingContext, Traits.Instance.LogPropertyTracking); 362properties = Traits.LogAllEnvironmentVariables ? evaluator._data.Properties : evaluator.FilterOutEnvironmentDerivedProperties(evaluator._data.Properties); 640_logProjectImportedEvents = Traits.Instance.EscapeHatches.LogProjectImports; 803if (Traits.Instance.EscapeHatches.DebugEvaluation) 881if (!Traits.Instance.EscapeHatches.IgnoreTreatAsLocalProperty) 1126_evaluationLoggingContext.LogWarning("", new BuildEventFileInfo(""), "ChangeWave_InvalidFormat", Traits.Instance.MSBuildDisableFeaturesFromVersion, $"[{string.Join(", ", ChangeWaves.AllWaves.Select(x => x.ToString()))}]"); 1129_evaluationLoggingContext.LogWarning("", new BuildEventFileInfo(""), "ChangeWave_OutOfRotation", ChangeWaves.DisabledWave, Traits.Instance.MSBuildDisableFeaturesFromVersion, $"[{string.Join(", ", ChangeWaves.AllWaves.Select(x => x.ToString()))}]"); 1762Traits.Instance.EscapeHatches.SdkReferencePropertyExpansion ?? 2271if (((_loadSettings & ProjectLoadSettings.IgnoreEmptyImports) != 0 || Traits.Instance.EscapeHatches.IgnoreEmptyImports) && ProjectRootElement.IsEmptyXmlFile(importFileUnescaped))
Evaluation\Expander.cs (4)
697return (options & ExpanderOptions.Truncate) != 0 && !Traits.Instance.EscapeHatches.DoNotTruncateConditions; 2324if (Traits.Instance.UseLazyWildCardEvaluation) 4221if (Traits.Instance.EnableAllPropertyFunctions) 4233if (Traits.Instance.EnableAllPropertyFunctions)
Evaluation\Expander\WellKnownFunctions.cs (1)
887if (Traits.Instance.LogPropertyFunctionsRequiringReflection)
Evaluation\LazyItemEvaluator.cs (2)
42private Dictionary<string, LazyItemList> _itemLists = Traits.Instance.EscapeHatches.UseCaseSensitiveItemNames ? 468public ImmutableDictionary<string, LazyItemList>.Builder ReferencedItemLists { get; } = Traits.Instance.EscapeHatches.UseCaseSensitiveItemNames ?
Evaluation\LazyItemEvaluator.IncludeOperation.cs (1)
96bool skipGlob = !_conditionResult && globFragment.IsFullFileSystemScan && !Traits.Instance.EscapeHatches.AlwaysEvaluateDangerousGlobs;
Evaluation\LazyItemEvaluator.RemoveOperation.cs (1)
62if (listBuilder.Count >= Traits.Instance.DictionaryBasedItemRemoveThreshold)
Evaluation\LazyItemEvaluator.UpdateOperation.cs (1)
116&& !Traits.Instance.EscapeHatches.DoNotExpandQualifiedMetadataInUpdateOperation)
Evaluation\ProjectRootElementCache.cs (1)
178if (!Traits.Instance.EscapeHatches.AlwaysDoImmutableFilesUpToDateCheck && FileClassifier.Shared.IsNonModifiable(projectFile))
Evaluation\PropertiesUseTracker.cs (1)
33private bool _warnForUninitializedProperties = BuildParameters.WarnOnUninitializedProperty || Traits.Instance.EscapeHatches.WarnOnUninitializedProperty;
FileMatcher.cs (2)
105if (Traits.Instance.MSBuildCacheFileEnumerations) 2102if (logDriveEnumeratingWildcard && Traits.Instance.ThrowOnDriveEnumeratingWildcard)
FileUtilities.cs (3)
1033return Traits.Instance.CacheFileExistence 1057return Traits.Instance.CacheFileExistence 1081return Traits.Instance.CacheFileExistence
Instance\ProjectInstance.cs (2)
2383var forcedProjectInstanceTranslationMode = Traits.Instance.EscapeHatches.ProjectInstanceTranslation; 3167if (Traits.Instance.EscapeHatches.DebugEvaluation)
Instance\ProjectPropertyInstance.cs (2)
102if (this is EnvironmentDerivedProjectPropertyInstance envProperty && envProperty.loggingContext?.IsValid == true && !envProperty._loggedEnvProperty && !Traits.LogAllEnvironmentVariables) 116if (this is EnvironmentDerivedProjectPropertyInstance envProperty && envProperty.loggingContext?.IsValid == true && !envProperty._loggedEnvProperty && !Traits.LogAllEnvironmentVariables)
Logging\BaseConsoleLogger.cs (3)
884Traits.LogAllEnvironmentVariables = !string.IsNullOrEmpty(Environment.GetEnvironmentVariable("MSBUILDLOGALLENVIRONMENTVARIABLES")); 953bool logPropertiesAndItemsAfterEvaluation = Traits.Instance.EscapeHatches.LogPropertiesAndItemsAfterEvaluation ?? true; 994Traits.LogAllEnvironmentVariables = true;
Logging\BinaryLogger\BinaryLogger.cs (4)
167_initialLogImports = Traits.Instance.EscapeHatches.LogProjectImports; 174Traits.Instance.EscapeHatches.LogProjectImports = true; 175bool logPropertiesAndItemsAfterEvaluation = Traits.Instance.EscapeHatches.LogPropertiesAndItemsAfterEvaluation ?? true; 321Traits.Instance.EscapeHatches.LogProjectImports = _initialLogImports;
Logging\BinaryLogger\BuildEventArgsWriter.cs (1)
292if (Traits.LogAllEnvironmentVariables)
Logging\ParallelLogger\ParallelConsoleLogger.cs (1)
234if (Traits.LogAllEnvironmentVariables)
Logging\SerialConsoleLogger.cs (1)
107if (Traits.LogAllEnvironmentVariables)
TelemetryInfra\InternalTelemetryConsumingLogger.cs (1)
43if (!Traits.Instance.FlushNodesTelemetryIntoConsole)
Utilities\EngineFileUtilities.cs (4)
28if (Traits.Instance.UseLazyWildCardEvaluation) 208if (Traits.Instance.LogExpandedWildcards) 293if (logDriveEnumeratingWildcard && Traits.Instance.ThrowOnDriveEnumeratingWildcard) 550return Traits.Instance.UseLazyWildCardEvaluation && !forceEvaluateWildCards && MatchesLazyWildcard(filespecEscaped);
Microsoft.Build.Engine.OM.UnitTests (4)
DebugUtils.cs (1)
35if (Traits.Instance.DebugEngine)
FileUtilities.cs (3)
1033return Traits.Instance.CacheFileExistence 1057return Traits.Instance.CacheFileExistence 1081return Traits.Instance.CacheFileExistence
Microsoft.Build.Engine.UnitTests (3)
BackEnd\ResultsCache_Tests.cs (1)
421Traits.UpdateFromEnvironment();
BuildEventArgsSerialization_Tests.cs (2)
59Traits.LogAllEnvironmentVariables = serializeAllEnvironmentVariables; 82Traits.LogAllEnvironmentVariables = false;
Microsoft.Build.Framework (11)
NativeMethods.cs (4)
592bool isMaxPathRestricted = Traits.Instance.EscapeHatches.DisableLongPaths || IsMaxPathLegacyWindows(); 1156if (Traits.Instance.EscapeHatches.AlwaysDoImmutableFilesUpToDateCheck) 1188if (Traits.Instance.EscapeHatches.AlwaysUseContentTimestamp) 1202if ((data.fileAttributes & FILE_ATTRIBUTE_REPARSE_POINT) == FILE_ATTRIBUTE_REPARSE_POINT && !Traits.Instance.EscapeHatches.UseSymlinkTimeInsteadOfTargetTime)
Telemetry\OpenTelemetryManager.cs (5)
207private bool IsOptOut() => Traits.Instance.FrameworkTelemetryOptOut || Traits.Instance.SdkTelemetryOptOut || !ChangeWaves.AreFeaturesEnabled(ChangeWaves.Wave17_14); 212private bool IsOptIn() => !IsOptOut() && (Traits.Instance.TelemetryOptIn || Traits.Instance.TelemetrySampleRateOverride.HasValue); 219double? overrideRate = Traits.Instance.TelemetrySampleRateOverride;
Traits.cs (2)
14private static Traits _instance = new Traits(); 16public static Traits Instance
Microsoft.Build.Tasks.Core (14)
AssemblyDependency\ReferenceTable.cs (1)
3028if (!Traits.Instance.EscapeHatches.TargetPathForRelatedFiles)
AssemblyDependency\ResolveAssemblyReference.cs (1)
2413Traits.Instance.EscapeHatches.CacheAssemblyInformation
CommunicationsUtilities.cs (1)
232private static readonly bool s_trace = Traits.Instance.DebugNodeCommunication;
Copy.cs (2)
318if (!Traits.Instance.EscapeHatches.CopyWithoutDelete && 1102int parallelism = Traits.Instance.CopyTaskParallelism;
CreateItem.cs (1)
170if (logDriveEnumeratingWildcard && Traits.Instance.ThrowOnDriveEnumeratingWildcard)
DebugUtils.cs (1)
35if (Traits.Instance.DebugEngine)
Exec.cs (1)
593if (!Traits.Instance.EscapeHatches.UseAutoRunWhenLaunchingProcessUnderCmd)
FileMatcher.cs (2)
105if (Traits.Instance.MSBuildCacheFileEnumerations) 2102if (logDriveEnumeratingWildcard && Traits.Instance.ThrowOnDriveEnumeratingWildcard)
FileUtilities.cs (3)
1033return Traits.Instance.CacheFileExistence 1057return Traits.Instance.CacheFileExistence 1081return Traits.Instance.CacheFileExistence
GenerateResource.cs (1)
3016if (Traits.Instance.EscapeHatches.UseMinimalResxParsingInCoreScenarios)
Microsoft.Build.UnitTests.Shared (1)
RunnerUtilities.cs (1)
146if (Traits.Instance.DebugUnitTests)
Microsoft.Build.Utilities.Core (9)
DebugUtils.cs (1)
35if (Traits.Instance.DebugEngine)
FileMatcher.cs (2)
105if (Traits.Instance.MSBuildCacheFileEnumerations) 2102if (logDriveEnumeratingWildcard && Traits.Instance.ThrowOnDriveEnumeratingWildcard)
FileUtilities.cs (3)
1033return Traits.Instance.CacheFileExistence 1057return Traits.Instance.CacheFileExistence 1081return Traits.Instance.CacheFileExistence
MuxLogger.cs (1)
865Traits.LogAllEnvironmentVariables ? _buildStartedEvent.BuildEnvironment : _buildStartedEvent.BuildEnvironment?.Where(kvp => EnvironmentUtilities.IsWellKnownEnvironmentDerivedProperty(kvp.Key)).ToDictionary(kvp => kvp.Key, kvp => kvp.Value));
ToolTask.cs (2)
1434if (Traits.Instance.EscapeHatches.AvoidUnicodeWhenWritingToolTaskBatch) 1472commandLineCommands = $"{(Traits.Instance.EscapeHatches.UseAutoRunWhenLaunchingProcessUnderCmd ? string.Empty : "/D ")}/C \"{batchFileForCommandLine}\"";
MSBuild (19)
CommandLineSwitches.cs (1)
715if (!unquoteParameter || !Traits.Instance.EscapeHatches.UnquoteTargetSwitchParameters)
CommunicationsUtilities.cs (1)
232private static readonly bool s_trace = Traits.Instance.DebugNodeCommunication;
DebugUtils.cs (1)
35if (Traits.Instance.DebugEngine)
FileUtilities.cs (3)
1033return Traits.Instance.CacheFileExistence 1057return Traits.Instance.CacheFileExistence 1081return Traits.Instance.CacheFileExistence
OutOfProcTaskHostNode.cs (2)
184_debugCommunications = Traits.Instance.DebugNodeCommunication; 810_shutdownReason = buildComplete.PrepareForReuse && Traits.Instance.EscapeHatches.ReuseTaskHostNodes ? NodeEngineShutdownReason.BuildCompleteReuse : NodeEngineShutdownReason.BuildComplete;
XMake.cs (11)
264Environment.GetEnvironmentVariable(Traits.UseMSBuildServerEnvVarName) == "1" && 265!Traits.Instance.EscapeHatches.EnsureStdOutForChildNodesIsPrimaryStdout && 727bool enableRestore = Traits.Instance.EnableRestoreFirst; 1543if (Traits.Instance.EnableRarNode) 1555if (!Traits.Instance.EscapeHatches.DoNotSendDeferredMessagesToBuildManager) 1812if (Traits.Instance.DebugEngine) 2792if (Traits.Instance.DebugEngine) 2882if (Traits.Instance.EscapeHatches.EnsureStdOutForChildNodesIsPrimaryStdout) 3961if (cpuCount == 1 && !Traits.Instance.InProcNodeDisabled) 4031if (cpuCount == 1 && !Traits.Instance.InProcNodeDisabled) 4067if (cpuCount == 1 && !Traits.Instance.InProcNodeDisabled)