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)'))