Skip to content

Commit 3cb7cbc

Browse files
cartermpbaronfel
authored andcommitted
Don't go looking for MSBuild v12 in SimulatedMSBuildReferenceResolver (#6934)
1 parent edfbc8f commit 3cb7cbc

File tree

3 files changed

+4
-19
lines changed

3 files changed

+4
-19
lines changed

src/fsharp/SimulatedMSBuildReferenceResolver.fs

Lines changed: 2 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,10 @@ open System
1010
open System.IO
1111
open System.Reflection
1212
open Microsoft.Win32
13-
open FSharp.Compiler
1413
open FSharp.Compiler.ReferenceResolver
1514
open FSharp.Compiler.AbstractIL.Internal.Library
1615

17-
let internal SimulatedMSBuildResolver =
16+
let private SimulatedMSBuildResolver =
1817
let supportedFrameworks = [|
1918
"v4.7.2"
2019
"v4.7.1"
@@ -183,21 +182,7 @@ let internal SimulatedMSBuildResolver =
183182

184183
results.ToArray() }
185184

186-
let internal GetBestAvailableResolver() =
187-
#if !FX_RESHAPED_MSBUILD
188-
let tryMSBuild v =
189-
// Detect if MSBuild is on the machine, if so use the resolver from there
190-
let mb = try Assembly.Load(sprintf "Microsoft.Build.Framework, Version=%s.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" v) |> Option.ofObj with _ -> None
191-
let assembly = mb |> Option.bind (fun _ -> try Assembly.Load(sprintf "FSharp.Compiler.Service.MSBuild.v%s" v) |> Option.ofObj with _ -> None)
192-
let ty = assembly |> Option.bind (fun a -> a.GetType("FSharp.Compiler.MSBuildReferenceResolver") |> Option.ofObj)
193-
let obj = ty |> Option.bind (fun ty -> ty.InvokeMember("get_Resolver", BindingFlags.Static ||| BindingFlags.Public ||| BindingFlags.InvokeMethod ||| BindingFlags.NonPublic, null, null, [| |]) |> Option.ofObj)
194-
let resolver = obj |> Option.bind (fun obj -> match obj with :? Resolver as r -> Some r | _ -> None)
195-
resolver
196-
match tryMSBuild "12" with
197-
| Some r -> r
198-
| None ->
199-
#endif
200-
SimulatedMSBuildResolver
185+
let internal getResolver () = SimulatedMSBuildResolver
201186

202187

203188
#if INTERACTIVE

src/fsharp/fsi/fsi.fs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2415,7 +2415,7 @@ type FsiEvaluationSession (fsi: FsiEvaluationSessionHostConfig, argv:string[], i
24152415

24162416
let legacyReferenceResolver =
24172417
match legacyReferenceResolver with
2418-
| None -> SimulatedMSBuildReferenceResolver.GetBestAvailableResolver()
2418+
| None -> SimulatedMSBuildReferenceResolver.getResolver()
24192419
| Some rr -> rr
24202420

24212421
let tcConfigB =

src/fsharp/service/service.fs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2947,7 +2947,7 @@ type FSharpChecker(legacyReferenceResolver, projectCacheSize, keepAssemblyConten
29472947
let legacyReferenceResolver =
29482948
match legacyReferenceResolver with
29492949
| Some rr -> rr
2950-
| None -> SimulatedMSBuildReferenceResolver.GetBestAvailableResolver()
2950+
| None -> SimulatedMSBuildReferenceResolver.getResolver()
29512951

29522952
let keepAssemblyContents = defaultArg keepAssemblyContents false
29532953
let keepAllBackgroundResolutions = defaultArg keepAllBackgroundResolutions true

0 commit comments

Comments
 (0)