diff --git a/.paket/Paket.Restore.targets b/.paket/Paket.Restore.targets index 0ec281627..e55904b25 100644 --- a/.paket/Paket.Restore.targets +++ b/.paket/Paket.Restore.targets @@ -289,14 +289,16 @@ $(MSBuildProjectDirectory)/$(MSBuildProjectFile) true + false + true false - true + true false true false - true + true false - true + true $(PaketIntermediateOutputPath)\$(Configuration) $(PaketIntermediateOutputPath) @@ -314,6 +316,53 @@ + 5.2.0 nuget Fantomas.Extras ~> 4.5 prerelease nuget FSharp.Compiler.Service ~> 39 -nuget Ionide.ProjInfo 0.51.0 -nuget Ionide.ProjInfo.FCS 0.51.0 -nuget Ionide.ProjInfo.ProjectSystem 0.51.0 +nuget Ionide.ProjInfo +nuget Ionide.ProjInfo.FCS +nuget Ionide.ProjInfo.ProjectSystem nuget Microsoft.Build copy_local:false nuget Microsoft.Build.Framework copy_local:false nuget Microsoft.Build.Utilities.Core copy_local:false @@ -25,7 +25,7 @@ nuget ICSharpCode.Decompiler nuget Mono.Cecil >= 0.10.0-beta7 nuget Newtonsoft.Json # nuget Fake.Runtime prerelease -# nuget FSharpLint.Core prerelease +nuget FSharpLint.Core nuget FSharp.Core nuget Dapper nuget Microsoft.Data.Sqlite 2.2.4 diff --git a/paket.lock b/paket.lock index 409fa0b06..98b718dbb 100644 --- a/paket.lock +++ b/paket.lock @@ -1,5 +1,5 @@ STORAGE: NONE -RESTRICTION: || (== net50) (== netstandard2.0) +RESTRICTION: || (== net5.0) (== netstandard2.0) NUGET remote: https://api.nuget.org/v3/index.json AltCover (8.1.819) @@ -23,10 +23,12 @@ NUGET Fantomas (>= 4.5.0-beta-001) FSharp.Core (>= 5.0.1) MAB.DotIgnore (>= 3.0.2) + FParsec (1.1.1) - restriction: || (== net5.0) (&& (== netstandard2.0) (>= net5.0)) + FSharp.Core (>= 4.3.4) FSharp.Analyzers.SDK (0.8) - FSharp.Compiler.Service (>= 39.0) - restriction: || (== net50) (&& (== netstandard2.0) (>= net50)) - FSharp.Core (>= 5.0.1) - restriction: || (== net50) (&& (== netstandard2.0) (>= net50)) - McMaster.NETCore.Plugins (>= 1.3.1) - restriction: || (== net50) (&& (== netstandard2.0) (>= net50)) + FSharp.Compiler.Service (>= 39.0) - restriction: || (== net5.0) (&& (== netstandard2.0) (>= net5.0)) + FSharp.Core (>= 5.0.1) - restriction: || (== net5.0) (&& (== netstandard2.0) (>= net5.0)) + McMaster.NETCore.Plugins (>= 1.3.1) - restriction: || (== net5.0) (&& (== netstandard2.0) (>= net5.0)) FSharp.Compiler.Service (39.0) FSharp.Core (5.0.1) Microsoft.Build.Framework (>= 16.6) @@ -54,8 +56,8 @@ NUGET System.Threading.Thread (>= 4.3) System.Threading.ThreadPool (>= 4.3) FSharp.Control.AsyncSeq (3.0.3) - FSharp.Core (>= 4.3.2) - restriction: || (== net50) (&& (== netstandard2.0) (>= netstandard2.1)) - FSharp.Control.Reactive (5.0) - restriction: || (== net50) (&& (== netstandard2.0) (>= net50)) + FSharp.Core (>= 4.3.2) - restriction: || (== net5.0) (&& (== netstandard2.0) (>= netstandard2.1)) + FSharp.Control.Reactive (5.0) - restriction: || (== net5.0) (&& (== netstandard2.0) (>= net5.0)) FSharp.Core (>= 5.0.1) System.Reactive (>= 5.0) FSharp.Core (5.0.1) @@ -63,6 +65,19 @@ NUGET FSharp.Compiler.Service (>= 36.0.3) FSharp.UMX (1.0) FSharp.Core (>= 4.3.4) + FSharpLint.Core (0.19) + FParsec (>= 1.1.1) - restriction: || (== net5.0) (&& (== netstandard2.0) (>= net5.0)) + FSharp.Compiler.Service (>= 39.0) - restriction: || (== net5.0) (&& (== netstandard2.0) (>= net5.0)) + FSharp.Core (>= 5.0.1) - restriction: || (== net5.0) (&& (== netstandard2.0) (>= net5.0)) + Ionide.ProjInfo (>= 0.52) - restriction: || (== net5.0) (&& (== netstandard2.0) (>= net5.0)) + Ionide.ProjInfo.FCS (>= 0.48) - restriction: || (== net5.0) (&& (== netstandard2.0) (>= net5.0)) + Ionide.ProjInfo.ProjectSystem (>= 0.48) - restriction: || (== net5.0) (&& (== netstandard2.0) (>= net5.0)) + Microsoft.Build (>= 16.10) - restriction: || (== net5.0) (&& (== netstandard2.0) (>= net5.0)) + Microsoft.Build.Framework (>= 16.10) - restriction: || (== net5.0) (&& (== netstandard2.0) (>= net5.0)) + Microsoft.Build.Locator (>= 1.4.1) - restriction: || (== net5.0) (&& (== netstandard2.0) (>= net5.0)) + Microsoft.Build.Tasks.Core (>= 16.10) - restriction: || (== net5.0) (&& (== netstandard2.0) (>= net5.0)) + Microsoft.Build.Utilities.Core (>= 16.10) - restriction: || (== net5.0) (&& (== netstandard2.0) (>= net5.0)) + Newtonsoft.Json (>= 13.0.1) - restriction: || (== net5.0) (&& (== netstandard2.0) (>= net5.0)) FSharpx.Async (1.14.1) FSharp.Control.AsyncSeq (>= 2.0.21) FSharp.Core (>= 4.6.2) @@ -74,74 +89,79 @@ NUGET System.Collections.Immutable (>= 1.5) System.Reflection.Metadata (>= 1.6) System.ValueTuple (>= 4.3) - Ionide.ProjInfo (0.51) - FSharp.Core (>= 5.0.1) - restriction: || (== net50) (&& (== netstandard2.0) (>= netcoreapp3.1)) - Ionide.ProjInfo.Sln (>= 0.51) - restriction: || (== net50) (&& (== netstandard2.0) (>= netcoreapp3.1)) - Microsoft.Build (>= 16.8) - restriction: || (== net50) (&& (== netstandard2.0) (>= netcoreapp3.1)) - Microsoft.Build.Locator (>= 1.4.1) - restriction: || (== net50) (&& (== netstandard2.0) (>= netcoreapp3.1)) + Ionide.ProjInfo (0.52) + FSharp.Core (>= 5.0.1) - restriction: || (== net5.0) (&& (== netstandard2.0) (>= netcoreapp3.1)) + Ionide.ProjInfo.Sln (>= 0.52) - restriction: || (== net5.0) (&& (== netstandard2.0) (>= netcoreapp3.1)) + Microsoft.Build (>= 16.8) - restriction: || (== net5.0) (&& (== netstandard2.0) (>= netcoreapp3.1)) + Microsoft.Build.Locator (>= 1.4.1) - restriction: || (== net5.0) (&& (== netstandard2.0) (>= netcoreapp3.1)) Ionide.ProjInfo.FCS (0.51) - FSharp.Compiler.Service (>= 39.0) - restriction: || (== net50) (&& (== netstandard2.0) (>= net50)) - FSharp.Core (>= 5.0.1) - restriction: || (== net50) (&& (== netstandard2.0) (>= net50)) - Ionide.ProjInfo (>= 0.51) - restriction: || (== net50) (&& (== netstandard2.0) (>= net50)) + FSharp.Compiler.Service (>= 39.0) - restriction: || (== net5.0) (&& (== netstandard2.0) (>= net5.0)) + FSharp.Core (>= 5.0.1) - restriction: || (== net5.0) (&& (== netstandard2.0) (>= net5.0)) + Ionide.ProjInfo (>= 0.51) - restriction: || (== net5.0) (&& (== netstandard2.0) (>= net5.0)) Ionide.ProjInfo.ProjectSystem (0.51) - FSharp.Compiler.Service (>= 39.0) - restriction: || (== net50) (&& (== netstandard2.0) (>= net50)) - FSharp.Control.Reactive (>= 4.5) - restriction: || (== net50) (&& (== netstandard2.0) (>= net50)) - FSharp.Core (>= 5.0.1) - restriction: || (== net50) (&& (== netstandard2.0) (>= net50)) - Ionide.ProjInfo (>= 0.51) - restriction: || (== net50) (&& (== netstandard2.0) (>= net50)) - Ionide.ProjInfo.FCS (>= 0.51) - restriction: || (== net50) (&& (== netstandard2.0) (>= net50)) - Ionide.ProjInfo.Sln (>= 0.51) - restriction: || (== net50) (&& (== netstandard2.0) (>= net50)) - Newtonsoft.Json (>= 12.0.3) - restriction: || (== net50) (&& (== netstandard2.0) (>= net50)) - Ionide.ProjInfo.Sln (0.51) - restriction: || (== net50) (&& (== netstandard2.0) (>= netcoreapp3.1)) + FSharp.Compiler.Service (>= 39.0) - restriction: || (== net5.0) (&& (== netstandard2.0) (>= net5.0)) + FSharp.Control.Reactive (>= 4.5) - restriction: || (== net5.0) (&& (== netstandard2.0) (>= net5.0)) + FSharp.Core (>= 5.0.1) - restriction: || (== net5.0) (&& (== netstandard2.0) (>= net5.0)) + Ionide.ProjInfo (>= 0.51) - restriction: || (== net5.0) (&& (== netstandard2.0) (>= net5.0)) + Ionide.ProjInfo.FCS (>= 0.51) - restriction: || (== net5.0) (&& (== netstandard2.0) (>= net5.0)) + Ionide.ProjInfo.Sln (>= 0.51) - restriction: || (== net5.0) (&& (== netstandard2.0) (>= net5.0)) + Newtonsoft.Json (>= 12.0.3) - restriction: || (== net5.0) (&& (== netstandard2.0) (>= net5.0)) + Ionide.ProjInfo.Sln (0.52) - restriction: || (== net5.0) (&& (== netstandard2.0) (>= netcoreapp3.1)) MAB.DotIgnore (3.0.2) NETStandard.Library (>= 1.6.1) - McMaster.NETCore.Plugins (1.3.1) - restriction: || (== net50) (&& (== netstandard2.0) (>= net50)) - Microsoft.DotNet.PlatformAbstractions (>= 3.1) - restriction: || (== net50) (&& (== netstandard2.0) (>= netcoreapp2.0)) - Microsoft.Extensions.DependencyModel (>= 3.1) - restriction: || (== net50) (&& (== netstandard2.0) (>= netcoreapp2.0)) - Microsoft.Build (16.9) - copy_local: false - Microsoft.Build.Framework (>= 16.9) - restriction: || (== net50) (&& (== netstandard2.0) (>= net472)) (&& (== netstandard2.0) (>= netcoreapp2.1)) - Microsoft.Win32.Registry (>= 4.3) - restriction: || (== net50) (&& (== netstandard2.0) (>= netcoreapp2.1)) - System.Collections.Immutable (>= 5.0) - restriction: || (== net50) (&& (== netstandard2.0) (>= net472)) (&& (== netstandard2.0) (>= netcoreapp2.1)) - System.Memory (>= 4.5.4) - restriction: || (== net50) (&& (== netstandard2.0) (>= net472)) (&& (== netstandard2.0) (>= netcoreapp2.1)) - System.Reflection.Metadata (>= 1.6) - restriction: || (== net50) (&& (== netstandard2.0) (>= netcoreapp2.1)) - System.Security.Principal.Windows (>= 4.7) - restriction: || (== net50) (&& (== netstandard2.0) (>= netcoreapp2.1)) - System.Text.Encoding.CodePages (>= 4.0.1) - restriction: || (== net50) (&& (== netstandard2.0) (>= netcoreapp2.1)) - System.Text.Json (>= 4.7) - restriction: || (== net50) (&& (== netstandard2.0) (>= net472)) (&& (== netstandard2.0) (>= netcoreapp2.1)) - System.Threading.Tasks.Dataflow (>= 4.9) - restriction: || (== net50) (&& (== netstandard2.0) (>= net472)) (&& (== netstandard2.0) (>= netcoreapp2.1)) - Microsoft.Build.Framework (16.9) - copy_local: false + McMaster.NETCore.Plugins (1.3.1) - restriction: || (== net5.0) (&& (== netstandard2.0) (>= net5.0)) + Microsoft.DotNet.PlatformAbstractions (>= 3.1) - restriction: || (== net5.0) (&& (== netstandard2.0) (>= netcoreapp2.0)) + Microsoft.Extensions.DependencyModel (>= 3.1) - restriction: || (== net5.0) (&& (== netstandard2.0) (>= netcoreapp2.0)) + Microsoft.Build (16.10) - copy_local: false + Microsoft.Build.Framework (>= 16.10) - restriction: || (== net5.0) (&& (== netstandard2.0) (>= net472)) (&& (== netstandard2.0) (>= net5.0)) + Microsoft.NET.StringTools (>= 1.0) - restriction: || (== net5.0) (&& (== netstandard2.0) (>= net472)) (&& (== netstandard2.0) (>= net5.0)) + Microsoft.Win32.Registry (>= 4.3) - restriction: || (== net5.0) (&& (== netstandard2.0) (>= net5.0)) + System.Collections.Immutable (>= 5.0) - restriction: || (== net5.0) (&& (== netstandard2.0) (>= net472)) (&& (== netstandard2.0) (>= net5.0)) + System.Configuration.ConfigurationManager (>= 4.7) - restriction: || (== net5.0) (&& (== netstandard2.0) (>= net472)) (&& (== netstandard2.0) (>= net5.0)) + System.Reflection.Metadata (>= 1.6) - restriction: || (== net5.0) (&& (== netstandard2.0) (>= net5.0)) + System.Security.Principal.Windows (>= 4.7) - restriction: || (== net5.0) (&& (== netstandard2.0) (>= net5.0)) + System.Text.Encoding.CodePages (>= 4.0.1) - restriction: || (== net5.0) (&& (== netstandard2.0) (>= net5.0)) + System.Text.Json (>= 4.7) - restriction: || (== net5.0) (&& (== netstandard2.0) (>= net472)) (&& (== netstandard2.0) (>= net5.0)) + System.Threading.Tasks.Dataflow (>= 4.9) - restriction: || (== net5.0) (&& (== netstandard2.0) (>= net472)) (&& (== netstandard2.0) (>= net5.0)) + Microsoft.Build.Framework (16.10) - copy_local: false System.Security.Permissions (>= 4.7) - Microsoft.Build.Locator (1.4.1) - restriction: || (== net50) (&& (== netstandard2.0) (>= netcoreapp3.1)) - Microsoft.Build.Tasks.Core (16.9) - copy_local: false - Microsoft.Build.Framework (>= 16.9) - Microsoft.Build.Utilities.Core (>= 16.9) + Microsoft.Build.Locator (1.4.1) - restriction: || (== net5.0) (&& (== netstandard2.0) (>= net5.0)) + Microsoft.Build.Tasks.Core (16.10) - copy_local: false + Microsoft.Build.Framework (>= 16.10) + Microsoft.Build.Utilities.Core (>= 16.10) + Microsoft.NET.StringTools (>= 1.0) Microsoft.Win32.Registry (>= 4.3) System.CodeDom (>= 4.4) System.Collections.Immutable (>= 5.0) System.Reflection.Metadata (>= 1.6) - System.Reflection.TypeExtensions (>= 4.1) System.Resources.Extensions (>= 4.6) - System.Runtime.InteropServices (>= 4.3) System.Security.Cryptography.Pkcs (>= 4.7) System.Security.Cryptography.Xml (>= 4.7) System.Security.Permissions (>= 4.7) System.Threading.Tasks.Dataflow (>= 4.9) Microsoft.Build.Tasks.Git (1.0) - copy_local: true - Microsoft.Build.Utilities.Core (16.9) - copy_local: false - Microsoft.Build.Framework (>= 16.9) + Microsoft.Build.Utilities.Core (16.10) - copy_local: false + Microsoft.Build.Framework (>= 16.10) + Microsoft.NET.StringTools (>= 1.0) Microsoft.Win32.Registry (>= 4.3) System.Collections.Immutable (>= 5.0) + System.Configuration.ConfigurationManager (>= 4.7) System.Security.Permissions (>= 4.7) System.Text.Encoding.CodePages (>= 4.0.1) - Microsoft.CodeCoverage (16.9.4) - restriction: || (== net50) (&& (== netstandard2.0) (>= net45)) (&& (== netstandard2.0) (>= netcoreapp2.1)) + Microsoft.CodeCoverage (16.9.4) - restriction: || (== net5.0) (&& (== netstandard2.0) (>= net45)) (&& (== netstandard2.0) (>= netcoreapp2.1)) Microsoft.Data.Sqlite (2.2.4) Microsoft.Data.Sqlite.Core (>= 2.2.4) SQLitePCLRaw.bundle_green (>= 1.1.12) Microsoft.Data.Sqlite.Core (2.2.4) SQLitePCLRaw.core (>= 1.1.12) - Microsoft.DotNet.PlatformAbstractions (3.1.6) - restriction: || (== net50) (&& (== netstandard2.0) (>= net50)) - Microsoft.Extensions.DependencyModel (5.0) - restriction: || (== net50) (&& (== netstandard2.0) (>= net50)) + Microsoft.DotNet.PlatformAbstractions (3.1.6) - restriction: || (== net5.0) (&& (== netstandard2.0) (>= net5.0)) + Microsoft.Extensions.DependencyModel (5.0) - restriction: || (== net5.0) (&& (== netstandard2.0) (>= net5.0)) + Microsoft.NET.StringTools (1.0) - copy_local: false + System.Memory (>= 4.5.4) + System.Runtime.CompilerServices.Unsafe (>= 5.0) Microsoft.NET.Test.Sdk (16.8.3) - Microsoft.CodeCoverage (>= 16.8.3) - restriction: || (== net50) (&& (== netstandard2.0) (>= net45)) (&& (== netstandard2.0) (>= netcoreapp2.1)) - Microsoft.TestPlatform.TestHost (>= 16.8.3) - restriction: || (== net50) (&& (== netstandard2.0) (>= netcoreapp2.1)) + Microsoft.CodeCoverage (>= 16.8.3) - restriction: || (== net5.0) (&& (== netstandard2.0) (>= net45)) (&& (== netstandard2.0) (>= netcoreapp2.1)) + Microsoft.TestPlatform.TestHost (>= 16.8.3) - restriction: || (== net5.0) (&& (== netstandard2.0) (>= netcoreapp2.1)) Microsoft.NETCore.Platforms (5.0) - copy_local: false Microsoft.NETCore.Targets (5.0) Microsoft.NETFramework.ReferenceAssemblies (1.0) @@ -149,12 +169,12 @@ NUGET Microsoft.SourceLink.GitHub (1.0) - copy_local: true Microsoft.Build.Tasks.Git (>= 1.0) Microsoft.SourceLink.Common (>= 1.0) - Microsoft.TestPlatform.ObjectModel (16.9.4) - restriction: || (== net50) (&& (== netstandard2.0) (>= netcoreapp2.1)) + Microsoft.TestPlatform.ObjectModel (16.9.4) - restriction: || (== net5.0) (&& (== netstandard2.0) (>= netcoreapp2.1)) NuGet.Frameworks (>= 5.0) System.Reflection.Metadata (>= 1.6) - Microsoft.TestPlatform.TestHost (16.9.4) - restriction: || (== net50) (&& (== netstandard2.0) (>= netcoreapp2.1)) - Microsoft.TestPlatform.ObjectModel (>= 16.9.4) - restriction: || (== net50) (&& (== netstandard2.0) (>= netcoreapp1.0)) (&& (== netstandard2.0) (>= uap10.0)) - Newtonsoft.Json (>= 9.0.1) - restriction: || (== net50) (&& (== netstandard2.0) (>= netcoreapp1.0)) (&& (== netstandard2.0) (>= uap10.0)) + Microsoft.TestPlatform.TestHost (16.9.4) - restriction: || (== net5.0) (&& (== netstandard2.0) (>= netcoreapp2.1)) + Microsoft.TestPlatform.ObjectModel (>= 16.9.4) - restriction: || (== net5.0) (&& (== netstandard2.0) (>= netcoreapp1.0)) (&& (== netstandard2.0) (>= uap10.0)) + Newtonsoft.Json (>= 9.0.1) - restriction: || (== net5.0) (&& (== netstandard2.0) (>= netcoreapp1.0)) (&& (== netstandard2.0) (>= uap10.0)) Microsoft.Win32.Primitives (4.3) Microsoft.NETCore.Platforms (>= 1.1) Microsoft.NETCore.Targets (>= 1.1) @@ -162,13 +182,13 @@ NUGET Microsoft.Win32.Registry (5.0) - copy_local: false System.Security.AccessControl (>= 5.0) System.Security.Principal.Windows (>= 5.0) - Microsoft.Win32.SystemEvents (5.0) - restriction: || (== net50) (&& (== netstandard2.0) (>= netcoreapp3.0)) - Microsoft.NETCore.Platforms (>= 5.0) - restriction: || (== net50) (&& (== netstandard2.0) (>= netcoreapp2.0)) + Microsoft.Win32.SystemEvents (5.0) - restriction: || (== net5.0) (&& (== netstandard2.0) (>= netcoreapp3.0)) + Microsoft.NETCore.Platforms (>= 5.0) - restriction: || (== net5.0) (&& (== netstandard2.0) (>= netcoreapp2.0)) Mono.Cecil (0.11.3) NETStandard.Library (2.0.3) Microsoft.NETCore.Platforms (>= 1.1) Newtonsoft.Json (13.0.1) - NuGet.Frameworks (5.9) - restriction: || (== net50) (&& (== netstandard2.0) (>= netcoreapp2.1)) + NuGet.Frameworks (5.9) - restriction: || (== net5.0) (&& (== netstandard2.0) (>= netcoreapp2.1)) runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) runtime.debian.9-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) @@ -218,26 +238,26 @@ NUGET Serilog.Sinks.Console (3.1.1) Serilog (>= 2.5) System.Console (>= 4.3) - System.Runtime.InteropServices (>= 4.3) - restriction: || (== net50) (&& (== netstandard2.0) (>= netcoreapp1.1)) - System.Runtime.InteropServices.RuntimeInformation (>= 4.3) - restriction: || (== net50) (&& (== netstandard2.0) (>= netcoreapp1.1)) + System.Runtime.InteropServices (>= 4.3) - restriction: || (== net5.0) (&& (== netstandard2.0) (>= netcoreapp1.1)) + System.Runtime.InteropServices.RuntimeInformation (>= 4.3) - restriction: || (== net5.0) (&& (== netstandard2.0) (>= netcoreapp1.1)) Serilog.Sinks.File (4.1) Serilog (>= 2.5) System.IO.FileSystem (>= 4.0.1) System.Text.Encoding.Extensions (>= 4.0.11) System.Threading.Timer (>= 4.0.1) SQLitePCLRaw.bundle_green (1.1.14) - NETStandard.Library (>= 1.6) + NETStandard.Library (>= 1.6) - restriction: || (&& (== net5.0) (< netcoreapp1.0)) (== netstandard2.0) SQLitePCLRaw.core (>= 1.1.14) - SQLitePCLRaw.lib.e_sqlite3.linux (>= 1.1.14) - restriction: || (== net50) (&& (== netstandard2.0) (>= net35) (< portable-net40+sl5+win8+wp8) (< portable-net45+win8+wp8+wpa81)) (&& (== netstandard2.0) (>= net40) (< portable-net45+win8+wp8+wpa81)) (&& (== netstandard2.0) (>= net45)) (&& (== netstandard2.0) (>= netcoreapp1.0)) - SQLitePCLRaw.lib.e_sqlite3.osx (>= 1.1.14) - restriction: || (== net50) (&& (== netstandard2.0) (>= net35) (< portable-net40+sl5+win8+wp8) (< portable-net45+win8+wp8+wpa81)) (&& (== netstandard2.0) (>= net40) (< portable-net45+win8+wp8+wpa81)) (&& (== netstandard2.0) (>= net45)) (&& (== netstandard2.0) (>= netcoreapp1.0)) (&& (== netstandard2.0) (>= xamarinmac)) - SQLitePCLRaw.lib.e_sqlite3.v110_xp (>= 1.1.14) - restriction: || (== net50) (&& (== netstandard2.0) (>= net35) (< portable-net40+sl5+win8+wp8) (< portable-net45+win8+wp8+wpa81)) (&& (== netstandard2.0) (>= net40) (< portable-net45+win8+wp8+wpa81)) (&& (== netstandard2.0) (>= net45)) (&& (== netstandard2.0) (>= netcoreapp1.0)) - SQLitePCLRaw.provider.e_sqlite3.netstandard11 (>= 1.1.14) - restriction: || (== net50) (&& (== netstandard2.0) (>= netcoreapp1.0)) + SQLitePCLRaw.lib.e_sqlite3.linux (>= 1.1.14) - restriction: || (== net5.0) (&& (== netstandard2.0) (>= net35) (< portable-net40+sl5+win8+wp8) (< portable-net45+win8+wp8+wpa81)) (&& (== netstandard2.0) (>= net40) (< portable-net45+win8+wp8+wpa81)) (&& (== netstandard2.0) (>= net45)) (&& (== netstandard2.0) (>= netcoreapp1.0)) + SQLitePCLRaw.lib.e_sqlite3.osx (>= 1.1.14) - restriction: || (== net5.0) (&& (== netstandard2.0) (>= net35) (< portable-net40+sl5+win8+wp8) (< portable-net45+win8+wp8+wpa81)) (&& (== netstandard2.0) (>= net40) (< portable-net45+win8+wp8+wpa81)) (&& (== netstandard2.0) (>= net45)) (&& (== netstandard2.0) (>= netcoreapp1.0)) (&& (== netstandard2.0) (>= xamarinmac)) + SQLitePCLRaw.lib.e_sqlite3.v110_xp (>= 1.1.14) - restriction: || (== net5.0) (&& (== netstandard2.0) (>= net35) (< portable-net40+sl5+win8+wp8) (< portable-net45+win8+wp8+wpa81)) (&& (== netstandard2.0) (>= net40) (< portable-net45+win8+wp8+wpa81)) (&& (== netstandard2.0) (>= net45)) (&& (== netstandard2.0) (>= netcoreapp1.0)) + SQLitePCLRaw.provider.e_sqlite3.netstandard11 (>= 1.1.14) - restriction: || (== net5.0) (&& (== netstandard2.0) (>= netcoreapp1.0)) SQLitePCLRaw.core (1.1.14) NETStandard.Library (>= 1.6) - SQLitePCLRaw.lib.e_sqlite3.linux (1.1.14) - restriction: || (== net50) (&& (== netstandard2.0) (>= net35) (< portable-net40+sl5+win8+wp8) (< portable-net45+win8+wp8+wpa81)) (&& (== netstandard2.0) (>= net40) (< portable-net45+win8+wp8+wpa81)) (&& (== netstandard2.0) (>= net45)) (&& (== netstandard2.0) (>= netcoreapp1.0)) - SQLitePCLRaw.lib.e_sqlite3.osx (1.1.14) - restriction: || (== net50) (&& (== netstandard2.0) (>= net35) (< portable-net40+sl5+win8+wp8) (< portable-net45+win8+wp8+wpa81)) (&& (== netstandard2.0) (>= net40) (< portable-net45+win8+wp8+wpa81)) (&& (== netstandard2.0) (>= net45)) (&& (== netstandard2.0) (>= netcoreapp1.0)) (&& (== netstandard2.0) (>= xamarinmac)) - SQLitePCLRaw.lib.e_sqlite3.v110_xp (1.1.14) - restriction: || (== net50) (&& (== netstandard2.0) (>= net35) (< portable-net40+sl5+win8+wp8) (< portable-net45+win8+wp8+wpa81)) (&& (== netstandard2.0) (>= net40) (< portable-net45+win8+wp8+wpa81)) (&& (== netstandard2.0) (>= net45)) (&& (== netstandard2.0) (>= netcoreapp1.0)) - SQLitePCLRaw.provider.e_sqlite3.netstandard11 (1.1.14) - restriction: || (== net50) (&& (== netstandard2.0) (>= netcoreapp1.0)) + SQLitePCLRaw.lib.e_sqlite3.linux (1.1.14) - restriction: || (== net5.0) (&& (== netstandard2.0) (>= net35) (< portable-net40+sl5+win8+wp8) (< portable-net45+win8+wp8+wpa81)) (&& (== netstandard2.0) (>= net40) (< portable-net45+win8+wp8+wpa81)) (&& (== netstandard2.0) (>= net45)) (&& (== netstandard2.0) (>= netcoreapp1.0)) + SQLitePCLRaw.lib.e_sqlite3.osx (1.1.14) - restriction: || (== net5.0) (&& (== netstandard2.0) (>= net35) (< portable-net40+sl5+win8+wp8) (< portable-net45+win8+wp8+wpa81)) (&& (== netstandard2.0) (>= net40) (< portable-net45+win8+wp8+wpa81)) (&& (== netstandard2.0) (>= net45)) (&& (== netstandard2.0) (>= netcoreapp1.0)) (&& (== netstandard2.0) (>= xamarinmac)) + SQLitePCLRaw.lib.e_sqlite3.v110_xp (1.1.14) - restriction: || (== net5.0) (&& (== netstandard2.0) (>= net35) (< portable-net40+sl5+win8+wp8) (< portable-net45+win8+wp8+wpa81)) (&& (== netstandard2.0) (>= net40) (< portable-net45+win8+wp8+wpa81)) (&& (== netstandard2.0) (>= net45)) (&& (== netstandard2.0) (>= netcoreapp1.0)) + SQLitePCLRaw.provider.e_sqlite3.netstandard11 (1.1.14) - restriction: || (== net5.0) (&& (== netstandard2.0) (>= netcoreapp1.0)) NETStandard.Library (>= 1.6) SQLitePCLRaw.core (>= 1.1.14) System.Buffers (4.5.1) @@ -272,8 +292,8 @@ NUGET Microsoft.NETCore.Targets (>= 1.1) System.Runtime (>= 4.3) System.Diagnostics.DiagnosticSource (5.0.1) - System.Memory (>= 4.5.4) - restriction: || (&& (== net50) (>= net45) (< netstandard1.3)) (&& (== net50) (>= net46)) (&& (== net50) (< netcoreapp2.1)) (&& (== net50) (< netstandard2.0)) (&& (== net50) (>= uap10.1)) (== netstandard2.0) - System.Runtime.CompilerServices.Unsafe (>= 5.0) - restriction: || (&& (== net50) (>= monotouch)) (&& (== net50) (>= net45) (< netstandard1.3)) (&& (== net50) (>= net46)) (&& (== net50) (< netcoreapp2.1)) (&& (== net50) (< netcoreapp3.0)) (&& (== net50) (< netstandard2.0)) (&& (== net50) (>= uap10.1)) (== netstandard2.0) + System.Memory (>= 4.5.4) - restriction: || (&& (== net5.0) (>= net45) (< netstandard1.3)) (&& (== net5.0) (>= net46)) (&& (== net5.0) (< netcoreapp2.1)) (&& (== net5.0) (< netstandard2.0)) (&& (== net5.0) (>= uap10.1)) (== netstandard2.0) + System.Runtime.CompilerServices.Unsafe (>= 5.0) - restriction: || (&& (== net5.0) (>= monotouch)) (&& (== net5.0) (>= net45) (< netstandard1.3)) (&& (== net5.0) (>= net46)) (&& (== net5.0) (< netcoreapp2.1)) (&& (== net5.0) (< netcoreapp3.0)) (&& (== net5.0) (< netstandard2.0)) (&& (== net5.0) (>= uap10.1)) (== netstandard2.0) System.Diagnostics.Process (4.3) Microsoft.NETCore.Platforms (>= 1.1) Microsoft.Win32.Primitives (>= 4.3) @@ -310,11 +330,11 @@ NUGET Microsoft.NETCore.Platforms (>= 1.1) Microsoft.NETCore.Targets (>= 1.1) System.Runtime (>= 4.3) - System.Drawing.Common (5.0) - restriction: || (== net50) (&& (== netstandard2.0) (>= netcoreapp3.0)) - Microsoft.Win32.SystemEvents (>= 5.0) - restriction: || (== net50) (&& (== netstandard2.0) (>= netcoreapp2.0)) (&& (== netstandard2.0) (>= netcoreapp3.0)) + System.Drawing.Common (5.0) - restriction: || (== net5.0) (&& (== netstandard2.0) (>= netcoreapp3.0)) + Microsoft.Win32.SystemEvents (>= 5.0) - restriction: || (== net5.0) (&& (== netstandard2.0) (>= netcoreapp2.0)) (&& (== netstandard2.0) (>= netcoreapp3.0)) System.Formats.Asn1 (5.0) - copy_local: false - System.Buffers (>= 4.5.1) - restriction: || (&& (== net50) (>= monotouch)) (&& (== net50) (>= net461)) (&& (== net50) (< netcoreapp2.0)) (&& (== net50) (>= xamarinios)) (&& (== net50) (>= xamarinmac)) (&& (== net50) (>= xamarintvos)) (&& (== net50) (>= xamarinwatchos)) (== netstandard2.0) - System.Memory (>= 4.5.4) - restriction: || (&& (== net50) (>= net461)) (&& (== net50) (< netcoreapp2.0)) (&& (== net50) (< netcoreapp2.1)) (&& (== net50) (>= uap10.1)) (== netstandard2.0) + System.Buffers (>= 4.5.1) - restriction: || (&& (== net5.0) (>= monotouch)) (&& (== net5.0) (>= net461)) (&& (== net5.0) (< netcoreapp2.0)) (&& (== net5.0) (>= xamarinios)) (&& (== net5.0) (>= xamarinmac)) (&& (== net5.0) (>= xamarintvos)) (&& (== net5.0) (>= xamarinwatchos)) (== netstandard2.0) + System.Memory (>= 4.5.4) - restriction: || (&& (== net5.0) (>= net461)) (&& (== net5.0) (< netcoreapp2.0)) (&& (== net5.0) (< netcoreapp2.1)) (&& (== net5.0) (>= uap10.1)) (== netstandard2.0) System.Globalization (4.3) Microsoft.NETCore.Platforms (>= 1.1) Microsoft.NETCore.Targets (>= 1.1) @@ -382,9 +402,9 @@ NUGET System.Resources.ResourceManager (>= 4.3) System.Runtime (>= 4.3) System.Memory (4.5.4) - System.Buffers (>= 4.5.1) - restriction: || (&& (== net50) (>= monotouch)) (&& (== net50) (>= net461)) (&& (== net50) (< netcoreapp2.0)) (&& (== net50) (< netstandard1.1)) (&& (== net50) (< netstandard2.0)) (&& (== net50) (>= xamarinios)) (&& (== net50) (>= xamarinmac)) (&& (== net50) (>= xamarintvos)) (&& (== net50) (>= xamarinwatchos)) (== netstandard2.0) - System.Numerics.Vectors (>= 4.4) - restriction: || (&& (== net50) (< netcoreapp2.0)) (== netstandard2.0) - System.Runtime.CompilerServices.Unsafe (>= 4.5.3) - restriction: || (&& (== net50) (>= monotouch)) (&& (== net50) (>= net461)) (&& (== net50) (< netcoreapp2.0)) (&& (== net50) (< netcoreapp2.1)) (&& (== net50) (< netstandard1.1)) (&& (== net50) (< netstandard2.0)) (&& (== net50) (>= uap10.1)) (&& (== net50) (>= xamarinios)) (&& (== net50) (>= xamarinmac)) (&& (== net50) (>= xamarintvos)) (&& (== net50) (>= xamarinwatchos)) (== netstandard2.0) + System.Buffers (>= 4.5.1) - restriction: || (&& (== net5.0) (>= monotouch)) (&& (== net5.0) (>= net461)) (&& (== net5.0) (< netcoreapp2.0)) (&& (== net5.0) (< netstandard1.1)) (&& (== net5.0) (< netstandard2.0)) (&& (== net5.0) (>= xamarinios)) (&& (== net5.0) (>= xamarinmac)) (&& (== net5.0) (>= xamarintvos)) (&& (== net5.0) (>= xamarinwatchos)) (== netstandard2.0) + System.Numerics.Vectors (>= 4.4) - restriction: || (&& (== net5.0) (< netcoreapp2.0)) (== netstandard2.0) + System.Runtime.CompilerServices.Unsafe (>= 4.5.3) - restriction: || (&& (== net5.0) (>= monotouch)) (&& (== net5.0) (>= net461)) (&& (== net5.0) (< netcoreapp2.0)) (&& (== net5.0) (< netcoreapp2.1)) (&& (== net5.0) (< netstandard1.1)) (&& (== net5.0) (< netstandard2.0)) (&& (== net5.0) (>= uap10.1)) (&& (== net5.0) (>= xamarinios)) (&& (== net5.0) (>= xamarinmac)) (&& (== net5.0) (>= xamarintvos)) (&& (== net5.0) (>= xamarinwatchos)) (== netstandard2.0) System.Net.Http (4.3.4) Microsoft.NETCore.Platforms (>= 1.1.1) runtime.native.System (>= 4.3) @@ -465,14 +485,14 @@ NUGET System.Resources.ResourceManager (>= 4.3) System.Runtime (>= 4.3) System.Runtime.Extensions (>= 4.3) - System.Numerics.Vectors (4.5) - restriction: || (&& (== net50) (< netcoreapp2.0)) (== netstandard2.0) + System.Numerics.Vectors (4.5) - restriction: || (&& (== net5.0) (< netcoreapp2.0)) (== netstandard2.0) System.ObjectModel (4.3) System.Collections (>= 4.3) System.Diagnostics.Debug (>= 4.3) System.Resources.ResourceManager (>= 4.3) System.Runtime (>= 4.3) System.Threading (>= 4.3) - System.Reactive (5.0) - restriction: || (== net50) (&& (== netstandard2.0) (>= net50)) + System.Reactive (5.0) - restriction: || (== net5.0) (&& (== netstandard2.0) (>= net5.0)) System.Reflection (4.3) Microsoft.NETCore.Platforms (>= 1.1) Microsoft.NETCore.Targets (>= 1.1) @@ -480,24 +500,24 @@ NUGET System.Reflection.Primitives (>= 4.3) System.Runtime (>= 4.3) System.Reflection.Emit (4.7) - System.Reflection.Emit.ILGeneration (>= 4.7) - restriction: || (&& (== net50) (< netcoreapp2.0) (< netstandard2.1)) (&& (== net50) (< netstandard1.1)) (&& (== net50) (< netstandard2.0)) (&& (== net50) (>= uap10.1)) (== netstandard2.0) + System.Reflection.Emit.ILGeneration (>= 4.7) - restriction: || (&& (== net5.0) (< netcoreapp2.0) (< netstandard2.1)) (&& (== net5.0) (< netstandard1.1)) (&& (== net5.0) (< netstandard2.0)) (&& (== net5.0) (>= uap10.1)) (== netstandard2.0) System.Reflection.Emit.ILGeneration (4.7) System.Reflection.Emit.Lightweight (4.7) - System.Reflection.Emit.ILGeneration (>= 4.7) - restriction: || (&& (== net50) (< netcoreapp2.0) (< netstandard2.1)) (&& (== net50) (< netstandard2.0)) (&& (== net50) (< portable-net45+wp8)) (&& (== net50) (>= uap10.1)) (== netstandard2.0) + System.Reflection.Emit.ILGeneration (>= 4.7) - restriction: || (&& (== net5.0) (< netcoreapp2.0) (< netstandard2.1)) (&& (== net5.0) (< netstandard2.0)) (&& (== net5.0) (< portable-net45+wp8)) (&& (== net5.0) (>= uap10.1)) (== netstandard2.0) System.Reflection.Extensions (4.3) Microsoft.NETCore.Platforms (>= 1.1) Microsoft.NETCore.Targets (>= 1.1) System.Reflection (>= 4.3) System.Runtime (>= 4.3) System.Reflection.Metadata (5.0) - System.Collections.Immutable (>= 5.0) - restriction: || (&& (== net50) (>= net461)) (&& (== net50) (< netstandard1.1)) (&& (== net50) (< netstandard2.0)) (== netstandard2.0) + System.Collections.Immutable (>= 5.0) - restriction: || (&& (== net5.0) (>= net461)) (&& (== net5.0) (< netstandard1.1)) (&& (== net5.0) (< netstandard2.0)) (== netstandard2.0) System.Reflection.Primitives (4.3) Microsoft.NETCore.Platforms (>= 1.1) Microsoft.NETCore.Targets (>= 1.1) System.Runtime (>= 4.3) System.Reflection.TypeExtensions (4.7) System.Resources.Extensions (5.0) - copy_local: false - System.Memory (>= 4.5.4) - restriction: || (&& (== net50) (>= net461)) (&& (== net50) (< netcoreapp2.1)) (== netstandard2.0) + System.Memory (>= 4.5.4) - restriction: || (&& (== net5.0) (>= net461)) (&& (== net5.0) (< netcoreapp2.1)) (== netstandard2.0) System.Resources.ResourceManager (4.3) Microsoft.NETCore.Platforms (>= 1.1) Microsoft.NETCore.Targets (>= 1.1) @@ -507,7 +527,7 @@ NUGET System.Runtime (4.3.1) Microsoft.NETCore.Platforms (>= 1.1.1) Microsoft.NETCore.Targets (>= 1.1.3) - System.Runtime.CompilerServices.Unsafe (5.0) - restriction: || (&& (== net50) (>= monotouch)) (&& (== net50) (>= net45) (< netstandard1.3)) (&& (== net50) (>= net46)) (&& (== net50) (>= net461)) (&& (== net50) (< netcoreapp2.0)) (&& (== net50) (< netcoreapp2.1)) (&& (== net50) (< netcoreapp3.0)) (&& (== net50) (< netstandard1.1)) (&& (== net50) (< netstandard2.0)) (&& (== net50) (>= uap10.1)) (&& (== net50) (>= xamarinios)) (&& (== net50) (>= xamarinmac)) (&& (== net50) (>= xamarintvos)) (&& (== net50) (>= xamarinwatchos)) (== netstandard2.0) + System.Runtime.CompilerServices.Unsafe (5.0) - copy_local: false System.Runtime.Extensions (4.3.1) Microsoft.NETCore.Platforms (>= 1.1.1) Microsoft.NETCore.Targets (>= 1.1.3) @@ -523,7 +543,7 @@ NUGET System.Reflection.Primitives (>= 4.3) System.Runtime (>= 4.3) System.Runtime.Handles (>= 4.3) - System.Runtime.InteropServices.RuntimeInformation (4.3) - restriction: || (== net50) (&& (== netstandard2.0) (>= netcoreapp1.1)) + System.Runtime.InteropServices.RuntimeInformation (4.3) - restriction: || (== net5.0) (&& (== netstandard2.0) (>= netcoreapp1.1)) runtime.native.System (>= 4.3) System.Reflection (>= 4.3) System.Reflection.Extensions (>= 4.3) @@ -541,7 +561,7 @@ NUGET System.Runtime (>= 4.3) System.Runtime.Extensions (>= 4.3) System.Security.AccessControl (5.0) - copy_local: false - Microsoft.NETCore.Platforms (>= 5.0) - restriction: || (== net50) (&& (== netstandard2.0) (>= netcoreapp2.0)) + Microsoft.NETCore.Platforms (>= 5.0) - restriction: || (== net5.0) (&& (== netstandard2.0) (>= netcoreapp2.0)) System.Security.Principal.Windows (>= 5.0) System.Security.Claims (4.3) System.Collections (>= 4.3) @@ -567,7 +587,7 @@ NUGET System.Security.Cryptography.Primitives (>= 4.3) System.Text.Encoding (>= 4.3) System.Security.Cryptography.Cng (5.0) - copy_local: false - System.Formats.Asn1 (>= 5.0) - restriction: || (== net50) (&& (== netstandard2.0) (>= netcoreapp3.0)) + System.Formats.Asn1 (>= 5.0) - restriction: || (== net5.0) (&& (== netstandard2.0) (>= netcoreapp3.0)) System.Security.Cryptography.Csp (4.3) Microsoft.NETCore.Platforms (>= 1.1) System.IO (>= 4.3) @@ -596,11 +616,11 @@ NUGET System.Security.Cryptography.Primitives (>= 4.3) System.Text.Encoding (>= 4.3) System.Security.Cryptography.OpenSsl (5.0) - System.Formats.Asn1 (>= 5.0) - restriction: || (== net50) (&& (== netstandard2.0) (>= netcoreapp3.0)) + System.Formats.Asn1 (>= 5.0) - restriction: || (== net5.0) (&& (== netstandard2.0) (>= netcoreapp3.0)) System.Security.Cryptography.Pkcs (5.0.1) - copy_local: false - System.Buffers (>= 4.5.1) - restriction: || (&& (== net50) (< netcoreapp2.0) (< netstandard2.1)) (== netstandard2.0) + System.Buffers (>= 4.5.1) - restriction: || (&& (== net5.0) (< netcoreapp2.0) (< netstandard2.1)) (== netstandard2.0) System.Formats.Asn1 (>= 5.0) - System.Memory (>= 4.5.4) - restriction: || (&& (== net50) (< netcoreapp2.0) (< netstandard2.1)) (&& (== net50) (< netcoreapp2.1) (< netstandard2.1)) (&& (== net50) (>= uap10.1)) (== netstandard2.0) + System.Memory (>= 4.5.4) - restriction: || (&& (== net5.0) (< netcoreapp2.0) (< netstandard2.1)) (&& (== net5.0) (< netcoreapp2.1) (< netstandard2.1)) (&& (== net5.0) (>= uap10.1)) (== netstandard2.0) System.Security.Cryptography.Cng (>= 5.0) System.Security.Cryptography.Primitives (4.3) System.Diagnostics.Debug (>= 4.3) @@ -611,7 +631,7 @@ NUGET System.Threading (>= 4.3) System.Threading.Tasks (>= 4.3) System.Security.Cryptography.ProtectedData (5.0) - System.Memory (>= 4.5.4) - restriction: || (&& (== net50) (< netcoreapp2.1)) (== netstandard2.0) + System.Memory (>= 4.5.4) - restriction: || (&& (== net5.0) (< netcoreapp2.1)) (== netstandard2.0) System.Security.Cryptography.X509Certificates (4.3.2) Microsoft.NETCore.Platforms (>= 1.1) runtime.native.System (>= 4.3) @@ -639,27 +659,27 @@ NUGET System.Text.Encoding (>= 4.3) System.Threading (>= 4.3) System.Security.Cryptography.Xml (5.0) - copy_local: false - System.Memory (>= 4.5.4) - restriction: || (&& (== net50) (< netcoreapp2.1)) (== netstandard2.0) + System.Memory (>= 4.5.4) - restriction: || (&& (== net5.0) (< netcoreapp2.1)) (== netstandard2.0) System.Security.Cryptography.Pkcs (>= 5.0) System.Security.Permissions (>= 5.0) System.Security.Permissions (5.0) System.Security.AccessControl (>= 5.0) - System.Windows.Extensions (>= 5.0) - restriction: || (== net50) (&& (== netstandard2.0) (>= netcoreapp3.0)) + System.Windows.Extensions (>= 5.0) - restriction: || (== net5.0) (&& (== netstandard2.0) (>= netcoreapp3.0)) System.Security.Principal (4.3) System.Runtime (>= 4.3) - System.Security.Principal.Windows (5.0) - copy_local: false, restriction: || (== net50) (&& (== netstandard2.0) (>= netcoreapp2.1)) + System.Security.Principal.Windows (5.0) - copy_local: false, restriction: || (== net5.0) (&& (== netstandard2.0) (>= net5.0)) System.Text.Encoding (4.3) Microsoft.NETCore.Platforms (>= 1.1) Microsoft.NETCore.Targets (>= 1.1) System.Runtime (>= 4.3) System.Text.Encoding.CodePages (5.0) - copy_local: false - Microsoft.NETCore.Platforms (>= 5.0) - restriction: || (== net50) (&& (== netstandard2.0) (>= net50)) (&& (== netstandard2.0) (>= netcoreapp2.0)) + Microsoft.NETCore.Platforms (>= 5.0) - restriction: || (== net5.0) (&& (== netstandard2.0) (>= net5.0)) (&& (== netstandard2.0) (>= netcoreapp2.0)) System.Text.Encoding.Extensions (4.3) Microsoft.NETCore.Platforms (>= 1.1) Microsoft.NETCore.Targets (>= 1.1) System.Runtime (>= 4.3) System.Text.Encoding (>= 4.3) - System.Text.Json (5.0.1) - copy_local: false, restriction: || (== net50) (&& (== netstandard2.0) (>= net472)) (&& (== netstandard2.0) (>= netcoreapp2.1)) + System.Text.Json (5.0.1) - copy_local: false, restriction: || (== net5.0) (&& (== netstandard2.0) (>= net472)) (&& (== netstandard2.0) (>= net5.0)) System.Threading (4.3) System.Runtime (>= 4.3) System.Threading.Tasks (>= 4.3) @@ -687,12 +707,12 @@ NUGET Microsoft.NETCore.Targets (>= 1.1) System.Runtime (>= 4.3) System.ValueTuple (4.5) - System.Windows.Extensions (5.0) - restriction: || (== net50) (&& (== netstandard2.0) (>= netcoreapp3.0)) - System.Drawing.Common (>= 5.0) - restriction: || (== net50) (&& (== netstandard2.0) (>= netcoreapp3.0)) + System.Windows.Extensions (5.0) - restriction: || (== net5.0) (&& (== netstandard2.0) (>= netcoreapp3.0)) + System.Drawing.Common (>= 5.0) - restriction: || (== net5.0) (&& (== netstandard2.0) (>= netcoreapp3.0)) YoloDev.Expecto.TestSdk (0.11.1) - Expecto (>= 9.0 < 10.0) - restriction: || (== net50) (&& (== netstandard2.0) (>= netcoreapp2.1)) - FSharp.Core (>= 4.6) - restriction: || (== net50) (&& (== netstandard2.0) (>= netcoreapp2.1)) - System.Collections.Immutable (>= 1.5 < 5.1) - restriction: || (== net50) (&& (== netstandard2.0) (>= netcoreapp2.1)) + Expecto (>= 9.0 < 10.0) - restriction: || (== net5.0) (&& (== netstandard2.0) (>= netcoreapp2.1)) + FSharp.Core (>= 4.6) - restriction: || (== net5.0) (&& (== netstandard2.0) (>= netcoreapp2.1)) + System.Collections.Immutable (>= 1.5 < 5.1) - restriction: || (== net5.0) (&& (== netstandard2.0) (>= netcoreapp2.1)) GITHUB remote: TheAngryByrd/FsLibLog src/FsLibLog/FsLibLog.fs (f81cba440bf0476bb4e2262b57a067a0d6ab78a7) diff --git a/src/FsAutoComplete.Core/Commands.fs b/src/FsAutoComplete.Core/Commands.fs index 95a326b5f..b65015442 100644 --- a/src/FsAutoComplete.Core/Commands.fs +++ b/src/FsAutoComplete.Core/Commands.fs @@ -48,15 +48,13 @@ type NotificationEvent= | Workspace of ProjectSystem.ProjectResponse | AnalyzerMessage of messages: FSharp.Analyzers.SDK.Message [] * file: string | UnusedOpens of file: string * opens: Range[] - // | Lint of file: string * warningsWithCodes: Lint.EnrichedLintWarning list + | Lint of file: string * warningsWithCodes: Lint.EnrichedLintWarning list | UnusedDeclarations of file: string * decls: (range * bool)[] | SimplifyNames of file: string * names: SimplifyNames.SimplifiableRange [] | Canceled of errorMessage: string | Diagnostics of LanguageServerProtocol.Types.PublishDiagnosticsParams | FileParsed of string - - type Commands (checker: FSharpCompilerServiceChecker, state: State, backgroundService: BackgroundServices.BackgroundService, hasAnalyzers: bool) = let fileParsed = Event() let fileChecked = Event * int>() @@ -66,7 +64,7 @@ type Commands (checker: FSharpCompilerServiceChecker, state: State, backgroundSe let mutable workspaceRoot: string option = None let mutable linterConfigFileRelativePath: string option = None - // let mutable linterConfiguration: FSharpLint.Application.Lint.ConfigurationParam = FSharpLint.Application.Lint.ConfigurationParam.Default + let mutable linterConfiguration: FSharpLint.Application.Lint.ConfigurationParam = FSharpLint.Application.Lint.ConfigurationParam.Default let mutable lastVersionChecked = -1 let mutable lastCheckResult : ParseAndCheckResults option = None @@ -306,13 +304,13 @@ type Commands (checker: FSharpCompilerServiceChecker, state: State, backgroundSe |> Option.bind (fun n -> state.CurrentAST |> Option.map (fun ast -> ParsedInput.findNearestPointToInsertOpenDeclaration (pos.Line) ast idents Nearest) - |> Option.map (fun ic -> + |> Option.map (fun ic -> //TODO: unite with `CodeFix/ResolveNamespace` //TODO: Handle Nearest AND TopLevel. Currently it's just Nearest (vs. ResolveNamespace -> TopLevel) (#789) let l,c = ic.Pos.Line, ic.Pos.Column let detectIndentation (line: string) = - line + line |> Seq.takeWhile ((=) ' ') |> Seq.length @@ -845,32 +843,32 @@ type Commands (checker: FSharpCompilerServiceChecker, state: State, backgroundSe member x.MethodsForSignatureHelp (tyRes : ParseAndCheckResults, pos: Pos, lines: ISourceText, triggerChar, possibleSessionKind) = SignatureHelp.getSignatureHelpFor (tyRes, pos, lines, triggerChar, possibleSessionKind) - // member x.Lint (file: string): Async = - // asyncResult { - // let! (options, source) = state.TryGetFileCheckerOptionsWithSource file - // match checker.TryGetRecentCheckResultsForFile(file, options) with - // | None -> return () - // | Some tyRes -> - // match tyRes.GetAST with - // | None -> return () - // | Some tree -> - // try - // let! ctok = Async.CancellationToken - // let! enrichedWarnings = Lint.lintWithConfiguration linterConfiguration ctok tree source tyRes.GetCheckResults - // let res = CoreResponse.Res (file, enrichedWarnings) - // notify.Trigger (NotificationEvent.Lint (file, enrichedWarnings)) - // return () - // with ex -> - // commandsLogger.error (Log.setMessage "error while linting {file}: {message}" - // >> Log.addContextDestructured "file" file - // >> Log.addContextDestructured "message" ex.Message - // >> Log.addExn ex) - // return () - // } - // |> Async.Ignore - // |> x.AsCancellable file - - // |> AsyncResult.recoverCancellationIgnore + member x.Lint (file: string): Async = + asyncResult { + let! (options, source) = state.TryGetFileCheckerOptionsWithSource file + match checker.TryGetRecentCheckResultsForFile(file, options) with + | None -> return () + | Some tyRes -> + match tyRes.GetAST with + | None -> return () + | Some tree -> + try + let! ctok = Async.CancellationToken + let! enrichedWarnings = Lint.lintWithConfiguration linterConfiguration ctok tree source tyRes.GetCheckResults + let res = CoreResponse.Res (file, enrichedWarnings) + notify.Trigger (NotificationEvent.Lint (file, enrichedWarnings)) + return () + with ex -> + commandsLogger.error (Log.setMessage "error while linting {file}: {message}" + >> Log.addContextDestructured "file" file + >> Log.addContextDestructured "message" ex.Message + >> Log.addExn ex) + return () + } + |> Async.Ignore + |> x.AsCancellable file + + |> AsyncResult.recoverCancellationIgnore member x.GetNamespaceSuggestions (tyRes : ParseAndCheckResults) (pos: Pos) (line: LineStr) = async { @@ -1172,11 +1170,11 @@ type Commands (checker: FSharpCompilerServiceChecker, state: State, backgroundSe member __.SetWorkspaceRoot (root: string option) = workspaceRoot <- root - // linterConfiguration <- Lint.loadConfiguration workspaceRoot linterConfigFileRelativePath + linterConfiguration <- Lint.loadConfiguration workspaceRoot linterConfigFileRelativePath member __.SetLinterConfigRelativePath (relativePath: string option) = linterConfigFileRelativePath <- relativePath - // linterConfiguration <- Lint.loadConfiguration workspaceRoot linterConfigFileRelativePath + linterConfiguration <- Lint.loadConfiguration workspaceRoot linterConfigFileRelativePath member __.FSharpLiterate (file: string) = async { diff --git a/src/FsAutoComplete.Core/Lint.fs b/src/FsAutoComplete.Core/Lint.fs index ba45903fc..158f9df92 100644 --- a/src/FsAutoComplete.Core/Lint.fs +++ b/src/FsAutoComplete.Core/Lint.fs @@ -1,53 +1,54 @@ module FsAutoComplete.Lint -// open FSharpLint.Framework -// open FSharpLint.Application +open FSharpLint.Framework +open FSharpLint.Application open FsAutoComplete.Logging +open FSharp.Compiler.Text let logger = LogProvider.getLoggerByName "FSharpLint" -// type EnrichedLintWarning = -// { Warning: Suggestion.LintWarning -// HelpUrl: string -// Code: string } +type EnrichedLintWarning = + { Warning: Suggestion.LintWarning + HelpUrl: string + Code: string } let pageForLint (identifier: string) = sprintf "http://fsprojects.github.io/FSharpLint/how-tos/rules/%s.html" identifier -// /// In addition we add the url to the matching help page for fsharplint -// let enrichLintWarning (w: Suggestion.LintWarning): EnrichedLintWarning = -// { Code = w.RuleIdentifier; HelpUrl = pageForLint w.RuleIdentifier; Warning = w } - -// /// Attempts to load the F#Lint configuration from the closest available settings file to the given project file. -// let loadConfiguration (workspaceRoot: string option) (lintConfigFileRelativePath: string option) = -// let expectedConfigPath = defaultArg lintConfigFileRelativePath "fsharplint.json" -// match workspaceRoot with -// | Some root -> -// let fullPath = System.IO.Path.Combine(root, expectedConfigPath) -// if System.IO.File.Exists fullPath -// then ConfigurationParam.FromFile fullPath -// else ConfigurationParam.Default -// | None -> ConfigurationParam.Default - -// let lintWithConfiguration (lintConfig: ConfigurationParam) ctok ast sourceCode typeCheckResults = -// try -// let res = -// Lint.lintParsedSource -// { Lint.OptionalLintParameters.Default with -// Configuration = lintConfig -// CancellationToken = Some ctok } -// { Ast = ast -// Source = sourceCode -// TypeCheckResults = Some typeCheckResults } - -// match res with -// | LintResult.Failure f -> -// logger.error (Log.setMessage "Linter failure: {message}" >> Log.addContextDestructured "message" f.Description) -// Error (sprintf "Something went wrong, linter failed: %s" f.Description) -// | LintResult.Success warnings -> -// let splitWarnings = warnings |> List.map enrichLintWarning -// Ok splitWarnings -// with -// | e -> -// logger.error (Log.setMessage "Fatal error in linter: {message}" >> Log.addContextDestructured "message" e.Message >> Log.addExn e) -// Error (sprintf "Something went wrong, linter failed: %s" e.Message) +/// In addition we add the url to the matching help page for fsharplint +let enrichLintWarning (w: Suggestion.LintWarning): EnrichedLintWarning = + { Code = w.RuleIdentifier; HelpUrl = pageForLint w.RuleIdentifier; Warning = w } + +/// Attempts to load the F#Lint configuration from the closest available settings file to the given project file. +let loadConfiguration (workspaceRoot: string option) (lintConfigFileRelativePath: string option) = + let expectedConfigPath = defaultArg lintConfigFileRelativePath "fsharplint.json" + match workspaceRoot with + | Some root -> + let fullPath = System.IO.Path.Combine(root, expectedConfigPath) + if System.IO.File.Exists fullPath + then ConfigurationParam.FromFile fullPath + else ConfigurationParam.Default + | None -> ConfigurationParam.Default + +let lintWithConfiguration (lintConfig: ConfigurationParam) ctok ast (sourceCode: ISourceText) typeCheckResults = + try + let res = + Lint.lintParsedSource + { Lint.OptionalLintParameters.Default with + Configuration = lintConfig + CancellationToken = Some ctok } + { Ast = ast + Source = sourceCode.ToString() + TypeCheckResults = Some typeCheckResults } + + match res with + | LintResult.Failure f -> + logger.error (Log.setMessage "Linter failure: {message}" >> Log.addContextDestructured "message" f.Description) + Error (sprintf "Something went wrong, linter failed: %s" f.Description) + | LintResult.Success warnings -> + let splitWarnings = warnings |> List.map enrichLintWarning + Ok splitWarnings + with + | e -> + logger.error (Log.setMessage "Fatal error in linter: {message}" >> Log.addContextDestructured "message" e.Message >> Log.addExn e) + Error (sprintf "Something went wrong, linter failed: %s" e.Message) diff --git a/src/FsAutoComplete.Core/paket.references b/src/FsAutoComplete.Core/paket.references index 62fc59110..7e52d9b8e 100644 --- a/src/FsAutoComplete.Core/paket.references +++ b/src/FsAutoComplete.Core/paket.references @@ -1,5 +1,5 @@ FSharp.Compiler.Service -#FSharpLint.Core +FSharpLint.Core Ionide.ProjInfo Ionide.ProjInfo.FCS Ionide.ProjInfo.ProjectSystem diff --git a/src/FsAutoComplete/FsAutoComplete.Lsp.fs b/src/FsAutoComplete/FsAutoComplete.Lsp.fs index f9e9e4a04..480332d50 100644 --- a/src/FsAutoComplete/FsAutoComplete.Lsp.fs +++ b/src/FsAutoComplete/FsAutoComplete.Lsp.fs @@ -122,7 +122,7 @@ type FSharpLspServer(backgroundServiceEnabled: bool, state: State, lspClient: FS logger.info (Log.setMessage "ParseFile - Parsing {file}" >> Log.addContextDestructured "file" filePath) do! (commands.Parse filePath content version (Some tfmConfig) |> Async.Ignore) - // if config.Linter then do! (commands.Lint filePath |> Async.Ignore) + if config.Linter then do! (commands.Lint filePath |> Async.Ignore) if config.UnusedOpensAnalyzer then Async.Start (commands.CheckUnusedOpens filePath) if config.UnusedDeclarationsAnalyzer then Async.Start (commands.CheckUnusedDeclarations filePath) //fire and forget this analyzer now that it's syncronous if config.SimplifyNameAnalyzer then Async.Start (commands.CheckSimplifiedNames filePath) @@ -216,37 +216,37 @@ type FSharpLspServer(backgroundServiceEnabled: bool, state: State, lspClient: FS diagnosticCollections.AddOrUpdate((uri, "F# simplify names"), diags, fun _ _ -> diags) |> ignore sendDiagnostics uri - // | NotificationEvent.Lint (file, warnings) -> - // let uri = Path.LocalPathToUri file - // diagnosticCollections.AddOrUpdate((uri, "F# Linter"), [||], fun _ _ -> [||]) |> ignore - - // let fs = - // warnings |> List.choose (fun w -> - // w.Warning.Details.SuggestedFix - // |> Option.bind (fun f -> - // let f = f.Force() - // let range = fcsRangeToLsp w.Warning.Details.Range - // f |> Option.map (fun f -> range, {Range = range; NewText = f.ToText}) - // ) - // ) - - // lintFixes.[uri] <- fs - // let diags = - // warnings |> List.map(fun w -> - // // ideally we'd be able to include a clickable link to the docs page for this errorlint code, but that is not the case here - // // neither the Message or the RelatedInformation structures support markdown. - // let range = fcsRangeToLsp w.Warning.Details.Range - // { Diagnostic.Range = range - // Code = Some w.Code - // Severity = Some DiagnosticSeverity.Information - // Source = "F# Linter" - // Message = w.Warning.Details.Message - // RelatedInformation = None - // Tags = None } - // ) - // |> List.toArray - // diagnosticCollections.AddOrUpdate((uri, "F# Linter"), diags, fun _ _ -> diags) |> ignore - // sendDiagnostics uri + | NotificationEvent.Lint (file, warnings) -> + let uri = Path.LocalPathToUri file + diagnosticCollections.AddOrUpdate((uri, "F# Linter"), [||], fun _ _ -> [||]) |> ignore + + let fs = + warnings |> List.choose (fun w -> + w.Warning.Details.SuggestedFix + |> Option.bind (fun f -> + let f = f.Force() + let range = fcsRangeToLsp w.Warning.Details.Range + f |> Option.map (fun f -> range, {Range = range; NewText = f.ToText}) + ) + ) + + lintFixes.[uri] <- fs + let diags = + warnings |> List.map(fun w -> + // ideally we'd be able to include a clickable link to the docs page for this errorlint code, but that is not the case here + // neither the Message or the RelatedInformation structures support markdown. + let range = fcsRangeToLsp w.Warning.Details.Range + { Diagnostic.Range = range + Code = Some w.Code + Severity = Some DiagnosticSeverity.Information + Source = "F# Linter" + Message = w.Warning.Details.Message + RelatedInformation = None + Tags = None } + ) + |> List.toArray + diagnosticCollections.AddOrUpdate((uri, "F# Linter"), diags, fun _ _ -> diags) |> ignore + sendDiagnostics uri | NotificationEvent.Canceled (msg) -> let ntf = {Content = msg} @@ -693,7 +693,7 @@ type FSharpLspServer(backgroundServiceEnabled: bool, state: State, lspClient: FS do! (commands.Parse filePath content doc.Version (Some tfmConfig) |> Async.Ignore) - // if config.Linter then do! (commands.Lint filePath |> Async.Ignore) + if config.Linter then do! (commands.Lint filePath |> Async.Ignore) if config.UnusedOpensAnalyzer then Async.Start (commands.CheckUnusedOpens filePath) if config.UnusedDeclarationsAnalyzer then Async.Start (commands.CheckUnusedDeclarations filePath) if config.SimplifyNameAnalyzer then Async.Start (commands.CheckSimplifiedNames filePath) diff --git a/src/FsAutoComplete/paket.references b/src/FsAutoComplete/paket.references index c6ea0af7f..60daccaf4 100644 --- a/src/FsAutoComplete/paket.references +++ b/src/FsAutoComplete/paket.references @@ -4,7 +4,7 @@ Newtonsoft.Json FSharp.Core Microsoft.SourceLink.GitHub System.Configuration.ConfigurationManager -#FSharpLint.Core +FSharpLint.Core Ionide.ProjInfo Ionide.ProjInfo.ProjectSystem #Fake.Runtime diff --git a/test/FsAutoComplete.Tests.Lsp/ExtensionsTests.fs b/test/FsAutoComplete.Tests.Lsp/ExtensionsTests.fs index dee236ec6..ed63f9562 100644 --- a/test/FsAutoComplete.Tests.Lsp/ExtensionsTests.fs +++ b/test/FsAutoComplete.Tests.Lsp/ExtensionsTests.fs @@ -77,18 +77,15 @@ let linterTests state = async { let path = Path.Combine(__SOURCE_DIRECTORY__, "TestCases", "LinterTest") let! (server, event) = serverInitialize path {defaultConfigDto with Linter = Some true} state - let! work = waitForParsedScript event |> Async.StartChild - let projectPath = Path.Combine(path, "LinterTest.fsproj") - do! parseProject projectPath server - let path = Path.Combine(path, "Script.fs") + let path = Path.Combine(path, "Script.fsx") let tdop : DidOpenTextDocumentParams = { TextDocument = loadDocument path} do! server.TextDocumentDidOpen tdop - let! diags = work + let! diags = waitForFailingParseResultsForFile "Script.fsx" event |> AsyncResult.bimap (fun _ -> failtest "Should have errors") id return (server, path, diags) } |> Async.Cache - let diagnostics = [| + let expectedDiagnostics = [| { Range = { Start = { Line = 0; Character = 7}; End = {Line = 0; Character = 11}} Severity = Some DiagnosticSeverity.Information @@ -172,10 +169,10 @@ let linterTests state = Tags = None } |] - testSequenced <| ptestList "Linter Test" [ + testSequenced <| testList "Linter Test" [ yield testCaseAsync "Linter Diagnostics" (async { let! (_, _, diags) = server - Expect.equal diags.Diagnostics diagnostics "Linter messages match" + Expect.equal diags expectedDiagnostics "Linter messages match" }) let getDocumentVersion (codeAction: CodeAction) = @@ -226,7 +223,7 @@ let linterTests state = "isNull a" "List.min a" ] - |> Seq.zip diagnostics + |> Seq.zip expectedDiagnostics |> Seq.map (fun (diag, newText) -> testCaseAsync $"Test Code replacement - ({newText})" (async { let! (server, path, _) = server diff --git a/test/FsAutoComplete.Tests.Lsp/Helpers.fs b/test/FsAutoComplete.Tests.Lsp/Helpers.fs index 1e5e4c0be..4dba36021 100644 --- a/test/FsAutoComplete.Tests.Lsp/Helpers.fs +++ b/test/FsAutoComplete.Tests.Lsp/Helpers.fs @@ -461,6 +461,15 @@ let waitForParseResultsForFile file (events: ClientEvents) = | errors -> return Core.Result.Error errors } +let waitForFailingParseResultsForFile file (events: ClientEvents) = + let matchingFileEvents = fileDiagnostics file events + let withErrors = matchingFileEvents |> Observable.filter (fun (fn, args) -> args.Diagnostics <> [||]) + async { + let! (filename, args) = Async.AwaitObservable withErrors + return Core.Result.Error args.Diagnostics + } + + let waitForParsedScript (event: ClientEvents) = event |> typedEvents "textDocument/publishDiagnostics" diff --git a/test/FsAutoComplete.Tests.Lsp/Program.fs b/test/FsAutoComplete.Tests.Lsp/Program.fs index 6920ce5b3..c75f73b5d 100644 --- a/test/FsAutoComplete.Tests.Lsp/Program.fs +++ b/test/FsAutoComplete.Tests.Lsp/Program.fs @@ -54,8 +54,7 @@ let tests = // commented out because FSDN is down //fsdnTest state uriTests - // fsharplint isn't updated to FCS 39, disabling tests until that's resolved - // linterTests toolsPath + linterTests state formattingTests state // fake isn't updated to FCS 39, disabling tests until that's resolved //fakeInteropTests toolsPath diff --git a/test/FsAutoComplete.Tests.Lsp/TestCases/LinterTest/LinterTest.fsproj b/test/FsAutoComplete.Tests.Lsp/TestCases/LinterTest/LinterTest.fsproj deleted file mode 100644 index 2b16dfec4..000000000 --- a/test/FsAutoComplete.Tests.Lsp/TestCases/LinterTest/LinterTest.fsproj +++ /dev/null @@ -1,10 +0,0 @@ - - - - net5.0 - false - - - - - diff --git a/test/FsAutoComplete.Tests.Lsp/TestCases/LinterTest/Script.fs b/test/FsAutoComplete.Tests.Lsp/TestCases/LinterTest/Script.fsx similarity index 84% rename from test/FsAutoComplete.Tests.Lsp/TestCases/LinterTest/Script.fs rename to test/FsAutoComplete.Tests.Lsp/TestCases/LinterTest/Script.fsx index 4fd54e06a..abb7648b9 100644 --- a/test/FsAutoComplete.Tests.Lsp/TestCases/LinterTest/Script.fs +++ b/test/FsAutoComplete.Tests.Lsp/TestCases/LinterTest/Script.fsx @@ -7,8 +7,8 @@ let test5 = not false let test6 = List.fold ( + ) 0 let test7 a = a<>true let test8 a = a=null -let test9 a = List.head (List.sort a) +let test9 a = List.head (List.sort a) //test regression for https://github.com/fsharp/FsAutoComplete/issues/205 -let x = [1];; +let x = [1];; let y = x @ [2;3];;