@@ -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