diff --git a/eng/common/tools.ps1 b/eng/common/tools.ps1 index 2205c9e81173..085e8a75c573 100644 --- a/eng/common/tools.ps1 +++ b/eng/common/tools.ps1 @@ -211,12 +211,12 @@ function InstallDotNetSdk([string] $dotnetRoot, [string] $version, [string] $arc InstallDotNet -dotnetRoot $dotnetRoot -version $version -architecture $architecture -skipNonVersionedFiles $false -runtimeSourceFeed $runtimeSourceFeed -runtimeSourceFeedKey $runtimeSourceFeedKey } -function InstallDotNet([string] $dotnetRoot, - [string] $version, - [string] $architecture = "", - [string] $runtime = "", - [bool] $skipNonVersionedFiles = $false, - [string] $runtimeSourceFeed = "", +function InstallDotNet([string] $dotnetRoot, + [string] $version, + [string] $architecture = "", + [string] $runtime = "", + [bool] $skipNonVersionedFiles = $false, + [string] $runtimeSourceFeed = "", [string] $runtimeSourceFeedKey = "") { $installScript = GetDotNetInstallScript $dotnetRoot @@ -323,7 +323,16 @@ function InitializeVisualStudioMSBuild([bool]$install, [object]$vsRequirements = } $msbuildVersionDir = if ([int]$vsMajorVersion -lt 16) { "$vsMajorVersion.0" } else { "Current" } - return $global:_MSBuildExe = Join-Path $vsInstallDir "MSBuild\$msbuildVersionDir\Bin\msbuild.exe" + + $local:BinFolder = Join-Path $vsInstallDir "MSBuild\$msbuildVersionDir\Bin" + $local:Prefer64bit = if ($vsRequirements.Prefer64bit) { $vsRequirements.Prefer64bit } else { $false } + if ($local:Prefer64bit -and (Test-Path(Join-Path $local:BinFolder "amd64"))) { + $global:_MSBuildExe = Join-Path $local:BinFolder "amd64\msbuild.exe" + } else { + $global:_MSBuildExe = Join-Path $local:BinFolder "msbuild.exe" + } + + return $global:_MSBuildExe } function InitializeVisualStudioEnvironmentVariables([string] $vsInstallDir, [string] $vsMajorVersion) { @@ -523,7 +532,7 @@ function InitializeNativeTools() { } } -function InitializeToolset([string] $runtimeSourceFeed, [string] $runtimeSourceFeedKey) +function InitializeToolset([string] $runtimeSourceFeed, [string] $runtimeSourceFeedKey) { if (Test-Path variable:global:_ToolsetBuildProj) { return $global:_ToolsetBuildProj diff --git a/global.json b/global.json index ccd49e27e694..189bcfa37638 100644 --- a/global.json +++ b/global.json @@ -20,7 +20,8 @@ "Microsoft.VisualStudio.Component.VC.ATL", "Microsoft.VisualStudio.Component.VC.Tools.x86.x64", "Microsoft.VisualStudio.Component.Windows10SDK.17134" - ] + ], + "Prefer64bit": true } }, "msbuild-sdks": { diff --git a/src/ProjectTemplates/ProjectTemplatesNoDeps.slnf b/src/ProjectTemplates/ProjectTemplatesNoDeps.slnf index 6d45dcfe3fb2..9c39bccae863 100644 --- a/src/ProjectTemplates/ProjectTemplatesNoDeps.slnf +++ b/src/ProjectTemplates/ProjectTemplatesNoDeps.slnf @@ -2,7 +2,6 @@ "solution": { "path": "ProjectTemplates.sln", "projects": [ - "ComponentsWebAssembly.ProjectTemplates\\Microsoft.AspNetCore.Components.WebAssembly.Templates.csproj", "Web.Client.ItemTemplates\\Microsoft.DotNet.Web.Client.ItemTemplates.csproj", "Web.ItemTemplates\\Microsoft.DotNet.Web.ItemTemplates.csproj", "Web.ProjectTemplates\\Microsoft.DotNet.Web.ProjectTemplates.csproj", @@ -10,4 +9,4 @@ "test\\ProjectTemplates.Tests.csproj" ] } -} \ No newline at end of file +} diff --git a/src/ProjectTemplates/test/ProjectTemplates.Tests.csproj b/src/ProjectTemplates/test/ProjectTemplates.Tests.csproj index 0bb298c5edf4..016e024dc2b0 100644 --- a/src/ProjectTemplates/test/ProjectTemplates.Tests.csproj +++ b/src/ProjectTemplates/test/ProjectTemplates.Tests.csproj @@ -37,7 +37,6 @@ - false true @@ -68,7 +67,7 @@ <_Parameter2>true - + $([MSBuild]::NormalizePath('$(OutputPath)$(TestTemplateCreationFolder)'))