Skip to content

Commit 13be70f

Browse files
committed
Use GetPathToStandardLibrary
1 parent cf41394 commit 13be70f

File tree

1 file changed

+5
-21
lines changed

1 file changed

+5
-21
lines changed

src/fsharp/ReferenceResolution.fs

Lines changed: 5 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -160,20 +160,10 @@ module internal MSBuildResolver =
160160
| _ -> []
161161

162162

163-
let GetPathToDotNetFrameworkReferenceAssembliesFor40Plus(version) =
164-
// starting with .Net 4.0, the runtime dirs (WindowsFramework) are never used by MSBuild RAR
165-
let v =
166-
match version with
167-
| Net40 -> Some TargetDotNetFrameworkVersion.Version40
168-
| Net45 -> Some TargetDotNetFrameworkVersion.Version45
169-
| Net451 -> Some TargetDotNetFrameworkVersion.Version451
170-
| _ -> assert false; None // unknown version - some parts in the code are not synced
171-
match v with
172-
| Some v ->
173-
match ToolLocationHelper.GetPathToDotNetFrameworkReferenceAssemblies v with
174-
| null -> []
175-
| x -> [x]
176-
| None -> []
163+
let GetPathToDotNetFrameworkReferenceAssemblies(version) =
164+
match Microsoft.Build.Utilities.ToolLocationHelper.GetPathToStandardLibraries(".NETFramework",version,"") with
165+
| null | "" -> []
166+
| x -> [x]
177167

178168
/// Use MSBuild to determine the version of the highest installed framework.
179169
let HighestInstalledNetFrameworkVersionMajorMinor() =
@@ -188,13 +178,7 @@ module internal MSBuildResolver =
188178
if not(targetFrameworkVersion.StartsWith("v",StringComparison.Ordinal)) then "v"+targetFrameworkVersion
189179
else targetFrameworkVersion
190180

191-
let result =
192-
if targetFrameworkVersion.StartsWith(Net10, StringComparison.Ordinal) then ReplaceVariablesForLegacyFxOnWindows([@"{WindowsFramework}\v1.0.3705"])
193-
elif targetFrameworkVersion.StartsWith(Net11, StringComparison.Ordinal) then ReplaceVariablesForLegacyFxOnWindows([@"{WindowsFramework}\v1.1.4322"])
194-
elif targetFrameworkVersion.StartsWith(Net20, StringComparison.Ordinal) then ReplaceVariablesForLegacyFxOnWindows([@"{WindowsFramework}\v2.0.50727"])
195-
elif targetFrameworkVersion.StartsWith(Net30, StringComparison.Ordinal) then ReplaceVariablesForLegacyFxOnWindows([@"{ReferenceAssemblies}\v3.0"; @"{WindowsFramework}\v3.0"; @"{WindowsFramework}\v2.0.50727"])
196-
elif targetFrameworkVersion.StartsWith(Net35, StringComparison.Ordinal) then ReplaceVariablesForLegacyFxOnWindows([@"{ReferenceAssemblies}\v3.5"; @"{WindowsFramework}\v3.5"; @"{ReferenceAssemblies}\v3.0"; @"{WindowsFramework}\v3.0"; @"{WindowsFramework}\v2.0.50727"])
197-
else GetPathToDotNetFrameworkReferenceAssembliesFor40Plus(targetFrameworkVersion)
181+
let result = GetPathToDotNetFrameworkReferenceAssemblies(targetFrameworkVersion)
198182

199183
let result = result |> Array.ofList
200184
logMessage (sprintf "Derived target framework directories for version %s are: %s" targetFrameworkVersion (String.Join(",", result)))

0 commit comments

Comments
 (0)