Skip to content

Commit 47bb4ed

Browse files
KevinRansombaronfel
authored andcommitted
Fix #8853 (#8855)
1 parent c92f2f0 commit 47bb4ed

File tree

3 files changed

+14
-7
lines changed

3 files changed

+14
-7
lines changed

src/fsharp/FSharp.DependencyManager.Nuget/FSharp.DependencyManager.ProjectFile.fs

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,10 @@ type internal Resolution =
3333

3434
module internal ProjectFile =
3535

36+
let fsxExt = ".fsx"
37+
38+
let csxExt = ".csx"
39+
3640
let findLoadsFromResolutions (resolutions:Resolution[]) =
3741
resolutions
3842
|> Array.filter(fun r ->
@@ -129,7 +133,9 @@ $(POUND_R)
129133
<TargetFramework>$(TARGETFRAMEWORK)</TargetFramework>
130134
<RuntimeIdentifier>$(RUNTIMEIDENTIFIER)</RuntimeIdentifier>
131135
<IsPackable>false</IsPackable>
132-
<DisableImplicitFSharpCoreReference>true</DisableImplicitFSharpCoreReference>
136+
137+
<!-- Disable automagic FSharp.Core resolution when not using with FSharp scripts -->
138+
<DisableImplicitFSharpCoreReference Condition="'$(SCRIPTEXTENSION)' != '.fsx'">true</DisableImplicitFSharpCoreReference>
133139
<DisableImplicitSystemValueTupleReference>true</DisableImplicitSystemValueTupleReference>
134140
<MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
135141

src/fsharp/FSharp.DependencyManager.Nuget/FSharp.DependencyManager.fs

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ module FSharpDependencyManager =
3737
| _ -> ()
3838
}
3939

40-
let parsePackageReference (lines: string list) =
40+
let parsePackageReference scriptExt (lines: string list) =
4141
let mutable binLogPath = None
4242
let parsePackageReferenceOption (line: string) =
4343
let validatePackageName package packageName =
@@ -53,7 +53,8 @@ module FSharpDependencyManager =
5353
| opt :: rest ->
5454
let addInclude v =
5555
validatePackageName v "mscorlib"
56-
validatePackageName v "FSharp.Core"
56+
if scriptExt = fsxExt then
57+
validatePackageName v "FSharp.Core"
5758
validatePackageName v "System.ValueTuple"
5859
validatePackageName v "NETStandard.Library"
5960
Some { current with Include = v }
@@ -166,13 +167,13 @@ type FSharpDependencyManager (outputDir:string option) =
166167

167168
let scriptExt, poundRprefix =
168169
match scriptExt with
169-
| ".csx" -> ".csx", "#r \""
170-
| _ -> ".fsx", "#r @\""
170+
| ".csx" -> csxExt, "#r \""
171+
| _ -> fsxExt, "#r @\""
171172

172173
let packageReferences, binLogPath =
173174
packageManagerTextLines
174175
|> List.ofSeq
175-
|> FSharpDependencyManager.parsePackageReference
176+
|> FSharpDependencyManager.parsePackageReference scriptExt
176177

177178
let packageReferenceLines =
178179
packageReferences

src/fsharp/FSharp.DependencyManager.Nuget/FSharp.DependencyManager.fsi

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ namespace FSharp.DependencyManager.Nuget
44

55
module internal FSharpDependencyManager =
66
val formatPackageReference: PackageReference -> seq<string>
7-
val parsePackageReference: string list -> PackageReference list * string option option
7+
val parsePackageReference: scriptExt: string -> string list -> PackageReference list * string option option
88

99
/// The results of ResolveDependencies
1010
[<Class>]

0 commit comments

Comments
 (0)