private ProjectRestoreSettings CreateProjectRestoreSettings() { var prs = new ProjectRestoreSettings(); prs.HideWarningsAndErrors = true; return(prs); }
private PackageSpec ToPackageSpec(ProjectNames projectNames, IVsProjectRestoreInfo projectRestoreInfo) { var tfis = projectRestoreInfo .TargetFrameworks .Cast <IVsTargetFrameworkInfo>() .Select(ToTargetFrameworkInformation) .ToArray(); var projectFullPath = Path.GetFullPath(projectNames.FullName); var projectDirectory = Path.GetDirectoryName(projectFullPath); // TODO: Remove temporary integration code NuGet/Home#3810 // Initialize OTF and CT values when original value of OTF property is not provided. var originalTargetFrameworks = tfis .Select(tfi => tfi.FrameworkName.GetShortFolderName()) .ToArray(); var crossTargeting = originalTargetFrameworks.Length > 1; // if "TargetFrameworks" property presents in the project file prefer the raw value. if (!string.IsNullOrWhiteSpace(projectRestoreInfo.OriginalTargetFrameworks)) { originalTargetFrameworks = MSBuildStringUtility.Split( projectRestoreInfo.OriginalTargetFrameworks); // cross-targeting is always ON even in case of a single tfm in the list. crossTargeting = true; } var outputPath = Path.GetFullPath( Path.Combine( projectDirectory, projectRestoreInfo.BaseIntermediatePath)); var projectName = GetPackageId(projectNames, projectRestoreInfo.TargetFrameworks); var packageSpec = new PackageSpec(tfis) { Name = projectName, Version = GetPackageVersion(projectRestoreInfo.TargetFrameworks), FilePath = projectFullPath, ProjectId = TryGetProjectIdFromCache(projectFullPath, _projectSystemCache, out var projectId) ? projectId : string.Empty, RestoreMetadata = new ProjectRestoreMetadata { ProjectName = projectName, ProjectUniqueName = projectFullPath, ProjectPath = projectFullPath, OutputPath = outputPath, ProjectStyle = ProjectStyle.PackageReference, TargetFrameworks = projectRestoreInfo.TargetFrameworks .Cast <IVsTargetFrameworkInfo>() .Select(item => ToProjectRestoreMetadataFrameworkInfo(item, projectDirectory)) .ToList(), OriginalTargetFrameworks = originalTargetFrameworks, CrossTargeting = crossTargeting, // Read project properties for settings. ISettings values will be applied later since // this value is put in the nomination cache and ISettings could change. PackagesPath = GetRestoreProjectPath(projectRestoreInfo.TargetFrameworks), FallbackFolders = GetRestoreFallbackFolders(projectRestoreInfo.TargetFrameworks).AsList(), Sources = GetRestoreSources(projectRestoreInfo.TargetFrameworks) .Select(e => new PackageSource(e)) .ToList(), ProjectWideWarningProperties = WarningProperties.GetWarningProperties( treatWarningsAsErrors: GetSingleOrDefaultPropertyValue(projectRestoreInfo.TargetFrameworks, TreatWarningsAsErrors, e => e), warningsAsErrors: GetSingleOrDefaultNuGetLogCodes(projectRestoreInfo.TargetFrameworks, WarningsAsErrors, e => MSBuildStringUtility.GetNuGetLogCodes(e)), noWarn: GetSingleOrDefaultNuGetLogCodes(projectRestoreInfo.TargetFrameworks, NoWarn, e => MSBuildStringUtility.GetNuGetLogCodes(e))), CacheFilePath = NoOpRestoreUtilities.GetProjectCacheFilePath(cacheRoot: outputPath, projectPath: projectFullPath) }, RuntimeGraph = GetRuntimeGraph(projectRestoreInfo), RestoreSettings = new ProjectRestoreSettings() { HideWarningsAndErrors = true } }; return(packageSpec); }