Skip to content

Commit 7e5fac5

Browse files
authored
Merge pull request #603 from dsyme/fix-build-3
Use MSBuild 12 as backup for project cracker tool, if 14 is not on the machine
2 parents 61fb671 + 26517af commit 7e5fac5

File tree

2 files changed

+13
-9
lines changed

2 files changed

+13
-9
lines changed

src/fsharp/FSharp.Compiler.Service.ProjectCrackerTool/FSharp.Compiler.Service.ProjectCrackerTool.fsproj

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -63,20 +63,21 @@
6363
<None Include="FSharp.Compiler.Service.ProjectCracker.targets" />
6464
</ItemGroup>
6565
<ItemGroup>
66-
<Reference Include="Microsoft.Build.Framework" Condition=" '$(TargetFrameworkVersion)' == 'v4.0'" />
67-
<Reference Include="Microsoft.Build.Engine" Condition=" '$(TargetFrameworkVersion)' == 'v4.0'" />
68-
<Reference Include="Microsoft.Build" Condition=" '$(TargetFrameworkVersion)' == 'v4.0'" />
69-
<Reference Include="Microsoft.Build.Utilities.v4.0" Condition=" '$(TargetFrameworkVersion)' == 'v4.0'" />
70-
<Reference Include="Microsoft.Build.Framework, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" Condition=" '$(TargetFrameworkVersion)' == 'v4.5'">
66+
<Reference Include="Microsoft.Build.Framework, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
7167
<SpecificVersion>True</SpecificVersion>
68+
<Private>True</Private>
7269
</Reference>
73-
<Reference Include="Microsoft.Build.Engine, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" Condition=" '$(TargetFrameworkVersion)' == 'v4.5'">
70+
<Reference Include="Microsoft.Build.Engine, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
7471
<SpecificVersion>True</SpecificVersion>
72+
<Private>True</Private>
7573
</Reference>
76-
<Reference Include="Microsoft.Build, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" Condition=" '$(TargetFrameworkVersion)' == 'v4.5'">
74+
<Reference Include="Microsoft.Build, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
7775
<SpecificVersion>True</SpecificVersion>
76+
<Private>True</Private>
77+
</Reference>
78+
<Reference Include="Microsoft.Build.Utilities.v12.0">
79+
<Private>True</Private>
7880
</Reference>
79-
<Reference Include="Microsoft.Build.Utilities.v12.0" Condition=" '$(TargetFrameworkVersion)' == 'v4.5'" />
8081
<Reference Include="mscorlib" />
8182
<Reference Include="FSharp.Core, Version=$(TargetFSharpCoreVersion), Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
8283
<Private>False</Private>

src/fsharp/FSharp.Compiler.Service.ProjectCrackerTool/ProjectCrackerTool.fs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -432,7 +432,10 @@ module internal ProjectCrackerTool =
432432
let requestedAssembly = AssemblyName(evArgs.Name)
433433
if requestedAssembly.Name.StartsWith("Microsoft.Build") &&
434434
not (requestedAssembly.Name.EndsWith(".resources")) then
435-
requestedAssembly.Version <- Version("14.0.0.0")
435+
// If the version of MSBuild that we're using wasn't present on the machine, then
436+
// just revert back to 12.0.0.0 since that's normally installed as part of the .NET
437+
// Framework.
438+
requestedAssembly.Version <- Version("12.0.0.0")
436439
Assembly.Load (requestedAssembly)
437440
else
438441
null)

0 commit comments

Comments
 (0)