From 652ffd4daaf1adb79ee0fd84ad5b172e47d1f6e7 Mon Sep 17 00:00:00 2001 From: Tomas Grosup Date: Thu, 2 Oct 2025 12:42:33 +0200 Subject: [PATCH 01/33] Move Roslyn deps from manually managed to darc --- eng/Version.Details.xml | 32 ++++++++++++++++++++++++++++++++ eng/Versions.props | 19 +++++++++---------- 2 files changed, 41 insertions(+), 10 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 4c2103c42d6..db519e7e453 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -42,6 +42,38 @@ https://github.com/dotnet/runtime 9d5a6a9aa463d6d10b0b0ba6d5982cc82f363dc3 + + https://github.com/dotnet/roslyn + ebf60fd9876294d15a47407b468709db1b31cc91 + + + https://github.com/dotnet/roslyn + ebf60fd9876294d15a47407b468709db1b31cc91 + + + https://github.com/dotnet/roslyn + ebf60fd9876294d15a47407b468709db1b31cc91 + + + https://github.com/dotnet/roslyn + ebf60fd9876294d15a47407b468709db1b31cc91 + + + https://github.com/dotnet/roslyn + ebf60fd9876294d15a47407b468709db1b31cc91 + + + https://github.com/dotnet/roslyn + ebf60fd9876294d15a47407b468709db1b31cc91 + + + https://github.com/dotnet/roslyn + ebf60fd9876294d15a47407b468709db1b31cc91 + + + https://github.com/dotnet/roslyn + ebf60fd9876294d15a47407b468709db1b31cc91 + diff --git a/eng/Versions.props b/eng/Versions.props index 1af06f79f5d..7f073043b07 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -94,23 +94,22 @@ 4.7.0 1.6.0 - 5.0.0-1.25276.102 17.14.188 17.14.40268 17.14.79 17.14.40254 17.14.15 - $(RoslynVersion) - $(RoslynVersion) - $(RoslynVersion) - 5.0.0-1.25275.2 - $(RoslynVersion) - $(RoslynVersion) - $(RoslynVersion) - $(RoslynVersion) + 5.0.0-2.25480.7 + 5.0.0-2.25480.7 + 5.0.0-2.25480.7 + $(MicrosoftCodeAnalysisEditorFeaturesTextVersion) + 5.0.0-2.25480.7 + 5.0.0-2.25480.7 + 5.0.0-2.25480.7 + 5.0.0-2.25480.7 2.0.28 - $(RoslynVersion) + 5.0.0-2.25480.7 $(MicrosoftVisualStudioShellPackagesVersion) From 7b66dab5f9d7d8590a7deadf6a11c49cbfc4f82e Mon Sep 17 00:00:00 2001 From: Tomas Grosup Date: Thu, 2 Oct 2025 14:04:22 +0200 Subject: [PATCH 02/33] Cascade of consequences --- eng/Versions.props | 44 +++++++++++++++++++++++--------------------- 1 file changed, 23 insertions(+), 21 deletions(-) diff --git a/eng/Versions.props b/eng/Versions.props index 7f073043b07..0278453decd 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -94,16 +94,17 @@ 4.7.0 1.6.0 - 17.14.188 - 17.14.40268 + 18.0.332-preview + 18.0.2101-preview.1 17.14.79 - 17.14.40254 - 17.14.15 + 18.0.2077-preview.1 + 17.15.20-alpha + 5.0.0-2.25480.7 5.0.0-2.25480.7 5.0.0-2.25480.7 - $(MicrosoftCodeAnalysisEditorFeaturesTextVersion) + 5.0.0-1.25377.2 5.0.0-2.25480.7 5.0.0-2.25480.7 5.0.0-2.25480.7 @@ -127,12 +128,13 @@ $(VisualStudioShellProjectsPackages) $(VisualStudioShellProjectsPackages) $(MicrosoftVisualStudioShellPackagesVersion) - 17.14.40270 + $(MicrosoftVisualStudioShellPackagesVersion) $(MicrosoftVisualStudioShellPackagesVersion) - 17.14.40270 + $(MicrosoftVisualStudioShellPackagesVersion) 10.0.30319 11.0.50727 15.0.25123-Dev15Preview + $(VisualStudioEditorPackagesVersion) @@ -145,22 +147,22 @@ $(VisualStudioEditorPackagesVersion) $(VisualStudioEditorPackagesVersion) $(VisualStudioEditorPackagesVersion) - 17.14.106 + $(MicrosoftVisualStudioShellPackagesVersion) 5.6.0 - 0.1.169-beta + 0.1.800-beta $(MicrosoftVisualStudioExtensibilityTestingVersion) $(MicrosoftVisualStudioExtensibilityTestingVersion) - - + + $(MicrosoftVisualStudioThreadingPackagesVersion) - + $(VisualStudioProjectSystemPackagesVersion) 2.3.6152103 - + - 17.10.2179 - 17.14.20 + 17.13.1100801-preview + 17.15.25-pre 17.0.0 17.8.8 12.0.4 @@ -172,21 +174,21 @@ 0.2.0 1.0.0 - 1.1.33 + 1.1.87 0.13.10 2.16.5 4.3.0.0 - 1.0.31 - 4.3.0-1.22220.8 + 17.13.50 + 4.12.0 3.1.0 - 5.0.0-preview.7.20364.11 - 5.0.0-preview.7.20364.11 + 6.0.0-rtm.21518.12 + 9.0.0-rc.2.24462.10 17.11.1 13.0.3 1.0.0-beta2-dev3 - 2.22.11 + 2.23.39-alpha 2.12.87 2.9.0 2.8.2 From e2c7e158e782c139f3aeef16ae903ae74cdae4c0 Mon Sep 17 00:00:00 2001 From: Tomas Grosup Date: Thu, 2 Oct 2025 14:41:39 +0200 Subject: [PATCH 03/33] no nuget errors, lets see what VS integration says --- eng/Versions.props | 6 +++--- vsintegration/src/FSharp.Editor/FSharp.Editor.fsproj | 2 +- .../FSharp.LanguageService.Base.csproj | 2 +- .../FSharp.LanguageService/FSharp.LanguageService.fsproj | 2 +- .../FSharp.ProjectSystem.Base.csproj | 4 ++-- .../FSharp.ProjectSystem.FSharp.fsproj | 4 ++-- .../FSharp.ProjectSystem.PropertyPages.vbproj | 2 +- vsintegration/src/FSharp.VS.FSI/FSharp.VS.FSI.fsproj | 2 +- vsintegration/tests/Salsa/VisualFSharp.Salsa.fsproj | 2 +- vsintegration/tests/UnitTests/VisualFSharp.UnitTests.fsproj | 2 +- 10 files changed, 14 insertions(+), 14 deletions(-) diff --git a/eng/Versions.props b/eng/Versions.props index 0278453decd..e9486870f68 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -147,7 +147,7 @@ $(VisualStudioEditorPackagesVersion) $(VisualStudioEditorPackagesVersion) $(VisualStudioEditorPackagesVersion) - $(MicrosoftVisualStudioShellPackagesVersion) + 18.0.2551-preview.1 5.6.0 0.1.800-beta $(MicrosoftVisualStudioExtensibilityTestingVersion) @@ -180,8 +180,8 @@ 0.13.10 2.16.5 4.3.0.0 - 17.13.50 - 4.12.0 + 1.0.31 + 4.3.0-1.22220.8 3.1.0 6.0.0-rtm.21518.12 9.0.0-rc.2.24462.10 diff --git a/vsintegration/src/FSharp.Editor/FSharp.Editor.fsproj b/vsintegration/src/FSharp.Editor/FSharp.Editor.fsproj index 963332abc3c..2c196ea0421 100644 --- a/vsintegration/src/FSharp.Editor/FSharp.Editor.fsproj +++ b/vsintegration/src/FSharp.Editor/FSharp.Editor.fsproj @@ -174,7 +174,7 @@ - + diff --git a/vsintegration/src/FSharp.LanguageService.Base/FSharp.LanguageService.Base.csproj b/vsintegration/src/FSharp.LanguageService.Base/FSharp.LanguageService.Base.csproj index fead6828567..5d8e9584365 100644 --- a/vsintegration/src/FSharp.LanguageService.Base/FSharp.LanguageService.Base.csproj +++ b/vsintegration/src/FSharp.LanguageService.Base/FSharp.LanguageService.Base.csproj @@ -47,7 +47,7 @@ - + diff --git a/vsintegration/src/FSharp.LanguageService/FSharp.LanguageService.fsproj b/vsintegration/src/FSharp.LanguageService/FSharp.LanguageService.fsproj index 9968c121f7c..84ed47c3935 100644 --- a/vsintegration/src/FSharp.LanguageService/FSharp.LanguageService.fsproj +++ b/vsintegration/src/FSharp.LanguageService/FSharp.LanguageService.fsproj @@ -56,7 +56,7 @@ - + diff --git a/vsintegration/src/FSharp.ProjectSystem.Base/FSharp.ProjectSystem.Base.csproj b/vsintegration/src/FSharp.ProjectSystem.Base/FSharp.ProjectSystem.Base.csproj index c5608f1a6b6..8efa6b01317 100644 --- a/vsintegration/src/FSharp.ProjectSystem.Base/FSharp.ProjectSystem.Base.csproj +++ b/vsintegration/src/FSharp.ProjectSystem.Base/FSharp.ProjectSystem.Base.csproj @@ -43,8 +43,8 @@ - - + + diff --git a/vsintegration/src/FSharp.ProjectSystem.FSharp/FSharp.ProjectSystem.FSharp.fsproj b/vsintegration/src/FSharp.ProjectSystem.FSharp/FSharp.ProjectSystem.FSharp.fsproj index 576dc2aa464..643e04d2368 100644 --- a/vsintegration/src/FSharp.ProjectSystem.FSharp/FSharp.ProjectSystem.FSharp.fsproj +++ b/vsintegration/src/FSharp.ProjectSystem.FSharp/FSharp.ProjectSystem.FSharp.fsproj @@ -104,8 +104,8 @@ - - + + diff --git a/vsintegration/src/FSharp.ProjectSystem.PropertyPages/FSharp.ProjectSystem.PropertyPages.vbproj b/vsintegration/src/FSharp.ProjectSystem.PropertyPages/FSharp.ProjectSystem.PropertyPages.vbproj index 91418865d89..a2082802752 100644 --- a/vsintegration/src/FSharp.ProjectSystem.PropertyPages/FSharp.ProjectSystem.PropertyPages.vbproj +++ b/vsintegration/src/FSharp.ProjectSystem.PropertyPages/FSharp.ProjectSystem.PropertyPages.vbproj @@ -46,7 +46,7 @@ - + diff --git a/vsintegration/src/FSharp.VS.FSI/FSharp.VS.FSI.fsproj b/vsintegration/src/FSharp.VS.FSI/FSharp.VS.FSI.fsproj index 0171cdf9b26..a3c034b3478 100644 --- a/vsintegration/src/FSharp.VS.FSI/FSharp.VS.FSI.fsproj +++ b/vsintegration/src/FSharp.VS.FSI/FSharp.VS.FSI.fsproj @@ -58,7 +58,7 @@ - + diff --git a/vsintegration/tests/Salsa/VisualFSharp.Salsa.fsproj b/vsintegration/tests/Salsa/VisualFSharp.Salsa.fsproj index e1e657a651a..59aee46dad6 100644 --- a/vsintegration/tests/Salsa/VisualFSharp.Salsa.fsproj +++ b/vsintegration/tests/Salsa/VisualFSharp.Salsa.fsproj @@ -51,7 +51,7 @@ - + diff --git a/vsintegration/tests/UnitTests/VisualFSharp.UnitTests.fsproj b/vsintegration/tests/UnitTests/VisualFSharp.UnitTests.fsproj index 96fde123dcc..2bd2d290517 100644 --- a/vsintegration/tests/UnitTests/VisualFSharp.UnitTests.fsproj +++ b/vsintegration/tests/UnitTests/VisualFSharp.UnitTests.fsproj @@ -128,7 +128,7 @@ - + From ea4731609a7fdf1beb10c47685c68ea7bd2ed3f2 Mon Sep 17 00:00:00 2001 From: Tomas Grosup Date: Thu, 2 Oct 2025 16:49:47 +0200 Subject: [PATCH 04/33] un-harcode csc,ildasm,ilasm deps for testframework --- tests/FSharp.Test.Utilities/TestFramework.fs | 36 ++++++++++++++++---- 1 file changed, 29 insertions(+), 7 deletions(-) diff --git a/tests/FSharp.Test.Utilities/TestFramework.fs b/tests/FSharp.Test.Utilities/TestFramework.fs index bbb1b556746..72dbfa46f3d 100644 --- a/tests/FSharp.Test.Utilities/TestFramework.fs +++ b/tests/FSharp.Test.Utilities/TestFramework.fs @@ -6,6 +6,7 @@ open System open System.IO open System.Diagnostics open System.Reflection +open System.Xml.Linq open Scripting open Xunit open FSharp.Compiler.IO @@ -269,8 +270,31 @@ let requireFile dir path = | Some _ -> fullPathLower | None -> failwith (sprintf "Couldn't find \"%s\" on the following paths: \"%s\", \"%s\". Running 'build test' once might solve this issue" path fullPath fullPathLower) +let SCRIPT_ROOT = __SOURCE_DIRECTORY__ +let repoRoot = SCRIPT_ROOT ++ ".." ++ ".." + +let loadVersionsProps () = + let versionsPropsPath = repoRoot ++ "eng" ++ "Versions.props" + if not (File.Exists versionsPropsPath) then + failwithf "Versions.props file not found at %s" versionsPropsPath + XDocument.Load(versionsPropsPath) + +let getMsbuildPropValue (xdoc: XDocument) (propName: string) = + xdoc.Descendants "PropertyGroup" + |> Seq.collect (fun pg -> pg.Elements()) + |> Seq.tryFind (fun el -> el.Name.LocalName = propName) + |> function + | Some el -> el.Value + | None -> failwithf "Property '%s' not found in Versions.props" propName + +// Usage example: +let versionsPropsDoc = loadVersionsProps () +let cscVersion = getMsbuildPropValue versionsPropsDoc "MicrosoftNetCompilersVersion" +let ildasmVersion = getMsbuildPropValue versionsPropsDoc "MicrosoftNETCoreILDAsmVersion" +let ilasmVersion = getMsbuildPropValue versionsPropsDoc "MicrosoftNETCoreILAsmVersion" + let config configurationName envVars = - let SCRIPT_ROOT = __SOURCE_DIRECTORY__ + let fsharpCoreArchitecture = "netstandard2.0" let fsharpBuildArchitecture = "netstandard2.0" let fsharpCompilerInteractiveSettingsArchitecture = "netstandard2.0" @@ -284,10 +308,8 @@ let config configurationName envVars = let fsiArchitecture = dotnetArchitecture //let peverifyArchitecture = dotnetArchitecture #endif - let repoRoot = SCRIPT_ROOT ++ ".." ++ ".." let artifactsPath = repoRoot ++ "artifacts" let artifactsBinPath = artifactsPath ++ "bin" - let coreClrRuntimePackageVersion = "5.0.0-preview.7.20364.11" let csc_flags = "/nologo" let vbc_flags = "/nologo" let fsc_flags = "-r:System.Core.dll --nowarn:20 --define:COMPILED --preferreduilang:en-US" @@ -298,12 +320,12 @@ let config configurationName envVars = let packagesDir = getPackagesDir () let requirePackage = requireFile packagesDir let requireArtifact = requireFile artifactsBinPath - let CSC = requirePackage ("Microsoft.Net.Compilers" ++ "4.3.0-1.22220.8" ++ "tools" ++ "csc.exe") - let VBC = requirePackage ("Microsoft.Net.Compilers" ++ "4.3.0-1.22220.8" ++ "tools" ++ "vbc.exe") + let CSC = requirePackage ("Microsoft.Net.Compilers" ++ cscVersion ++ "tools" ++ "csc.exe") + let VBC = requirePackage ("Microsoft.Net.Compilers" ++ cscVersion ++ "tools" ++ "vbc.exe") let ILDASM_EXE = if operatingSystem = "win" then "ildasm.exe" else "ildasm" - let ILDASM = requirePackage (("runtime." + operatingSystem + "-" + architectureMoniker + ".Microsoft.NETCore.ILDAsm") ++ coreClrRuntimePackageVersion ++ "runtimes" ++ (operatingSystem + "-" + architectureMoniker) ++ "native" ++ ILDASM_EXE) + let ILDASM = requirePackage (("runtime." + operatingSystem + "-" + architectureMoniker + ".Microsoft.NETCore.ILDAsm") ++ ildasmVersion ++ "runtimes" ++ (operatingSystem + "-" + architectureMoniker) ++ "native" ++ ILDASM_EXE) let ILASM_EXE = if operatingSystem = "win" then "ilasm.exe" else "ilasm" - let ILASM = requirePackage (("runtime." + operatingSystem + "-" + architectureMoniker + ".Microsoft.NETCore.ILAsm") ++ coreClrRuntimePackageVersion ++ "runtimes" ++ (operatingSystem + "-" + architectureMoniker) ++ "native" ++ ILASM_EXE) + let ILASM = requirePackage (("runtime." + operatingSystem + "-" + architectureMoniker + ".Microsoft.NETCore.ILAsm") ++ ilasmVersion ++ "runtimes" ++ (operatingSystem + "-" + architectureMoniker) ++ "native" ++ ILASM_EXE) //let PEVERIFY_EXE = if operatingSystem = "win" then "PEVerify.exe" elif operatingSystem = "osx" then "PEVerify.dll" else "PEVerify" let PEVERIFY = "ilverify" //requireArtifact ("PEVerify" ++ configurationName ++ peverifyArchitecture ++ PEVERIFY_EXE) // let FSI_FOR_SCRIPTS = artifactsBinPath ++ "fsi" ++ configurationName ++ fsiArchitecture ++ "fsi.exe" From b1cac50137ca9a1c7aebe78d5c42a8d2a28399eb Mon Sep 17 00:00:00 2001 From: Tomas Grosup Date: Fri, 3 Oct 2025 09:32:22 +0200 Subject: [PATCH 05/33] Apply suggestion from @T-Gro --- eng/Versions.props | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/eng/Versions.props b/eng/Versions.props index e9486870f68..ecbac8b3409 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -183,8 +183,9 @@ 1.0.31 4.3.0-1.22220.8 3.1.0 - 6.0.0-rtm.21518.12 - 9.0.0-rc.2.24462.10 + + 5.0.0-preview.7.20364.11 + 5.0.0-preview.7.20364.11 17.11.1 13.0.3 1.0.0-beta2-dev3 From 04328fe4212d488e60322d1402cb79ae95743bda Mon Sep 17 00:00:00 2001 From: Tomas Grosup Date: Fri, 3 Oct 2025 11:35:05 +0200 Subject: [PATCH 06/33] VSSDK Build Tools --- eng/Versions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eng/Versions.props b/eng/Versions.props index e9486870f68..59ee8be44e1 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -161,7 +161,7 @@ 2.3.6152103 - 17.13.1100801-preview + 17.14.4-preview1 17.15.25-pre 17.0.0 17.8.8 From d447a30693dc8d79dadf3a922614d6a0bc36f460 Mon Sep 17 00:00:00 2001 From: Tomas Grosup Date: Fri, 3 Oct 2025 11:56:28 +0200 Subject: [PATCH 07/33] adapt roslyn api change --- .../src/FSharp.Editor/LanguageService/LanguageService.fs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/vsintegration/src/FSharp.Editor/LanguageService/LanguageService.fs b/vsintegration/src/FSharp.Editor/LanguageService/LanguageService.fs index 6c84d3fb810..9300b18c9a4 100644 --- a/vsintegration/src/FSharp.Editor/LanguageService/LanguageService.fs +++ b/vsintegration/src/FSharp.Editor/LanguageService/LanguageService.fs @@ -26,6 +26,7 @@ open Microsoft.CodeAnalysis.Host.Mef open Microsoft.VisualStudio.FSharp.Editor.Telemetry open CancellableTasks open FSharp.Compiler.Text +open Microsoft.VisualStudio.Editor #nowarn "9" // NativePtr.toNativeInt #nowarn "57" // Experimental stuff @@ -461,11 +462,11 @@ type internal FSharpLanguageService(package: FSharpPackage) = let outliningManagerService = this.Package.ComponentModel.GetService() - let wpfTextView = this.EditorAdaptersFactoryService.GetWpfTextView(textView) + let wpfTextView = this.Package.ComponentModel.GetService().GetWpfTextView(textView) let outliningManager = outliningManagerService.GetOutliningManager(wpfTextView) if not (isNull outliningManager) then - let settings = this.Workspace.Services.GetService() + let settings = this.Workspace.Value.Services.GetService() outliningManager.Enabled <- settings.Advanced.IsOutliningEnabled [] From fcb3ef6d50b303117cc4292e050afc9932223539 Mon Sep 17 00:00:00 2001 From: Tomas Grosup Date: Fri, 3 Oct 2025 11:58:30 +0200 Subject: [PATCH 08/33] Update LanguageService.fs --- .../src/FSharp.Editor/LanguageService/LanguageService.fs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/vsintegration/src/FSharp.Editor/LanguageService/LanguageService.fs b/vsintegration/src/FSharp.Editor/LanguageService/LanguageService.fs index 9300b18c9a4..cfb90fc9c37 100644 --- a/vsintegration/src/FSharp.Editor/LanguageService/LanguageService.fs +++ b/vsintegration/src/FSharp.Editor/LanguageService/LanguageService.fs @@ -462,7 +462,9 @@ type internal FSharpLanguageService(package: FSharpPackage) = let outliningManagerService = this.Package.ComponentModel.GetService() - let wpfTextView = this.Package.ComponentModel.GetService().GetWpfTextView(textView) + let wpfTextView = + this.Package.ComponentModel.GetService().GetWpfTextView(textView) + let outliningManager = outliningManagerService.GetOutliningManager(wpfTextView) if not (isNull outliningManager) then From 764ec3e44f3011c6c4977bcb877c21e1b2f3a1a1 Mon Sep 17 00:00:00 2001 From: Tomas Grosup Date: Fri, 3 Oct 2025 14:36:25 +0200 Subject: [PATCH 09/33] Fix CI crashes --- eng/Versions.props | 4 ++-- vsintegration/Vsix/VisualFSharpFull/VisualFSharpDebug.csproj | 4 +++- vsintegration/Vsix/VisualFSharpFull/VisualFSharpFull.csproj | 4 +++- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/eng/Versions.props b/eng/Versions.props index 19ed83a5316..7328054c466 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -95,9 +95,9 @@ 18.0.332-preview 18.0.2101-preview.1 - 17.14.79 + 18.0.1237-pre 18.0.2077-preview.1 - 17.15.20-alpha + 18.0.5 5.0.0-2.25480.7 diff --git a/vsintegration/Vsix/VisualFSharpFull/VisualFSharpDebug.csproj b/vsintegration/Vsix/VisualFSharpFull/VisualFSharpDebug.csproj index 96fd6dc836d..5a6671c4d24 100644 --- a/vsintegration/Vsix/VisualFSharpFull/VisualFSharpDebug.csproj +++ b/vsintegration/Vsix/VisualFSharpFull/VisualFSharpDebug.csproj @@ -8,7 +8,9 @@ netcoreapp1.0 true net472 - true + true + false + true diff --git a/vsintegration/Vsix/VisualFSharpFull/VisualFSharpFull.csproj b/vsintegration/Vsix/VisualFSharpFull/VisualFSharpFull.csproj index 10c18b8530e..49f1cc33ab6 100644 --- a/vsintegration/Vsix/VisualFSharpFull/VisualFSharpFull.csproj +++ b/vsintegration/Vsix/VisualFSharpFull/VisualFSharpFull.csproj @@ -9,7 +9,9 @@ true net472 - false + false + false + true From 919cd3430b401f4258d1efd20bfd2aa739edb55f Mon Sep 17 00:00:00 2001 From: Tomas Grosup Date: Mon, 6 Oct 2025 14:58:11 +0200 Subject: [PATCH 10/33] drastically reduce direct package references for vsintegration to avoid nuget conflicts --- eng/Versions.props | 2 +- .../src/FSharp.Editor/FSharp.Editor.fsproj | 28 ++++--------------- .../FSharp.LanguageService.Base.csproj | 6 ---- .../FSharp.LanguageService.fsproj | 9 +----- .../ProjectSitesAndFiles.fs | 1 - .../FSharp.ProjectSystem.Base.csproj | 10 ------- .../FSharp.ProjectSystem.FSharp.fsproj | 11 +------- .../FSharp.ProjectSystem.PropertyPages.vbproj | 5 ---- .../src/FSharp.VS.FSI/FSharp.VS.FSI.fsproj | 10 +------ .../FSharp.Editor.Tests.fsproj | 3 -- .../tests/Salsa/VisualFSharp.Salsa.fsproj | 12 +------- .../UnitTests/VisualFSharp.UnitTests.fsproj | 22 --------------- 12 files changed, 10 insertions(+), 109 deletions(-) diff --git a/eng/Versions.props b/eng/Versions.props index 7328054c466..a8015125b98 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -86,7 +86,7 @@ 4.6.0 6.1.0 - + diff --git a/vsintegration/src/FSharp.Editor/FSharp.Editor.fsproj b/vsintegration/src/FSharp.Editor/FSharp.Editor.fsproj index 2c196ea0421..4227261091a 100644 --- a/vsintegration/src/FSharp.Editor/FSharp.Editor.fsproj +++ b/vsintegration/src/FSharp.Editor/FSharp.Editor.fsproj @@ -170,36 +170,18 @@ + - - - + - + - - - - - - - - - + - - - - - - - - - - + diff --git a/vsintegration/src/FSharp.LanguageService.Base/FSharp.LanguageService.Base.csproj b/vsintegration/src/FSharp.LanguageService.Base/FSharp.LanguageService.Base.csproj index 5d8e9584365..b0baabd173d 100644 --- a/vsintegration/src/FSharp.LanguageService.Base/FSharp.LanguageService.Base.csproj +++ b/vsintegration/src/FSharp.LanguageService.Base/FSharp.LanguageService.Base.csproj @@ -46,16 +46,10 @@ - - - - - - diff --git a/vsintegration/src/FSharp.LanguageService/FSharp.LanguageService.fsproj b/vsintegration/src/FSharp.LanguageService/FSharp.LanguageService.fsproj index 84ed47c3935..75bfc3dc401 100644 --- a/vsintegration/src/FSharp.LanguageService/FSharp.LanguageService.fsproj +++ b/vsintegration/src/FSharp.LanguageService/FSharp.LanguageService.fsproj @@ -57,23 +57,16 @@ - - + - - - - - - diff --git a/vsintegration/src/FSharp.LanguageService/ProjectSitesAndFiles.fs b/vsintegration/src/FSharp.LanguageService/ProjectSitesAndFiles.fs index b2a437dc99f..39fe59fc933 100644 --- a/vsintegration/src/FSharp.LanguageService/ProjectSitesAndFiles.fs +++ b/vsintegration/src/FSharp.LanguageService/ProjectSitesAndFiles.fs @@ -34,7 +34,6 @@ module internal rec Microsoft.VisualStudio.FSharp.LanguageService.SiteProvider open System open System.Collections.Concurrent -open System.ComponentModel.Composition open System.IO open System.Diagnostics open Microsoft.VisualStudio diff --git a/vsintegration/src/FSharp.ProjectSystem.Base/FSharp.ProjectSystem.Base.csproj b/vsintegration/src/FSharp.ProjectSystem.Base/FSharp.ProjectSystem.Base.csproj index 8efa6b01317..cf4724a7f62 100644 --- a/vsintegration/src/FSharp.ProjectSystem.Base/FSharp.ProjectSystem.Base.csproj +++ b/vsintegration/src/FSharp.ProjectSystem.Base/FSharp.ProjectSystem.Base.csproj @@ -40,22 +40,12 @@ - - - - - - - - - - diff --git a/vsintegration/src/FSharp.ProjectSystem.FSharp/FSharp.ProjectSystem.FSharp.fsproj b/vsintegration/src/FSharp.ProjectSystem.FSharp/FSharp.ProjectSystem.FSharp.fsproj index 643e04d2368..66400ffe744 100644 --- a/vsintegration/src/FSharp.ProjectSystem.FSharp/FSharp.ProjectSystem.FSharp.fsproj +++ b/vsintegration/src/FSharp.ProjectSystem.FSharp/FSharp.ProjectSystem.FSharp.fsproj @@ -106,21 +106,12 @@ - - - - - - - - - - + diff --git a/vsintegration/src/FSharp.ProjectSystem.PropertyPages/FSharp.ProjectSystem.PropertyPages.vbproj b/vsintegration/src/FSharp.ProjectSystem.PropertyPages/FSharp.ProjectSystem.PropertyPages.vbproj index a2082802752..d7912c88fd8 100644 --- a/vsintegration/src/FSharp.ProjectSystem.PropertyPages/FSharp.ProjectSystem.PropertyPages.vbproj +++ b/vsintegration/src/FSharp.ProjectSystem.PropertyPages/FSharp.ProjectSystem.PropertyPages.vbproj @@ -48,13 +48,8 @@ - - - - - diff --git a/vsintegration/src/FSharp.VS.FSI/FSharp.VS.FSI.fsproj b/vsintegration/src/FSharp.VS.FSI/FSharp.VS.FSI.fsproj index a3c034b3478..c7432b4d5b7 100644 --- a/vsintegration/src/FSharp.VS.FSI/FSharp.VS.FSI.fsproj +++ b/vsintegration/src/FSharp.VS.FSI/FSharp.VS.FSI.fsproj @@ -19,7 +19,7 @@ - + @@ -57,18 +57,10 @@ - - - - - - - - diff --git a/vsintegration/tests/FSharp.Editor.Tests/FSharp.Editor.Tests.fsproj b/vsintegration/tests/FSharp.Editor.Tests/FSharp.Editor.Tests.fsproj index c084fc6f06a..94a57d466e2 100644 --- a/vsintegration/tests/FSharp.Editor.Tests/FSharp.Editor.Tests.fsproj +++ b/vsintegration/tests/FSharp.Editor.Tests/FSharp.Editor.Tests.fsproj @@ -95,12 +95,9 @@ - - - diff --git a/vsintegration/tests/Salsa/VisualFSharp.Salsa.fsproj b/vsintegration/tests/Salsa/VisualFSharp.Salsa.fsproj index 59aee46dad6..adec147feaf 100644 --- a/vsintegration/tests/Salsa/VisualFSharp.Salsa.fsproj +++ b/vsintegration/tests/Salsa/VisualFSharp.Salsa.fsproj @@ -16,7 +16,7 @@ - + CompilerLocation.fs @@ -53,20 +53,10 @@ - - - - - - - - - - diff --git a/vsintegration/tests/UnitTests/VisualFSharp.UnitTests.fsproj b/vsintegration/tests/UnitTests/VisualFSharp.UnitTests.fsproj index 2bd2d290517..c8a8bebb2c2 100644 --- a/vsintegration/tests/UnitTests/VisualFSharp.UnitTests.fsproj +++ b/vsintegration/tests/UnitTests/VisualFSharp.UnitTests.fsproj @@ -120,34 +120,12 @@ - - - - - - - - - - - - - - - - - - - - - - From c4d3f8d104ef9cbe37bc8ba0d7da06fc4c1630b9 Mon Sep 17 00:00:00 2001 From: Tomas Grosup Date: Mon, 6 Oct 2025 15:29:00 +0200 Subject: [PATCH 11/33] Remove unneeded versions --- eng/Versions.props | 34 +--------------------------------- 1 file changed, 1 insertion(+), 33 deletions(-) diff --git a/eng/Versions.props b/eng/Versions.props index a8015125b98..c84c8c3b327 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -86,7 +86,7 @@ 4.6.0 6.1.0 - + @@ -100,57 +100,38 @@ 18.0.5 - 5.0.0-2.25480.7 - 5.0.0-2.25480.7 5.0.0-2.25480.7 - 5.0.0-1.25377.2 5.0.0-2.25480.7 5.0.0-2.25480.7 5.0.0-2.25480.7 5.0.0-2.25480.7 2.0.28 - 5.0.0-2.25480.7 $(MicrosoftVisualStudioShellPackagesVersion) - $(MicrosoftVisualStudioShellPackagesVersion) $(VisualStudioShellProjectsPackages) - $(MicrosoftVisualStudioShellPackagesVersion) $(MicrosoftVisualStudioShellPackagesVersion) $(MicrosoftVisualStudioShellPackagesVersion) $(MicrosoftVisualStudioShellPackagesVersion) - $(MicrosoftVisualStudioShellPackagesVersion) $(MicrosoftVisualStudioShellPackagesVersion) - $(MicrosoftVisualStudioShellPackagesVersion) $(MicrosoftVisualStudioShellPackagesVersion) $(MicrosoftVisualStudioShellPackagesVersion) $(VisualStudioShellProjectsPackages) - $(VisualStudioShellProjectsPackages) - $(MicrosoftVisualStudioShellPackagesVersion) - $(MicrosoftVisualStudioShellPackagesVersion) $(MicrosoftVisualStudioShellPackagesVersion) - $(MicrosoftVisualStudioShellPackagesVersion) 10.0.30319 11.0.50727 15.0.25123-Dev15Preview - $(VisualStudioEditorPackagesVersion) $(VisualStudioEditorPackagesVersion) $(VisualStudioEditorPackagesVersion) - $(VisualStudioEditorPackagesVersion) $(VisualStudioEditorPackagesVersion) $(VisualStudioEditorPackagesVersion) - $(VisualStudioEditorPackagesVersion) $(VisualStudioEditorPackagesVersion) - $(VisualStudioEditorPackagesVersion) - $(VisualStudioEditorPackagesVersion) - 18.0.2551-preview.1 5.6.0 0.1.800-beta $(MicrosoftVisualStudioExtensibilityTestingVersion) - $(MicrosoftVisualStudioExtensibilityTestingVersion) $(MicrosoftVisualStudioThreadingPackagesVersion) @@ -161,14 +142,7 @@ 17.14.4-preview1 - 17.15.25-pre 17.0.0 - 17.8.8 - 12.0.4 - 7.0.4 - 8.0.4 - 11.0.4 - 7.0.4 0.2.0 @@ -178,22 +152,16 @@ 0.13.10 2.16.5 - 4.3.0.0 1.0.31 4.3.0-1.22220.8 - 3.1.0 5.0.0-preview.7.20364.11 5.0.0-preview.7.20364.11 17.11.1 13.0.3 - 1.0.0-beta2-dev3 - 2.23.39-alpha - 2.12.87 2.9.0 2.8.2 3.1.17 - 2.2.0 From 0acdf7502fbfc462aa8b0c32f94ea9442c16ddd5 Mon Sep 17 00:00:00 2001 From: Tomas Grosup Date: Mon, 6 Oct 2025 15:52:12 +0200 Subject: [PATCH 12/33] Apply suggestion from @T-Gro --- eng/Versions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eng/Versions.props b/eng/Versions.props index c84c8c3b327..d1ea522b043 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -141,7 +141,7 @@ 2.3.6152103 - 17.14.4-preview1 + 17.14.2120 17.0.0 From 47af8e9a64d39e751febd766da64e399dd06b535 Mon Sep 17 00:00:00 2001 From: Tomas Grosup Date: Mon, 6 Oct 2025 15:53:31 +0200 Subject: [PATCH 13/33] Apply suggestion from @T-Gro --- vsintegration/src/FSharp.Editor/FSharp.Editor.fsproj | 1 - 1 file changed, 1 deletion(-) diff --git a/vsintegration/src/FSharp.Editor/FSharp.Editor.fsproj b/vsintegration/src/FSharp.Editor/FSharp.Editor.fsproj index 4227261091a..26621fac1e6 100644 --- a/vsintegration/src/FSharp.Editor/FSharp.Editor.fsproj +++ b/vsintegration/src/FSharp.Editor/FSharp.Editor.fsproj @@ -174,7 +174,6 @@ - From 44e506d261ec8f57e0bcb8cb88315c78c4bc5937 Mon Sep 17 00:00:00 2001 From: Tomas Grosup Date: Mon, 6 Oct 2025 15:53:42 +0200 Subject: [PATCH 14/33] Apply suggestion from @T-Gro --- .../FSharp.LanguageService.Base.csproj | 1 - 1 file changed, 1 deletion(-) diff --git a/vsintegration/src/FSharp.LanguageService.Base/FSharp.LanguageService.Base.csproj b/vsintegration/src/FSharp.LanguageService.Base/FSharp.LanguageService.Base.csproj index b0baabd173d..fbf420a0741 100644 --- a/vsintegration/src/FSharp.LanguageService.Base/FSharp.LanguageService.Base.csproj +++ b/vsintegration/src/FSharp.LanguageService.Base/FSharp.LanguageService.Base.csproj @@ -46,7 +46,6 @@ - From 9f7a2a980218a4afa305e5eb3a71758973461e18 Mon Sep 17 00:00:00 2001 From: Tomas Grosup Date: Mon, 6 Oct 2025 15:53:50 +0200 Subject: [PATCH 15/33] Apply suggestion from @T-Gro --- .../src/FSharp.LanguageService/FSharp.LanguageService.fsproj | 1 - 1 file changed, 1 deletion(-) diff --git a/vsintegration/src/FSharp.LanguageService/FSharp.LanguageService.fsproj b/vsintegration/src/FSharp.LanguageService/FSharp.LanguageService.fsproj index 75bfc3dc401..ac643efc71b 100644 --- a/vsintegration/src/FSharp.LanguageService/FSharp.LanguageService.fsproj +++ b/vsintegration/src/FSharp.LanguageService/FSharp.LanguageService.fsproj @@ -56,7 +56,6 @@ - From 5061325e8bd948ff4227cfa32660a078faa5ea32 Mon Sep 17 00:00:00 2001 From: Tomas Grosup Date: Mon, 6 Oct 2025 15:53:58 +0200 Subject: [PATCH 16/33] Apply suggestion from @T-Gro --- .../src/FSharp.LanguageService/FSharp.LanguageService.fsproj | 1 - 1 file changed, 1 deletion(-) diff --git a/vsintegration/src/FSharp.LanguageService/FSharp.LanguageService.fsproj b/vsintegration/src/FSharp.LanguageService/FSharp.LanguageService.fsproj index ac643efc71b..0d948cc586b 100644 --- a/vsintegration/src/FSharp.LanguageService/FSharp.LanguageService.fsproj +++ b/vsintegration/src/FSharp.LanguageService/FSharp.LanguageService.fsproj @@ -57,7 +57,6 @@ - From 473d10965834bbcd564b0efdd2fe7ba30fb76934 Mon Sep 17 00:00:00 2001 From: Tomas Grosup Date: Mon, 6 Oct 2025 15:54:07 +0200 Subject: [PATCH 17/33] Apply suggestion from @T-Gro --- .../FSharp.ProjectSystem.Base/FSharp.ProjectSystem.Base.csproj | 2 -- 1 file changed, 2 deletions(-) diff --git a/vsintegration/src/FSharp.ProjectSystem.Base/FSharp.ProjectSystem.Base.csproj b/vsintegration/src/FSharp.ProjectSystem.Base/FSharp.ProjectSystem.Base.csproj index cf4724a7f62..be6eb82d080 100644 --- a/vsintegration/src/FSharp.ProjectSystem.Base/FSharp.ProjectSystem.Base.csproj +++ b/vsintegration/src/FSharp.ProjectSystem.Base/FSharp.ProjectSystem.Base.csproj @@ -41,8 +41,6 @@ - - From 0d7274541187bcb8efd8be05e99255b2fbbfb723 Mon Sep 17 00:00:00 2001 From: Tomas Grosup Date: Mon, 6 Oct 2025 15:54:19 +0200 Subject: [PATCH 18/33] Apply suggestion from @T-Gro --- .../FSharp.ProjectSystem.FSharp.fsproj | 2 -- 1 file changed, 2 deletions(-) diff --git a/vsintegration/src/FSharp.ProjectSystem.FSharp/FSharp.ProjectSystem.FSharp.fsproj b/vsintegration/src/FSharp.ProjectSystem.FSharp/FSharp.ProjectSystem.FSharp.fsproj index 66400ffe744..da59e918292 100644 --- a/vsintegration/src/FSharp.ProjectSystem.FSharp/FSharp.ProjectSystem.FSharp.fsproj +++ b/vsintegration/src/FSharp.ProjectSystem.FSharp/FSharp.ProjectSystem.FSharp.fsproj @@ -104,8 +104,6 @@ - - From 524fe2f82bd4840515b250323dffe02a47e61d01 Mon Sep 17 00:00:00 2001 From: Tomas Grosup Date: Mon, 6 Oct 2025 15:54:29 +0200 Subject: [PATCH 19/33] Apply suggestion from @T-Gro --- .../FSharp.ProjectSystem.PropertyPages.vbproj | 1 - 1 file changed, 1 deletion(-) diff --git a/vsintegration/src/FSharp.ProjectSystem.PropertyPages/FSharp.ProjectSystem.PropertyPages.vbproj b/vsintegration/src/FSharp.ProjectSystem.PropertyPages/FSharp.ProjectSystem.PropertyPages.vbproj index d7912c88fd8..e964555f55f 100644 --- a/vsintegration/src/FSharp.ProjectSystem.PropertyPages/FSharp.ProjectSystem.PropertyPages.vbproj +++ b/vsintegration/src/FSharp.ProjectSystem.PropertyPages/FSharp.ProjectSystem.PropertyPages.vbproj @@ -46,7 +46,6 @@ - From 5196aa96d509ff37e0d46edb73d8a58dffd4e84a Mon Sep 17 00:00:00 2001 From: Tomas Grosup Date: Mon, 6 Oct 2025 15:54:39 +0200 Subject: [PATCH 20/33] Apply suggestion from @T-Gro --- vsintegration/tests/UnitTests/VisualFSharp.UnitTests.fsproj | 1 - 1 file changed, 1 deletion(-) diff --git a/vsintegration/tests/UnitTests/VisualFSharp.UnitTests.fsproj b/vsintegration/tests/UnitTests/VisualFSharp.UnitTests.fsproj index c8a8bebb2c2..a1ca5b1fbf0 100644 --- a/vsintegration/tests/UnitTests/VisualFSharp.UnitTests.fsproj +++ b/vsintegration/tests/UnitTests/VisualFSharp.UnitTests.fsproj @@ -121,7 +121,6 @@ - From 98eeb7d8421357801ca5bb2b816ae6c1ec03f0e6 Mon Sep 17 00:00:00 2001 From: Tomas Grosup Date: Mon, 6 Oct 2025 15:54:52 +0200 Subject: [PATCH 21/33] Apply suggestion from @T-Gro --- vsintegration/tests/Salsa/VisualFSharp.Salsa.fsproj | 1 - 1 file changed, 1 deletion(-) diff --git a/vsintegration/tests/Salsa/VisualFSharp.Salsa.fsproj b/vsintegration/tests/Salsa/VisualFSharp.Salsa.fsproj index adec147feaf..6396eada6a9 100644 --- a/vsintegration/tests/Salsa/VisualFSharp.Salsa.fsproj +++ b/vsintegration/tests/Salsa/VisualFSharp.Salsa.fsproj @@ -51,7 +51,6 @@ - From bc98438088a4767f3b1b9e97b571769c50fde3ff Mon Sep 17 00:00:00 2001 From: Tomas Grosup Date: Mon, 6 Oct 2025 15:55:10 +0200 Subject: [PATCH 22/33] Apply suggestion from @T-Gro --- vsintegration/src/FSharp.VS.FSI/FSharp.VS.FSI.fsproj | 1 - 1 file changed, 1 deletion(-) diff --git a/vsintegration/src/FSharp.VS.FSI/FSharp.VS.FSI.fsproj b/vsintegration/src/FSharp.VS.FSI/FSharp.VS.FSI.fsproj index c7432b4d5b7..2478700de2d 100644 --- a/vsintegration/src/FSharp.VS.FSI/FSharp.VS.FSI.fsproj +++ b/vsintegration/src/FSharp.VS.FSI/FSharp.VS.FSI.fsproj @@ -57,7 +57,6 @@ - From ae19f7c444f59a5694597e6ac1cd602106dec361 Mon Sep 17 00:00:00 2001 From: Tomas Grosup Date: Mon, 6 Oct 2025 20:21:59 +0200 Subject: [PATCH 23/33] Modify System.Collections.Immutable reference Updated PackageReference for System.Collections.Immutable to exclude all assets. --- tests/FSharp.Test.Utilities/FSharp.Test.Utilities.fsproj | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/tests/FSharp.Test.Utilities/FSharp.Test.Utilities.fsproj b/tests/FSharp.Test.Utilities/FSharp.Test.Utilities.fsproj index 484f8acfbb0..382361ab94c 100644 --- a/tests/FSharp.Test.Utilities/FSharp.Test.Utilities.fsproj +++ b/tests/FSharp.Test.Utilities/FSharp.Test.Utilities.fsproj @@ -92,8 +92,10 @@ $(NoWarn);NU1510 - - + + all From a976beb70a2cf3701a5cfc87daaf9d50cdb5ebfe Mon Sep 17 00:00:00 2001 From: Tomas Grosup Date: Mon, 6 Oct 2025 20:33:17 +0200 Subject: [PATCH 24/33] Apply suggestion from @T-Gro --- tests/FSharp.Test.Utilities/FSharp.Test.Utilities.fsproj | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/FSharp.Test.Utilities/FSharp.Test.Utilities.fsproj b/tests/FSharp.Test.Utilities/FSharp.Test.Utilities.fsproj index 382361ab94c..60f64573e0f 100644 --- a/tests/FSharp.Test.Utilities/FSharp.Test.Utilities.fsproj +++ b/tests/FSharp.Test.Utilities/FSharp.Test.Utilities.fsproj @@ -93,8 +93,8 @@ + TEST IF WE CAN ELIMINATE THIS DIRECT REFERENCE --> + From dae0174d63b081fd4e1233b78423147063814d5c Mon Sep 17 00:00:00 2001 From: Tomas Grosup Date: Mon, 6 Oct 2025 20:59:11 +0200 Subject: [PATCH 25/33] Apply suggestion from @T-Gro --- tests/FSharp.Test.Utilities/FSharp.Test.Utilities.fsproj | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/tests/FSharp.Test.Utilities/FSharp.Test.Utilities.fsproj b/tests/FSharp.Test.Utilities/FSharp.Test.Utilities.fsproj index 60f64573e0f..4e596ef9cc1 100644 --- a/tests/FSharp.Test.Utilities/FSharp.Test.Utilities.fsproj +++ b/tests/FSharp.Test.Utilities/FSharp.Test.Utilities.fsproj @@ -92,9 +92,7 @@ $(NoWarn);NU1510 - - + From 4b121a9c12926f69f00454949286f2c86e9c26ad Mon Sep 17 00:00:00 2001 From: Tomas Grosup Date: Mon, 6 Oct 2025 21:53:36 +0200 Subject: [PATCH 26/33] Update FSharp.Test.Utilities.fsproj --- tests/FSharp.Test.Utilities/FSharp.Test.Utilities.fsproj | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/tests/FSharp.Test.Utilities/FSharp.Test.Utilities.fsproj b/tests/FSharp.Test.Utilities/FSharp.Test.Utilities.fsproj index 4e596ef9cc1..c58b4ecdae0 100644 --- a/tests/FSharp.Test.Utilities/FSharp.Test.Utilities.fsproj +++ b/tests/FSharp.Test.Utilities/FSharp.Test.Utilities.fsproj @@ -92,8 +92,7 @@ $(NoWarn);NU1510 - - + all @@ -102,7 +101,6 @@ - From f8de2edbe2a86aeb0fd722e3932fab1f7e0a4655 Mon Sep 17 00:00:00 2001 From: Tomas Grosup Date: Tue, 7 Oct 2025 10:44:27 +0200 Subject: [PATCH 27/33] showImmutableVersion --- tests/fsharp/Compiler/Language/OptionalInteropTests.fs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/tests/fsharp/Compiler/Language/OptionalInteropTests.fs b/tests/fsharp/Compiler/Language/OptionalInteropTests.fs index 17f22bbe378..65d4f9a0a95 100644 --- a/tests/fsharp/Compiler/Language/OptionalInteropTests.fs +++ b/tests/fsharp/Compiler/Language/OptionalInteropTests.fs @@ -11,10 +11,17 @@ open Microsoft.CodeAnalysis module OptionalInteropTests = + open System.Reflection + + let showImmutableVersion () = + let asm = typeof.Assembly + printfn "Loaded System.Collections.Immutable version: %s" (asm.GetName().Version.ToString()) + [] [] [] let ``C# method with an optional parameter and called with an option type should compile`` langVersion = + showImmutableVersion() let csSrc = """ using Microsoft.FSharp.Core; From b7c5cb49c105e75525ba8036146e73a2dc29f63c Mon Sep 17 00:00:00 2001 From: Tomas Grosup Date: Tue, 7 Oct 2025 14:16:00 +0200 Subject: [PATCH 28/33] what is wrong with System.Collections.Immutable.ImmutableArray.Create --- tests/fsharp/Compiler/Language/OptionalInteropTests.fs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/fsharp/Compiler/Language/OptionalInteropTests.fs b/tests/fsharp/Compiler/Language/OptionalInteropTests.fs index 65d4f9a0a95..6d2c62c28aa 100644 --- a/tests/fsharp/Compiler/Language/OptionalInteropTests.fs +++ b/tests/fsharp/Compiler/Language/OptionalInteropTests.fs @@ -14,6 +14,8 @@ module OptionalInteropTests = open System.Reflection let showImmutableVersion () = + let x = System.Collections.Immutable.ImmutableArray.Create(System.ReadOnlySpan.op_Implicit([|1;2;3|])) + printfn "Created ImmutableArray with length: %d ;; %A" x.Length x let asm = typeof.Assembly printfn "Loaded System.Collections.Immutable version: %s" (asm.GetName().Version.ToString()) From 847c67ed8a2fc621a45528f44a6047de668cf288 Mon Sep 17 00:00:00 2001 From: Tomas Grosup Date: Thu, 9 Oct 2025 12:40:46 +0200 Subject: [PATCH 29/33] Reduce duplicate test deps, downgrade roslyn used for testing (keep high one for vsintegration) --- FSharp.sln | 11 +++++-- eng/Versions.props | 6 ++-- .../FSharp.Test.Utilities.fsproj | 29 ++++++++++++------- .../Compiler/Language/OptionalInteropTests.fs | 10 +------ tests/fsharp/FSharpSuite.Tests.fsproj | 22 ++------------ 5 files changed, 34 insertions(+), 44 deletions(-) diff --git a/FSharp.sln b/FSharp.sln index 094d4302e5c..83933b62da3 100644 --- a/FSharp.sln +++ b/FSharp.sln @@ -1,7 +1,7 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 17 -VisualStudioVersion = 17.1.32113.165 +# Visual Studio Version 18 +VisualStudioVersion = 18.0.11104.47 d18.0 MinimumVisualStudioVersion = 10.0.40219.1 Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "FSharp.Core", "src\FSharp.Core\FSharp.Core.fsproj", "{DED3BBD7-53F4-428A-8C9F-27968E768605}" EndProject @@ -166,6 +166,13 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".VisualStudio", ".VisualStu docs\release-notes\.VisualStudio\17.9.md = docs\release-notes\.VisualStudio\17.9.md EndProjectSection EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "eng", "eng", "{79E058E4-79E9-4178-AFA4-A87C45373379}" + ProjectSection(SolutionItems) = preProject + eng\Version.Details.props = eng\Version.Details.props + eng\Version.Details.xml = eng\Version.Details.xml + eng\Versions.props = eng\Versions.props + EndProjectSection +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU diff --git a/eng/Versions.props b/eng/Versions.props index d1ea522b043..959c6e08039 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -106,6 +106,8 @@ 5.0.0-2.25480.7 5.0.0-2.25480.7 2.0.28 + + 4.14.0 $(MicrosoftVisualStudioShellPackagesVersion) @@ -157,10 +159,10 @@ 5.0.0-preview.7.20364.11 5.0.0-preview.7.20364.11 - 17.11.1 + 17.14.1 13.0.3 2.9.0 - 2.8.2 + 3.1.4 3.1.17 diff --git a/tests/FSharp.Test.Utilities/FSharp.Test.Utilities.fsproj b/tests/FSharp.Test.Utilities/FSharp.Test.Utilities.fsproj index c58b4ecdae0..a05373966a7 100644 --- a/tests/FSharp.Test.Utilities/FSharp.Test.Utilities.fsproj +++ b/tests/FSharp.Test.Utilities/FSharp.Test.Utilities.fsproj @@ -69,8 +69,22 @@ - - + + runtime; native + all + + + runtime; native + all + + + runtime; native + all + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + @@ -83,8 +97,6 @@ - - @@ -93,13 +105,8 @@ - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - - + + diff --git a/tests/fsharp/Compiler/Language/OptionalInteropTests.fs b/tests/fsharp/Compiler/Language/OptionalInteropTests.fs index 6d2c62c28aa..868d46de779 100644 --- a/tests/fsharp/Compiler/Language/OptionalInteropTests.fs +++ b/tests/fsharp/Compiler/Language/OptionalInteropTests.fs @@ -2,6 +2,7 @@ namespace FSharp.Compiler.UnitTests +open System open System.Collections.Immutable open Xunit open FSharp.Test @@ -11,19 +12,10 @@ open Microsoft.CodeAnalysis module OptionalInteropTests = - open System.Reflection - - let showImmutableVersion () = - let x = System.Collections.Immutable.ImmutableArray.Create(System.ReadOnlySpan.op_Implicit([|1;2;3|])) - printfn "Created ImmutableArray with length: %d ;; %A" x.Length x - let asm = typeof.Assembly - printfn "Loaded System.Collections.Immutable version: %s" (asm.GetName().Version.ToString()) - [] [] [] let ``C# method with an optional parameter and called with an option type should compile`` langVersion = - showImmutableVersion() let csSrc = """ using Microsoft.FSharp.Core; diff --git a/tests/fsharp/FSharpSuite.Tests.fsproj b/tests/fsharp/FSharpSuite.Tests.fsproj index b4540de0b33..104ce17eddd 100644 --- a/tests/fsharp/FSharpSuite.Tests.fsproj +++ b/tests/fsharp/FSharpSuite.Tests.fsproj @@ -2,7 +2,7 @@ - net472;$(FSharpNetCoreProductTargetFramework) + net472;$(FSharpNetCoreProductTargetFramework) $(FSharpNetCoreProductTargetFramework) win-x86;win-x64 $(AssetTargetFallback);portable-net45+win8+wp8+wpa81 @@ -112,27 +112,9 @@ - + false - - - - - - - - - - - - - - - - - - From ad5840141a59904496b70e9e51e169d7a10fb2bc Mon Sep 17 00:00:00 2001 From: Tomas Grosup Date: Thu, 9 Oct 2025 13:20:21 +0200 Subject: [PATCH 30/33] Avoid xunit catastrophic failure caused by testcollection ID --- tests/FSharp.Test.Utilities/XunitHelpers.fs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/tests/FSharp.Test.Utilities/XunitHelpers.fs b/tests/FSharp.Test.Utilities/XunitHelpers.fs index 7e907492e65..7c3e8f16a0c 100644 --- a/tests/FSharp.Test.Utilities/XunitHelpers.fs +++ b/tests/FSharp.Test.Utilities/XunitHelpers.fs @@ -77,13 +77,21 @@ module TestCaseCustomizations = let oldTestClass = oldTestMethod.TestClass let oldTestCollection = oldTestMethod.TestClass.TestCollection + // Create a DETERMINISTIC collection ID based on the test case's unique ID + // This ensures the same test case always gets the same collection ID + let collectionId = + use sha = System.Security.Cryptography.SHA256.Create() + let bytes = System.Text.Encoding.UTF8.GetBytes(testCase.UniqueID) + let hash = sha.ComputeHash(bytes) + System.Guid(hash.[0..15]) // Take first 16 bytes for GUID + // Create a new collection with a unique id for the test case. let newTestCollection = new TestCollection( oldTestCollection.TestAssembly, oldTestCollection.CollectionDefinition, oldTestCollection.DisplayName, - Guid.NewGuid() + collectionId ) let newTestClass = new TestClass(newTestCollection, oldTestClass.Class) From 3005bd159907f7ec5d76216de746532476569ac8 Mon Sep 17 00:00:00 2001 From: Tomas Grosup Date: Thu, 9 Oct 2025 13:27:05 +0200 Subject: [PATCH 31/33] IDE tests - enforce roslyn version matching editor components --- .../tests/FSharp.Editor.Tests/FSharp.Editor.Tests.fsproj | 5 ++++- vsintegration/tests/UnitTests/VisualFSharp.UnitTests.fsproj | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/vsintegration/tests/FSharp.Editor.Tests/FSharp.Editor.Tests.fsproj b/vsintegration/tests/FSharp.Editor.Tests/FSharp.Editor.Tests.fsproj index 94a57d466e2..1625be60b9a 100644 --- a/vsintegration/tests/FSharp.Editor.Tests/FSharp.Editor.Tests.fsproj +++ b/vsintegration/tests/FSharp.Editor.Tests/FSharp.Editor.Tests.fsproj @@ -95,7 +95,10 @@ - + + + + diff --git a/vsintegration/tests/UnitTests/VisualFSharp.UnitTests.fsproj b/vsintegration/tests/UnitTests/VisualFSharp.UnitTests.fsproj index a1ca5b1fbf0..d5167d28820 100644 --- a/vsintegration/tests/UnitTests/VisualFSharp.UnitTests.fsproj +++ b/vsintegration/tests/UnitTests/VisualFSharp.UnitTests.fsproj @@ -120,7 +120,10 @@ - + + + + From f54f787d0a4c575a0fcf007f48f33d07a256e782 Mon Sep 17 00:00:00 2001 From: Tomas Grosup Date: Thu, 9 Oct 2025 13:33:26 +0200 Subject: [PATCH 32/33] remove obsolete prop --- tests/FSharp.Test.Utilities/FSharp.Test.Utilities.fsproj | 1 - tests/fsharp/FSharpSuite.Tests.fsproj | 1 - 2 files changed, 2 deletions(-) diff --git a/tests/FSharp.Test.Utilities/FSharp.Test.Utilities.fsproj b/tests/FSharp.Test.Utilities/FSharp.Test.Utilities.fsproj index a05373966a7..c1aebde1ed3 100644 --- a/tests/FSharp.Test.Utilities/FSharp.Test.Utilities.fsproj +++ b/tests/FSharp.Test.Utilities/FSharp.Test.Utilities.fsproj @@ -5,7 +5,6 @@ $(FSharpNetCoreProductTargetFramework) win-x86;win-x64;linux-x64;osx-x64 $(AssetTargetFallback);portable-net45+win8+wp8+wpa81 - true Library true xunit diff --git a/tests/fsharp/FSharpSuite.Tests.fsproj b/tests/fsharp/FSharpSuite.Tests.fsproj index 104ce17eddd..d1b45048e75 100644 --- a/tests/fsharp/FSharpSuite.Tests.fsproj +++ b/tests/fsharp/FSharpSuite.Tests.fsproj @@ -6,7 +6,6 @@ $(FSharpNetCoreProductTargetFramework) win-x86;win-x64 $(AssetTargetFallback);portable-net45+win8+wp8+wpa81 - true Library true false From fedc12b5dc5ceed51618d89d9f0ac6f7bde92f2d Mon Sep 17 00:00:00 2001 From: Tomas Grosup Date: Thu, 9 Oct 2025 14:36:25 +0200 Subject: [PATCH 33/33] workaround xunit bug that treat displayname as if it were a unique ID --- tests/FSharp.Test.Utilities/XunitHelpers.fs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tests/FSharp.Test.Utilities/XunitHelpers.fs b/tests/FSharp.Test.Utilities/XunitHelpers.fs index 7c3e8f16a0c..562ae04ce9b 100644 --- a/tests/FSharp.Test.Utilities/XunitHelpers.fs +++ b/tests/FSharp.Test.Utilities/XunitHelpers.fs @@ -85,12 +85,14 @@ module TestCaseCustomizations = let hash = sha.ComputeHash(bytes) System.Guid(hash.[0..15]) // Take first 16 bytes for GUID + let newDisplayName = $"{oldTestCollection.DisplayName}_{collectionId:N}" + // Create a new collection with a unique id for the test case. let newTestCollection = new TestCollection( oldTestCollection.TestAssembly, oldTestCollection.CollectionDefinition, - oldTestCollection.DisplayName, + newDisplayName, collectionId )