@@ -40,6 +40,7 @@ public class RestoreCommand
4040 private readonly Dictionary < RestoreTargetGraph , Dictionary < string , LibraryIncludeFlags > > _includeFlagGraphs
4141 = new Dictionary < RestoreTargetGraph , Dictionary < string , LibraryIncludeFlags > > ( ) ;
4242
43+ internal IEnvironmentVariableReader EnvironmentVariableReader { get ; init ; }
4344 public Guid ParentId { get ; }
4445
4546 private const string ProjectRestoreInformation = nameof ( ProjectRestoreInformation ) ;
@@ -67,6 +68,7 @@ private readonly Dictionary<RestoreTargetGraph, Dictionary<string, LibraryInclud
6768 private const string UpdatedMSBuildFiles = nameof ( UpdatedMSBuildFiles ) ;
6869 private const string IsPackageInstallationTrigger = nameof ( IsPackageInstallationTrigger ) ;
6970 private const string UsesLegacyPackagesDirectory = nameof ( UsesLegacyPackagesDirectory ) ;
71+ private const string UsesLegacyAssetTargetFallback = nameof ( UsesLegacyAssetTargetFallback ) ;
7072
7173 // no-op data names
7274 private const string NoOpDuration = nameof ( NoOpDuration ) ;
@@ -173,6 +175,7 @@ public RestoreCommand(RestoreRequest request)
173175
174176 _isLockFileEnabled = PackagesLockFileUtilities . IsNuGetLockFileEnabled ( _request . Project ) ;
175177 _enableNewDependencyResolver = _request . Project . RuntimeGraph . Supports . Count == 0 && ShouldUseNewResolverWithLockFile ( _isLockFileEnabled , _request . Project ) && ! _request . Project . RestoreMetadata . UseLegacyDependencyResolver ;
178+ EnvironmentVariableReader = EnvironmentVariableWrapper . Instance ;
176179 }
177180
178181 // Use the new resolver if lock files are not enabled, or if lock files are enabled and legacy projects or .NET 10 SDK is used.
@@ -384,6 +387,8 @@ private void InitializeTelemetry(TelemetryActivity telemetry, int httpSourcesCou
384387 telemetry . TelemetryEvent [ NETSdkVersion ] = _request . Project . RestoreSettings . SdkVersion ;
385388 telemetry . TelemetryEvent [ IsPackageInstallationTrigger ] = ! _request . IsRestoreOriginalAction ;
386389 telemetry . TelemetryEvent [ UsesLegacyPackagesDirectory ] = ! _request . IsLowercasePackagesDirectory ;
390+ telemetry . TelemetryEvent [ UsesLegacyAssetTargetFallback ] = MSBuildStringUtility . IsTrue ( EnvironmentVariableReader . GetEnvironmentVariable ( "NUGET_USE_LEGACY_ASSET_TARGET_FALLBACK_DEPENDENCY_RESOLUTION" ) ) ;
391+
387392 _operationId = telemetry . OperationId ;
388393
389394 var isCpvmEnabled = _request . Project . RestoreMetadata ? . CentralPackageVersionsEnabled ?? false ;
0 commit comments