1 write to _request
NuGet.Commands (1)
RestoreCommand\RestoreCommand.cs (1)
169
_request
= request ?? throw new ArgumentNullException(nameof(request));
174 references to _request
NuGet.Commands (174)
RestoreCommand\RestoreCommand.cs (174)
173
if (
_request
.LockFileVersion < LockFileFormat.LegacyVersion ||
_request
.LockFileVersion > LockFileFormat.Version)
177
message: $"Assets file version {
_request
.LockFileVersion} is not supported.");
183
var collectorLogger = new RestoreCollectorLogger(
_request
.Log, collectorLoggerHideWarningsAndErrors);
185
collectorLogger.ApplyRestoreInputs(
_request
.Project);
190
_isLockFileEnabled = PackagesLockFileUtilities.IsNuGetLockFileEnabled(
_request
.Project);
191
_enableNewDependencyResolver =
_request
.Project.RuntimeGraph.Supports.Count == 0 && ShouldUseNewResolverWithLockFile(_isLockFileEnabled,
_request
.Project) && !
_request
.Project.RestoreMetadata.UseLegacyDependencyResolver;
192
EnvironmentVariableReader =
_request
.EnvironmentVariableReader;
214
int httpSourcesCount =
_request
.DependencyProviders.RemoteProviders.Count(e => e.IsHttp);
216
_request
.Project.RestoreMetadata?.RestoreAuditProperties,
217
_request
.Project.FilePath,
220
telemetry.TelemetryEvent[PackagesWithFloatingVersionCount] = CountPackagesWithFloatingVersion(
_request
.Project);
227
_request
.DependencyProviders.GlobalPackages
230
localRepositories.AddRange(
_request
.DependencyProviders.FallbackPackageFolders);
232
var contextForProject = CreateRemoteWalkContext(
_request
, _logger);
239
if (NoOpRestoreUtilities.IsNoOpSupported(
_request
))
252
bool success = !
_request
.AdditionalMessages?.Any(m => m.Level == LogLevel.Error) ?? true;
255
var packagesLockFilePath = PackagesLockFileUtilities.GetNuGetLockFilePath(
_request
.Project);
266
AnalyzePruningResults(
_request
.Project, telemetry.TelemetryEvent, _logger);
283
if (CommandsEventSource.Instance.IsEnabled()) CommandsEventSource.Instance.RestoreCommand_BuildAssetsFileStart(
_request
.Project.FilePath);
286
_request
.ExistingLockFile,
287
_request
.Project,
292
if (CommandsEventSource.Instance.IsEnabled()) CommandsEventSource.Instance.RestoreCommand_BuildAssetsFileStop(
_request
.Project.FilePath);
302
_request
.Project,
307
_request
.ValidateRuntimeAssets,
350
_request
.ExistingLockFile,
356
dependencyGraphSpecFilePath: NoOpRestoreUtilities.GetPersistedDGSpecFilePath(
_request
),
357
dependencyGraphSpec:
_request
.DependencyGraphSpec,
358
_request
.ProjectStyle,
363
DoNotWriteDependencyGraphSpec =
_request
.Project.RestoreMetadata.RestoreDoNotWriteDependencyGraphSpec
368
PopulateAnalyzerAssetsTelemetry(telemetry.TelemetryEvent, assetsFile, graphs,
_request
.Project);
379
success &= AreCentralVersionRequirementsSatisfied(
_request
, httpSourcesCount);
390
telemetry.TelemetryEvent.AddPiiData(ProjectFilePath,
_request
.Project.FilePath);
391
bool isPackageSourceMappingEnabled =
_request
.PackageSourceMapping?.IsEnabled ?? false;
393
telemetry.TelemetryEvent[SourcesCount] =
_request
.DependencyProviders.RemoteProviders.Count;
395
telemetry.TelemetryEvent[LocalSourcesCount] =
_request
.DependencyProviders.RemoteProviders.Count - httpSourcesCount;
396
telemetry.TelemetryEvent[FallbackFoldersCount] =
_request
.DependencyProviders.FallbackPackageFolders.Count;
398
telemetry.TelemetryEvent[UseLegacyDependencyResolver] =
_request
.Project.RestoreMetadata.UseLegacyDependencyResolver;
400
telemetry.TelemetryEvent[TargetFrameworks] = GetTargetFrameworksAsString(
_request
.Project.TargetFrameworks);
401
telemetry.TelemetryEvent[TargetFrameworksCount] =
_request
.Project.TargetFrameworks.Count;
402
telemetry.TelemetryEvent[RuntimeIdentifiersCount] =
_request
.Project.RuntimeGraph.Runtimes.Count;
403
telemetry.TelemetryEvent[TreatWarningsAsErrors] =
_request
.Project.RestoreMetadata.ProjectWideWarningProperties.AllWarningsAsErrors;
404
telemetry.TelemetryEvent[SDKAnalysisLevel] =
_request
.Project.RestoreMetadata.SdkAnalysisLevel;
405
telemetry.TelemetryEvent[UsingMicrosoftNETSdk] =
_request
.Project.RestoreMetadata.UsingMicrosoftNETSdk;
406
telemetry.TelemetryEvent[NETSdkVersion] =
_request
.Project.RestoreSettings.SdkVersion;
407
telemetry.TelemetryEvent[IsPackageInstallationTrigger] = !
_request
.IsRestoreOriginalAction;
408
telemetry.TelemetryEvent[UsesLegacyPackagesDirectory] = !
_request
.IsLowercasePackagesDirectory;
413
var isCpvmEnabled =
_request
.Project.RestoreMetadata?.CentralPackageVersionsEnabled ?? false;
418
var isCentralPackageTransitivePinningEnabled =
_request
.Project.RestoreMetadata?.CentralPackageTransitivePinningEnabled ?? false;
423
telemetry.TelemetryEvent[AnalyzerAssetsEnabled] =
_request
.Project.RestoreMetadata?.RestoreEnableAnalyzerAssets ?? false;
425
PopulatePruningEnabledTelemetry(
_request
.Project, telemetry.TelemetryEvent);
597
if (CommandsEventSource.Instance.IsEnabled()) CommandsEventSource.Instance.RestoreCommand_CalcNoOpRestoreStart(
_request
.Project.FilePath);
599
if (CommandsEventSource.Instance.IsEnabled()) CommandsEventSource.Instance.RestoreCommand_CalcNoOpRestoreStop(
_request
.Project.FilePath);
602
telemetry.TelemetryEvent[ForceRestore] = !
_request
.AllowNoOp;
605
if (noOpCacheFileEvaluation &&
_request
.AllowNoOp && !
_request
.RestoreForceEvaluate)
609
var noOpSuccess = NoOpRestoreUtilities.VerifyRestoreOutput(
_request
, cacheFile);
617
_logger.LogVerbose(string.Format(CultureInfo.CurrentCulture, Strings.Log_RestoreNoOpFinish,
_request
.Project.Name));
636
_request
.LockFilePath,
637
new Lazy<LockFile>(() => LockFileUtilities.GetLockFile(
_request
.LockFilePath, _logger)),
639
_request
.Project.RestoreMetadata.CacheFilePath,
640
_request
.ProjectStyle,
647
_logger.LogVerbose(string.Format(CultureInfo.CurrentCulture, Strings.Log_RestoreNoOpDGChanged,
_request
.Project.Name));
660
if (
_request
.DependencyProviders.RemoteProviders != null)
662
foreach (var remoteProvider in
_request
.DependencyProviders.RemoteProviders)
670
if (auditEnabled &&
_request
.DependencyProviders.VulnerabilityInfoProviders != null)
672
foreach (var vulnerabilityInfoProvider in
_request
.DependencyProviders.VulnerabilityInfoProviders)
698
_request
.Project.RestoreMetadata.SdkAnalysisLevel,
699
_request
.Project.RestoreMetadata.UsingMicrosoftNETSdk,
756
if (CommandsEventSource.Instance.IsEnabled()) CommandsEventSource.Instance.RestoreCommand_BuildRestoreGraphStart(
_request
.Project.FilePath);
761
(resultSuccessful, graphs) = await ExecuteRestoreAsync(
_request
.DependencyProviders.GlobalPackages,
_request
.DependencyProviders.FallbackPackageFolders, contextForProject, telemetry, success, token);
766
(resultSuccessful, graphs) = await ExecuteLegacyRestoreAsync(
_request
.DependencyProviders.GlobalPackages,
_request
.DependencyProviders.FallbackPackageFolders, contextForProject, token, telemetry);
770
if (CommandsEventSource.Instance.IsEnabled()) CommandsEventSource.Instance.RestoreCommand_BuildRestoreGraphStop(
_request
.Project.FilePath);
784
var frameworkRuntimePairs = CreateFrameworkRuntimeDefinitions(
_request
.Project, RequestRuntimeUtility.GetRestoreRuntimes(
_request
));
788
var restoreTargetGraph = RestoreTargetGraph.Create(
_request
.Project.RuntimeGraph, Enumerable.Empty<GraphNode<RemoteResolveResult>>(), contextForProject, frameworkRuntimePairs[i].TargetAlias, frameworkRuntimePairs[i].Framework, frameworkRuntimePairs[i].RuntimeIdentifier);
819
cacheFilePath = NoOpRestoreUtilities.GetCacheFilePath(
_request
, assetsFile);
822
if (
_request
.LockFilePath == null
823
&&
_request
.ProjectStyle == ProjectStyle.DotnetCliTool)
825
_request
.LockFilePath = assetFilePath;
831
_request
.Project,
835
_request
,
875
if (
_request
.AdditionalMessages != null)
877
logsEnumerable = logsEnumerable.Concat(
_request
.AdditionalMessages);
888
cacheFile.ProjectFilePath =
_request
.Project.FilePath;
890
cacheFile.ExpectedPackageFilePaths = NoOpRestoreUtilities.GetRestoreOutput(
_request
, assetsFile);
955
_request
.Project.RestoreMetadata.RestoreAuditProperties,
956
_request
.Project.FilePath,
958
_request
.DependencyProviders.VulnerabilityInfoProviders,
959
_request
.Project.TargetFrameworks,
1018
IEnumerable<NuGetFramework> badPlatforms =
_request
.Project.TargetFrameworks
1038
return EnsureNoAliasesWithDisallowedCharacters(
_request
.Project, _logger);
1261
var project =
_request
.Project;
1278
foreach (var frameworkInfo in
_request
.Project.TargetFrameworks)
1340
foreach (TargetFrameworkInformation targetFrameworkInformation in
_request
.Project.TargetFrameworks)
1470
if (
_request
.Project.RestoreMetadata.ProjectStyle == ProjectStyle.ProjectJson)
1522
if (
_request
.Project.RestoreMetadata.ProjectStyle == ProjectStyle.DotnetCliTool)
1527
return pathComparer.Equals(cacheFile.ProjectFilePath,
_request
.Project.FilePath);
1582
var restorePackagesWithLockFile =
_request
.Project.RestoreMetadata?.RestoreLockProperties.RestorePackagesWithLockFile;
1593
await
_request
.Log.LogAsync(RestoreLogMessage.CreateError(NuGetLogCode.NU1005, message));
1602
&&
_request
.IsRestoreOriginalAction
1603
&&
_request
.RestoreForceEvaluate
1604
&&
_request
.Project.RestoreMetadata.RestoreLockProperties.RestoreLockedMode
1606
_request
.Project.RestoreMetadata.SdkAnalysisLevel,
1607
_request
.Project.RestoreMetadata.UsingMicrosoftNETSdk,
1610
await
_request
.Log.LogAsync(RestoreLogMessage.CreateWarning(NuGetLogCode.NU1512, Strings.Warning_RestoreLockedModeAndForceEvaluate));
1614
if (!
_request
.RestoreForceEvaluate && File.Exists(packagesLockFilePath))
1620
if (
_request
.DependencyGraphSpec != null)
1625
LockFileValidationResult lockFileResult = PackagesLockFileUtilities.IsLockFileValid(
_request
.DependencyGraphSpec, packagesLockFile);
1645
_request
.Project.GetTargetFramework(target.TargetFramework)?.TargetAlias :
1650
else if (
_request
.IsRestoreOriginalAction &&
_request
.Project.RestoreMetadata.RestoreLockProperties.RestoreLockedMode)
1676
var noOpDgSpec = NoOpRestoreUtilities.GetNoOpDgSpec(
_request
);
1678
if (
_request
.ProjectStyle == ProjectStyle.DotnetCliTool &&
_request
.AllowNoOp)
1681
NoOpRestoreUtilities.UpdateRequestBestMatchingToolPathsIfAvailable(
_request
);
1687
if (CacheFileExists(
_request
.Project.RestoreMetadata.CacheFilePath, out cacheFileAge))
1689
cacheFile = FileUtility.SafeRead(
_request
.Project.RestoreMetadata.CacheFilePath, (stream, path) => CacheFileFormat.Read(stream, _logger, path));
1706
if (
_request
.ProjectStyle == ProjectStyle.DotnetCliTool)
1711
_request
.LockFilePath = null;
1712
_request
.Project.RestoreMetadata.CacheFilePath = null;
1739
var projectLockFilePath =
_request
.LockFilePath;
1743
if (
_request
.ProjectStyle == ProjectStyle.DotnetCliTool)
1745
var toolName = ToolRestoreUtility.GetToolIdOrNullFromSpec(
_request
.Project);
1752
var toolPathResolver = new ToolPathResolver(
_request
.PackagesDirectory);
1761
projectLockFilePath = Path.Combine(
_request
.RestoreOutputPath, LockFileFormat.AssetsFileName);
1776
if (!
_request
.IsLowercasePackagesDirectory)
1778
var originalCase = new OriginalCaseGlobalPackageFolder(
_request
, _operationId);
1812
if (DoesProjectToolsetSupportsDuplicateFrameworks(
_request
.Project))
1814
return
_request
.LockFileVersion;
1876
bool isPinningEnabled =
_request
.Project.RestoreMetadata?.CentralPackageVersionsEnabled == true &&
_request
.Project.RestoreMetadata?.CentralPackageTransitivePinningEnabled == true; // If pinning is enabled for this project, the error message can provide details about adding a PackageVersion.
1897
_request
.Project.Name)
2027
if (await ErrorForDuplicateFrameworks(
_request
, _logger))
2033
if (
_request
.Project.TargetFrameworks.Count == 0)
2035
var message = string.Format(CultureInfo.CurrentCulture, Strings.Log_ProjectDoesNotSpecifyTargetFrameworks,
_request
.Project.Name,
_request
.Project.FilePath);
2041
_logger.LogInformation(string.Format(CultureInfo.CurrentCulture, Strings.Log_RestoringPackages,
_request
.Project.FilePath));
2046
var updatedExternalProjects = GetProjectReferences(
_request
);
2057
Name =
_request
.Project.Name,
2058
VersionRange = new VersionRange(
_request
.Project.Version),
2064
var runtimeIds = RequestRuntimeUtility.GetRestoreRuntimes(
_request
);
2065
var projectFrameworkRuntimePairs = CreateFrameworkRuntimeDefinitions(
_request
.Project, runtimeIds);
2066
var hasSupports =
_request
.Project.RuntimeGraph.Supports.Count > 0;
2068
var projectRestoreRequest = new ProjectRestoreRequest(
_request
,
_request
.Project,
_request
.ExistingLockFile, _logger)
2122
foreach (FrameworkRuntimeDefinition frameworkRuntimePair in CreateFrameworkRuntimeDefinitions(
_request
.Project, RequestRuntimeUtility.GetRestoreRuntimes(
_request
)))
2124
allGraphs.Add(RestoreTargetGraph.Create(
_request
.Project.RuntimeGraph, Enumerable.Empty<GraphNode<RemoteResolveResult>>(), context, frameworkRuntimePair.TargetAlias, frameworkRuntimePair.Framework, frameworkRuntimePair.RuntimeIdentifier));
2129
foreach (var profile in
_request
.Project.RuntimeGraph.Supports)
2151
_request
.CompatibilityProfiles.Add(pair);
2156
if (success &&
_request
.CompatibilityProfiles.Any())
2163
_request
.CompatibilityProfiles,
2210
if (
_request
.Project.TargetFrameworks.Count == 0)
2212
var message = string.Format(CultureInfo.CurrentCulture, Strings.Log_ProjectDoesNotSpecifyTargetFrameworks,
_request
.Project.Name,
_request
.Project.FilePath);
2219
var shouldDoDuplicatesCheck = !DoesProjectToolsetSupportsDuplicateFrameworks(
_request
.Project);
2223
if (await ErrorForDuplicateFrameworks(
_request
, _logger))
2230
var projectRestoreRequest = new ProjectRestoreRequest(
_request
,
_request
.Project,
_request
.ExistingLockFile, _logger)
2241
_logger.LogInformation(string.Format(CultureInfo.CurrentCulture, Strings.Log_RestoringPackages,
_request
.Project.FilePath));
2246
var updatedExternalProjects = GetProjectReferences(
_request
);
2253
DependencyGraphResolver dependencyGraphResolver = new(_logger,
_request
, telemetryActivity);
2288
foreach (FrameworkRuntimeDefinition frameworkRuntimePair in CreateFrameworkRuntimeDefinitions(
_request
.Project, RequestRuntimeUtility.GetRestoreRuntimes(
_request
)))
2290
graphs.Add(RestoreTargetGraph.Create(
_request
.Project.RuntimeGraph, Enumerable.Empty<GraphNode<RemoteResolveResult>>(), context, frameworkRuntimePair.TargetAlias, frameworkRuntimePair.Framework, frameworkRuntimePair.RuntimeIdentifier));
2295
foreach (var profile in
_request
.Project.RuntimeGraph.Supports)
2315
_request
.CompatibilityProfiles.Add(pair);