diff --git a/azure-pipelines.yml b/azure-pipelines.yml
index 1906529ef3..131be207af 100644
--- a/azure-pipelines.yml
+++ b/azure-pipelines.yml
@@ -187,6 +187,14 @@ stages:
publishLocation: Container
continueOnError: true
condition: eq(variables['_testKind'], 'testFSharpQA')
+ - task: PublishBuildArtifacts@1
+ displayName: Publish NuGet cache contents
+ inputs:
+ PathtoPublish: '$(Build.SourcesDirectory)\artifacts\NugetPackageRootContents'
+ ArtifactName: 'NuGetPackageContents Windows $(_testKind)'
+ publishLocation: Container
+ continueOnError: true
+ condition: always()
# Linux
- job: Linux
@@ -208,6 +216,14 @@ stages:
searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults/$(_BuildConfig)'
continueOnError: true
condition: always()
+ - task: PublishBuildArtifacts@1
+ displayName: Publish NuGet cache contents
+ inputs:
+ PathtoPublish: '$(Build.SourcesDirectory)/artifacts/NugetPackageRootContents'
+ ArtifactName: 'NuGetPackageContents Linux'
+ publishLocation: Container
+ continueOnError: true
+ condition: always()
# MacOS
- job: MacOS
@@ -229,6 +245,14 @@ stages:
searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults/$(_BuildConfig)'
continueOnError: true
condition: always()
+ - task: PublishBuildArtifacts@1
+ displayName: Publish NuGet cache contents
+ inputs:
+ PathtoPublish: '$(Build.SourcesDirectory)/artifacts/NugetPackageRootContents'
+ ArtifactName: 'NuGetPackageContents Mac'
+ publishLocation: Container
+ continueOnError: true
+ condition: always()
# Source Build Linux
- job: SourceBuild_Linux
@@ -239,6 +263,14 @@ stages:
clean: true
- script: ./eng/cibuild.sh --configuration Release /p:DotNetBuildFromSource=true /p:FSharpSourceBuild=true
displayName: Build
+ - task: PublishBuildArtifacts@1
+ displayName: Publish NuGet cache contents
+ inputs:
+ PathtoPublish: '$(Build.SourcesDirectory)/artifacts/NugetPackageRootContents'
+ ArtifactName: 'NuGetPackageContents SourceBuild_Linux'
+ publishLocation: Container
+ continueOnError: true
+ condition: always()
# Source Build Windows
- job: SourceBuild_Windows
@@ -249,6 +281,14 @@ stages:
clean: true
- script: eng\CIBuild.cmd -configuration Release -noSign /p:DotNetBuildFromSource=true /p:FSharpSourceBuild=true
displayName: Build
+ - task: PublishBuildArtifacts@1
+ displayName: Publish NuGet cache contents
+ inputs:
+ PathtoPublish: '$(Build.SourcesDirectory)\artifacts\NugetPackageRootContents'
+ ArtifactName: 'NuGetPackageContents SourceBuild_Windows'
+ publishLocation: Container
+ continueOnError: true
+ condition: always()
# Up-to-date
- job: UpToDate_Windows
diff --git a/eng/AfterSolutionBuild.targets b/eng/AfterSolutionBuild.targets
new file mode 100644
index 0000000000..ffd633e4f9
--- /dev/null
+++ b/eng/AfterSolutionBuild.targets
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+ $(ArtifactsDir)NugetPackageRootContents
+ $(PackageRootArtifactDirectory)/package_contents.txt
+
+
+
+
+
diff --git a/src/fsharp/FSharp.Compiler.Private/FSharp.Compiler.Private.fsproj b/src/fsharp/FSharp.Compiler.Private/FSharp.Compiler.Private.fsproj
index c919f3056b..e226bcbe98 100644
--- a/src/fsharp/FSharp.Compiler.Private/FSharp.Compiler.Private.fsproj
+++ b/src/fsharp/FSharp.Compiler.Private/FSharp.Compiler.Private.fsproj
@@ -27,6 +27,7 @@
+
diff --git a/src/fsharp/FSharp.Compiler.Private/FSharp.Compiler.Private.netcore.nuspec b/src/fsharp/FSharp.Compiler.Private/FSharp.Compiler.Private.netcore.nuspec
index 9fb4c25cf4..8f148cf1d7 100644
--- a/src/fsharp/FSharp.Compiler.Private/FSharp.Compiler.Private.netcore.nuspec
+++ b/src/fsharp/FSharp.Compiler.Private/FSharp.Compiler.Private.netcore.nuspec
@@ -33,6 +33,7 @@
+
diff --git a/src/fsharp/FSharp.Compiler.nuget/Microsoft.FSharp.Compiler.nuspec b/src/fsharp/FSharp.Compiler.nuget/Microsoft.FSharp.Compiler.nuspec
index 94a727bbcc..c124bcffc2 100644
--- a/src/fsharp/FSharp.Compiler.nuget/Microsoft.FSharp.Compiler.nuspec
+++ b/src/fsharp/FSharp.Compiler.nuget/Microsoft.FSharp.Compiler.nuspec
@@ -22,6 +22,7 @@
+
diff --git a/src/fsharp/FSharp.DependencyManager/FSharp.DependencyManager.Utilities.fs b/src/fsharp/FSharp.DependencyManager/FSharp.DependencyManager.Utilities.fs
index 493a6ba789..d86ceb3dbb 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 3046c3a76f..9dc326d0ed 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 = @"
diff --git a/vsintegration/Directory.Build.targets b/vsintegration/Directory.Build.targets
index bc5c6d7195..cd83837f79 100644
--- a/vsintegration/Directory.Build.targets
+++ b/vsintegration/Directory.Build.targets
@@ -18,6 +18,7 @@
+
diff --git a/vsintegration/src/FSharp.ProjectSystem.PropertyPages/Resources/Microsoft.VisualStudio.Editors.Designer.resx b/vsintegration/src/FSharp.ProjectSystem.PropertyPages/Resources/Microsoft.VisualStudio.Editors.Designer.resx
index 697e650fcb..8701ba21d7 100644
--- a/vsintegration/src/FSharp.ProjectSystem.PropertyPages/Resources/Microsoft.VisualStudio.Editors.Designer.resx
+++ b/vsintegration/src/FSharp.ProjectSystem.PropertyPages/Resources/Microsoft.VisualStudio.Editors.Designer.resx
@@ -1276,7 +1276,6 @@ CONSIDER: get this from CodeDom
{0} x {1}
Format string for showing a graphic's size
-
# {0} = width (as an integer)
# {1} = height (as an integer)
#Example, for a bitmap of width=123, height = 456, the English version of this string would be "123x456"