diff --git a/src/fsharp/FSharp.DependencyManager/FSharp.DependencyManager.Utilities.fs b/src/fsharp/FSharp.DependencyManager/FSharp.DependencyManager.Utilities.fs
index 493a6ba7899..d86ceb3dbb4 100644
--- a/src/fsharp/FSharp.DependencyManager/FSharp.DependencyManager.Utilities.fs
+++ b/src/fsharp/FSharp.DependencyManager/FSharp.DependencyManager.Utilities.fs
@@ -205,7 +205,7 @@ module Utilities =
| None -> ""
let arguments prefix =
- sprintf "%s -restore %s %c%s%c /t:FSI-PackageManagement" prefix binLoggingArguments '\"' projectPath '\"'
+ sprintf "%s -restore %s %c%s%c /t:InteractivePackageManagement" prefix binLoggingArguments '\"' projectPath '\"'
let workingDir = Path.GetDirectoryName projectPath
@@ -230,6 +230,10 @@ namespace lib"
$(TARGETFRAMEWORK)
false
+
+
+ 4.7.0
+ 4.7.1-*
@@ -273,15 +277,31 @@ $(PACKAGEREFERENCES)
-
-
- Pkg$([System.String]::Copy('%(ResolvedCompileFileDefinitions.NugetPackageId)').Replace('.','_'))
- $([MSBuild]::EnsureTrailingSlash('$(%(FsxResolvedFile.PackageRootProperty))'))
- $(%(FsxResolvedFile.PackageRootProperty))\content\%(ResolvedCompileFileDefinitions.FileName)%(ResolvedCompileFileDefinitions.Extension).fsx
-
+
+
+ $([System.String]::Copy('%(Identity)').Replace('\', '/'))
+ $([System.String]::Copy('%(ResolvedCompileFileDefinitions.PathInPackage)').Replace('\', '/'))
+ $([System.String]::Copy('%(InteractiveResolvedFile.NormalizedIdentity)').IndexOf('%(InteractiveResolvedFile.NormalizedPathInPackage)'))
+ $([System.String]::Copy('%(InteractiveResolvedFile.NormalizedIdentity)').Substring(0, %(InteractiveResolvedFile.PositionPathInPackage)))
+ %(InteractiveResolvedFile.PackageRoot)content\%(ResolvedCompileFileDefinitions.FileName)%(ResolvedCompileFileDefinitions.Extension).fsx
+ $([System.String]::Copy('%(ResolvedCompileFileDefinitions.PathInPackage)').StartsWith('ref/'))
+ %(ResolvedCompileFileDefinitions.NuGetPackageId)
+ %(ResolvedCompileFileDefinitions.NuGetPackageVersion)
+
+
+ $([System.String]::Copy('%(Identity)').Replace('\', '/'))
+ $([System.String]::Copy('%(RuntimeCopyLocalItems.PathInPackage)').Replace('\', '/'))
+ $([System.String]::Copy('%(InteractiveResolvedFile.NormalizedIdentity)').IndexOf('%(InteractiveResolvedFile.NormalizedPathInPackage)'))
+ $([System.String]::Copy('%(InteractiveResolvedFile.NormalizedIdentity)').Substring(0, %(InteractiveResolvedFile.PositionPathInPackage)))
+ %(InteractiveResolvedFile.PackageRoot)content\%(RuntimeCopyLocalItems.FileName)%(RuntimeCopyLocalItems.Extension).fsx
+ $([System.String]::Copy('%(RuntimeCopyLocalItems.PathInPackage)').StartsWith('ref/'))
+ %(RuntimeCopyLocalItems.NuGetPackageId)
+ %(RuntimeCopyLocalItems.NuGetPackageVersion)
+
@@ -290,7 +310,7 @@ $(PACKAGEREFERENCES)
-
+
@@ -300,12 +320,18 @@ $(PACKAGEREFERENCES)
-
+
+
+
+
+
+
+
+
-
-
+
-
+
diff --git a/tests/FSharp.Compiler.Private.Scripting.UnitTests/FSharpScriptTests.fs b/tests/FSharp.Compiler.Private.Scripting.UnitTests/FSharpScriptTests.fs
index 3046c3a76f5..9dc326d0edd 100644
--- a/tests/FSharp.Compiler.Private.Scripting.UnitTests/FSharpScriptTests.fs
+++ b/tests/FSharp.Compiler.Private.Scripting.UnitTests/FSharpScriptTests.fs
@@ -190,6 +190,25 @@ printfn ""%A"" result
Assert.AreEqual(123, value.ReflectionValue :?> int32)
#endif
+ []
+ member __.``ML - use assembly with ref dependencies``() =
+ let code = @"
+#r ""nuget:Microsoft.ML.OnnxTransformer,1.4.0""
+
+open System
+open System.Numerics.Tensors
+let inputValues = [| 12.0; 10.0; 17.0; 5.0 |]
+let tInput = new DenseTensor(inputValues.AsMemory(), new ReadOnlySpan([|4|]))
+tInput.Length
+"
+ use script = new FSharpScript(additionalArgs=[|"/langversion:preview"|])
+ let mutable assemblyRefCount = 0;
+ Event.add (fun _ -> assemblyRefCount <- assemblyRefCount + 1) script.AssemblyReferenceAdded
+ let opt = script.Eval(code) |> getValue
+ let value = opt.Value
+ Assert.AreEqual(4L, value.ReflectionValue :?> int64)
+
+
[]
member __.``Simple pinvoke should not be impacted by native resolver``() =
let code = @"