From 0121bbc4350765deaf399afc9f694988594bde8a Mon Sep 17 00:00:00 2001 From: Deep Choudhery <54324771+deepchoudhery@users.noreply.github.com> Date: Thu, 2 Jun 2022 10:26:00 -0700 Subject: [PATCH] supporting os version tfm for "-windows" (#1909) --- .../MsBuild/MsBuildProjectContextBuilder.cs | 3 ++- .../ProjectModel/ProjectContextHelper.cs | 6 ++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/Shared/Microsoft.DotNet.Scaffolding.Shared/MsBuild/MsBuildProjectContextBuilder.cs b/src/Shared/Microsoft.DotNet.Scaffolding.Shared/MsBuild/MsBuildProjectContextBuilder.cs index 357b1f6fb..9117b2949 100644 --- a/src/Shared/Microsoft.DotNet.Scaffolding.Shared/MsBuild/MsBuildProjectContextBuilder.cs +++ b/src/Shared/Microsoft.DotNet.Scaffolding.Shared/MsBuild/MsBuildProjectContextBuilder.cs @@ -44,7 +44,8 @@ public IProjectContext Build() { _projectPath, $"/t:EvaluateProjectInfoForCodeGeneration", - $"/p:OutputFile={tmpFile};CodeGenerationTargetLocation={_targetLocation};Configuration={_configuration}" + $"/p:OutputFile={tmpFile};CodeGenerationTargetLocation={_targetLocation};Configuration={_configuration}", + "-restore" }) .OnErrorLine(e => errors.Add(e)) .OnOutputLine(o => output.Add(o)) diff --git a/src/Shared/Microsoft.DotNet.Scaffolding.Shared/ProjectModel/ProjectContextHelper.cs b/src/Shared/Microsoft.DotNet.Scaffolding.Shared/ProjectModel/ProjectContextHelper.cs index ad84b3acd..5cf9e338d 100644 --- a/src/Shared/Microsoft.DotNet.Scaffolding.Shared/ProjectModel/ProjectContextHelper.cs +++ b/src/Shared/Microsoft.DotNet.Scaffolding.Shared/ProjectModel/ProjectContextHelper.cs @@ -48,6 +48,12 @@ internal static IEnumerable GetPackageDependencies(string //"targets" gives us all top-level and transitive dependencies. "packageFolders" gives us the path where the dependencies are on disk. if (root.TryGetProperty(TargetsProperty, out var targets) && root.TryGetProperty(PackageFoldersProperty, out var packageFolderPath)) { + if (targetFramework.EndsWith("-windows")) + { + //tfm in project.assets.json is netX-windows7.0 instead of netX-windows + targetFramework = $"{targetFramework}7.0"; + } + if (targets.TryGetProperty(targetFramework, out var packages)) { packageDependencies = DeserializePackages(packages, packageFolderPath, targetFrameworkMoniker);