From f523d4c2ce1ae55f5985c3a2e9b3299fd589e428 Mon Sep 17 00:00:00 2001 From: Theodore Tsirpanis <12659251+teo-tsirpanis@users.noreply.github.com> Date: Sat, 24 Oct 2020 16:06:45 +0300 Subject: [PATCH] Refactor the project cracker into a new file et al. (#618) * Move some code from BuildCommand.fs to a new file. Do not report nonexistent substitution parameters (see changes in the param function of ProjectCracker.fs). * Fix and document the --parameters command line option. Seq.pairwise [1;2;3;4] returns [1,2; 2,3; 3,4], not [1,2; 3,4]. * Remove a try-with block around File.Exists (it doesn't throw). And use Process.Start with UseShellExecute on all platforms (it is implemented on .NET Core). * Use System.Text.Json to serialize the documentation search index. Remove duplicate code in a helper function in BuildCommand.fs. * Update packages. * Make some optimizations in the project cracker. The most important is the replacement of the tree-based FSharpMap with the hashtable-based readOnlyDict. * Exit without leaving a stacktrace if --parameters was incorrectly defined. * Do not catch and then print exceptions at the entry point; let them be thrown. It is not needed. They will already be reported to the console and AggregateExceptions are not correctly handled. --- .config/dotnet-tools.json | 4 +- paket.dependencies | 4 +- paket.lock | 659 +++++------------- .../BuildCommand.fs | 451 +----------- .../FSharp.Formatting.CommandTool.fsproj | 1 + src/FSharp.Formatting.CommandTool/Options.fs | 14 +- src/FSharp.Formatting.CommandTool/Program.fs | 22 +- .../ProjectCracker.fs | 415 +++++++++++ .../paket.references | 1 - tests/FSharp.ApiDocs.Tests/ApiDocsTests.fs | 14 +- tests/FSharp.ApiDocs.Tests/paket.references | 1 - 11 files changed, 649 insertions(+), 937 deletions(-) create mode 100644 src/FSharp.Formatting.CommandTool/ProjectCracker.fs diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json index 47416f246..a927d0d70 100644 --- a/.config/dotnet-tools.json +++ b/.config/dotnet-tools.json @@ -3,13 +3,13 @@ "isRoot": true, "tools": { "fake-cli": { - "version": "5.20.0", + "version": "5.20.3", "commands": [ "fake" ] }, "paket": { - "version": "5.245.2", + "version": "5.249.0", "commands": [ "paket" ] diff --git a/paket.dependencies b/paket.dependencies index a692a0fab..65aff0d70 100644 --- a/paket.dependencies +++ b/paket.dependencies @@ -1,4 +1,4 @@ -version 5.247.4 +version 5.249.0 source https://api.nuget.org/v3/index.json framework: auto-detect storage: none @@ -9,7 +9,7 @@ nuget CommandLineParser ~> 2.8 nuget Dotnet.ProjInfo nuget Dotnet.ProjInfo.Workspace nuget Newtonsoft.Json -nuget Suave 2.1.1 +nuget Suave nuget System.Memory # Used to create notebook docs with mybinder links that work diff --git a/paket.lock b/paket.lock index b2ce33198..4fd753afc 100644 --- a/paket.lock +++ b/paket.lock @@ -28,7 +28,7 @@ NUGET FSharp.Core (>= 4.2.3) NETStandard.Library (>= 2.0.3) NUnit (>= 3.12 < 4.0) - Microsoft.CodeAnalysis.Analyzers (3.0) + Microsoft.CodeAnalysis.Analyzers (3.3) Microsoft.CodeAnalysis.Common (3.7) Microsoft.CodeAnalysis.Analyzers (>= 3.0) System.Collections.Immutable (>= 1.5) @@ -52,15 +52,15 @@ NUGET Microsoft.NET.Test.Sdk (16.7.1) Microsoft.CodeCoverage (>= 16.7.1) - restriction: || (== netcoreapp3.1) (&& (== netstandard2.0) (>= net45)) (&& (== netstandard2.0) (>= netcoreapp2.1)) (&& (== netstandard2.1) (>= net45)) (&& (== netstandard2.1) (>= netcoreapp2.1)) Microsoft.TestPlatform.TestHost (>= 16.7.1) - restriction: || (== netcoreapp3.1) (&& (== netstandard2.0) (>= netcoreapp2.1)) (&& (== netstandard2.1) (>= netcoreapp2.1)) - Microsoft.NETCore.Platforms (3.1.1) - Microsoft.NETCore.Targets (3.1) + Microsoft.NETCore.Platforms (3.1.3) + Microsoft.NETCore.Targets (3.1) - restriction: || (== netcoreapp3.1) (&& (== netstandard2.0) (>= netcoreapp2.1)) (&& (== netstandard2.0) (>= netcoreapp5.0)) (&& (== netstandard2.1) (>= netcoreapp2.1)) (&& (== netstandard2.1) (>= netcoreapp5.0)) Microsoft.NETFramework.ReferenceAssemblies (1.0) Microsoft.TestPlatform.ObjectModel (16.7.1) - restriction: || (== netcoreapp3.1) (&& (== netstandard2.0) (>= netcoreapp2.1)) (&& (== netstandard2.1) (>= netcoreapp2.1)) NuGet.Frameworks (>= 5.0) Microsoft.TestPlatform.TestHost (16.7.1) - restriction: || (== netcoreapp3.1) (&& (== netstandard2.0) (>= netcoreapp2.1)) (&& (== netstandard2.1) (>= netcoreapp2.1)) Microsoft.TestPlatform.ObjectModel (>= 16.7.1) - restriction: || (== netcoreapp3.1) (&& (== netstandard2.0) (>= netcoreapp2.1)) (&& (== netstandard2.0) (>= uap10.0)) (&& (== netstandard2.1) (>= netcoreapp2.1)) (&& (== netstandard2.1) (>= uap10.0)) Newtonsoft.Json (>= 9.0.1) - restriction: || (== netcoreapp3.1) (&& (== netstandard2.0) (>= netcoreapp2.1)) (&& (== netstandard2.0) (>= uap10.0)) (&& (== netstandard2.1) (>= netcoreapp2.1)) (&& (== netstandard2.1) (>= uap10.0)) - Microsoft.Win32.Primitives (4.3) + Microsoft.Win32.Primitives (4.3) - restriction: || (== netcoreapp3.1) (&& (== netstandard2.0) (>= netcoreapp2.1)) (&& (== netstandard2.1) (>= netcoreapp2.1)) Microsoft.NETCore.Platforms (>= 1.1) Microsoft.NETCore.Targets (>= 1.1) System.Runtime (>= 4.3) @@ -70,7 +70,7 @@ NUGET NETStandard.Library (2.0.3) Microsoft.NETCore.Platforms (>= 1.1) Newtonsoft.Json (12.0.3) - NuGet.Frameworks (5.6) - restriction: || (== netcoreapp3.1) (&& (== netstandard2.0) (>= netcoreapp2.1)) (&& (== netstandard2.1) (>= netcoreapp2.1)) + NuGet.Frameworks (5.7) - restriction: || (== netcoreapp3.1) (&& (== netstandard2.0) (>= netcoreapp2.1)) (&& (== netstandard2.1) (>= netcoreapp2.1)) NUnit (3.12) NETStandard.Library (>= 2.0) NUnit3TestAdapter (3.17) @@ -83,78 +83,19 @@ NUGET System.Threading.Thread (>= 4.3) - restriction: || (== netcoreapp3.1) (&& (== netstandard2.0) (>= netcoreapp2.1)) (&& (== netstandard2.1) (>= netcoreapp2.1)) System.Xml.XmlDocument (>= 4.3) - restriction: || (== netcoreapp3.1) (&& (== netstandard2.0) (>= netcoreapp2.1)) (&& (== netstandard2.1) (>= netcoreapp2.1)) System.Xml.XPath.XmlDocument (>= 4.3) - restriction: || (== netcoreapp3.1) (&& (== netstandard2.0) (>= netcoreapp2.1)) (&& (== netstandard2.1) (>= 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) - runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) - runtime.fedora.27-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) - runtime.fedora.28-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) - runtime.native.System (4.3.1) + runtime.native.System (4.3.1) - restriction: || (== netcoreapp3.1) (&& (== netstandard2.0) (>= netcoreapp2.1)) (&& (== netstandard2.1) (>= netcoreapp2.1)) Microsoft.NETCore.Platforms (>= 1.1.1) Microsoft.NETCore.Targets (>= 1.1.3) - runtime.native.System.Net.Http (4.3.1) - Microsoft.NETCore.Platforms (>= 1.1.1) - Microsoft.NETCore.Targets (>= 1.1.3) - runtime.native.System.Net.Security (4.3.1) - Microsoft.NETCore.Platforms (>= 1.1.1) - Microsoft.NETCore.Targets (>= 1.1.3) - runtime.native.System.Security.Cryptography.Apple (4.3.1) - runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple (>= 4.3.1) - runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) - 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) - runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.3) - runtime.fedora.27-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.3) - runtime.fedora.28-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.3) - runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.3) - runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.3) - runtime.opensuse.42.3-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.3) - runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.3) - runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.3) - runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.3) - runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.3) - runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.3) - runtime.ubuntu.18.04-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.3) - runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) - runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) - runtime.opensuse.42.3-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) - runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple (4.3.1) - runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) - runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) - runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) - runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) - runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) - runtime.ubuntu.18.04-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) Sln (0.3) - Suave (2.1.1) - FSharp.Core (>= 4.1.17) - NETStandard.Library (>= 1.6.1) - System.Data.Common (>= 4.1) - System.Diagnostics.Process (>= 4.1) - System.Globalization.Extensions (>= 4.3) - System.Net.Security (>= 4.0) - System.Runtime.Serialization.Json (>= 4.0.2) - System.Security.Claims (>= 4.0.1) - System.Security.Cryptography.Primitives (>= 4.3) + Suave (2.5.6) + FSharp.Core (>= 4.3.4) System.AppContext (4.3) - restriction: || (== netcoreapp3.1) (&& (== netstandard2.0) (>= netcoreapp2.1)) (&& (== netstandard2.1) (>= netcoreapp2.1)) System.Runtime (>= 4.3) System.Buffers (4.5.1) - System.Collections (4.3) + System.Collections (4.3) - restriction: || (== netcoreapp3.1) (&& (== netstandard2.0) (>= netcoreapp2.1)) (&& (== netstandard2.1) (>= netcoreapp2.1)) Microsoft.NETCore.Platforms (>= 1.1) Microsoft.NETCore.Targets (>= 1.1) System.Runtime (>= 4.3) - System.Collections.Concurrent (4.3) - System.Collections (>= 4.3) - System.Diagnostics.Debug (>= 4.3) - System.Diagnostics.Tracing (>= 4.3) - System.Globalization (>= 4.3) - System.Reflection (>= 4.3) - System.Resources.ResourceManager (>= 4.3) - System.Runtime (>= 4.3) - System.Runtime.Extensions (>= 4.3) - System.Threading (>= 4.3) - System.Threading.Tasks (>= 4.3) System.Collections.Immutable (1.7.1) System.Memory (>= 4.5.4) - restriction: || (&& (== netcoreapp3.1) (>= net461)) (&& (== netcoreapp3.1) (< netcoreapp2.1)) (&& (== netcoreapp3.1) (< netstandard2.0)) (&& (== netcoreapp3.1) (>= uap10.1)) (== netstandard2.0) (== netstandard2.1) System.Collections.NonGeneric (4.3) - restriction: || (== netcoreapp3.1) (&& (== netstandard2.0) (>= netcoreapp2.1)) (&& (== netstandard2.1) (>= netcoreapp2.1)) @@ -199,20 +140,11 @@ NUGET System.Runtime (>= 4.3) System.Runtime.Extensions (>= 4.3) System.Threading (>= 4.3) - System.Data.Common (4.3) - System.Collections (>= 4.3) - System.Globalization (>= 4.3) - System.IO (>= 4.3) - System.Resources.ResourceManager (>= 4.3) - System.Runtime (>= 4.3) - System.Runtime.Extensions (>= 4.3) - System.Text.RegularExpressions (>= 4.3) - System.Threading.Tasks (>= 4.3) - System.Diagnostics.Debug (4.3) + System.Diagnostics.Debug (4.3) - restriction: || (== netcoreapp3.1) (&& (== netstandard2.0) (>= netcoreapp2.1)) (&& (== netstandard2.1) (>= netcoreapp2.1)) Microsoft.NETCore.Platforms (>= 1.1) Microsoft.NETCore.Targets (>= 1.1) System.Runtime (>= 4.3) - System.Diagnostics.Process (4.3) + System.Diagnostics.Process (4.3) - restriction: || (== netcoreapp3.1) (&& (== netstandard2.0) (>= netcoreapp2.1)) (&& (== netstandard2.1) (>= netcoreapp2.1)) Microsoft.NETCore.Platforms (>= 1.1) Microsoft.Win32.Primitives (>= 4.3) Microsoft.Win32.Registry (>= 4.3) @@ -234,24 +166,11 @@ NUGET System.Threading.Tasks (>= 4.3) System.Threading.Thread (>= 4.3) System.Threading.ThreadPool (>= 4.3) - System.Diagnostics.Tools (4.3) - Microsoft.NETCore.Platforms (>= 1.1) - Microsoft.NETCore.Targets (>= 1.1) - System.Runtime (>= 4.3) - System.Diagnostics.Tracing (4.3) + System.Globalization (4.3) - restriction: || (== netcoreapp3.1) (&& (== netstandard2.0) (>= netcoreapp2.1)) (&& (== netstandard2.1) (>= netcoreapp2.1)) Microsoft.NETCore.Platforms (>= 1.1) Microsoft.NETCore.Targets (>= 1.1) System.Runtime (>= 4.3) - System.Globalization (4.3) - Microsoft.NETCore.Platforms (>= 1.1) - Microsoft.NETCore.Targets (>= 1.1) - System.Runtime (>= 4.3) - System.Globalization.Calendars (4.3) - Microsoft.NETCore.Platforms (>= 1.1) - Microsoft.NETCore.Targets (>= 1.1) - System.Globalization (>= 4.3) - System.Runtime (>= 4.3) - System.Globalization.Extensions (4.3) + System.Globalization.Extensions (4.3) - restriction: || (== netcoreapp3.1) (&& (== netstandard2.0) (>= netcoreapp2.1)) (&& (== netstandard2.1) (>= netcoreapp2.1)) Microsoft.NETCore.Platforms (>= 1.1) System.Globalization (>= 4.3) System.Resources.ResourceManager (>= 4.3) @@ -264,7 +183,7 @@ NUGET System.Runtime (>= 4.3) System.Text.Encoding (>= 4.3) System.Threading.Tasks (>= 4.3) - System.IO.FileSystem (4.3) + System.IO.FileSystem (4.3) - restriction: || (== netcoreapp3.1) (&& (== netstandard2.0) (>= netcoreapp2.1)) (&& (== netstandard2.1) (>= netcoreapp2.1)) Microsoft.NETCore.Platforms (>= 1.1) Microsoft.NETCore.Targets (>= 1.1) System.IO (>= 4.3) @@ -273,79 +192,19 @@ NUGET System.Runtime.Handles (>= 4.3) System.Text.Encoding (>= 4.3) System.Threading.Tasks (>= 4.3) - System.IO.FileSystem.Primitives (4.3) + System.IO.FileSystem.Primitives (4.3) - restriction: || (== netcoreapp3.1) (&& (== netstandard2.0) (>= netcoreapp2.1)) (&& (== netstandard2.1) (>= netcoreapp2.1)) System.Runtime (>= 4.3) - System.Linq (4.3) + System.Linq (4.3) - restriction: || (== netcoreapp3.1) (&& (== netstandard2.0) (>= netcoreapp2.1)) (&& (== netstandard2.1) (>= netcoreapp2.1)) System.Collections (>= 4.3) System.Diagnostics.Debug (>= 4.3) System.Resources.ResourceManager (>= 4.3) System.Runtime (>= 4.3) System.Runtime.Extensions (>= 4.3) - System.Memory (4.5.4) - restriction: == netstandard2.0 + System.Memory (4.5.4) System.Buffers (>= 4.5.1) - restriction: || (&& (== netcoreapp3.1) (>= monoandroid)) (&& (== netcoreapp3.1) (>= monotouch)) (&& (== netcoreapp3.1) (>= net461)) (&& (== netcoreapp3.1) (< netcoreapp2.0)) (&& (== netcoreapp3.1) (< netstandard1.1)) (&& (== netcoreapp3.1) (< netstandard2.0)) (&& (== netcoreapp3.1) (>= xamarinios)) (&& (== netcoreapp3.1) (>= xamarinmac)) (&& (== netcoreapp3.1) (>= xamarintvos)) (&& (== netcoreapp3.1) (>= xamarinwatchos)) (== netstandard2.0) (== netstandard2.1) System.Numerics.Vectors (>= 4.4) - restriction: || (&& (== netcoreapp3.1) (< netcoreapp2.0)) (== netstandard2.0) (== netstandard2.1) System.Runtime.CompilerServices.Unsafe (>= 4.5.3) - restriction: || (&& (== netcoreapp3.1) (>= monoandroid)) (&& (== netcoreapp3.1) (>= monotouch)) (&& (== netcoreapp3.1) (>= net461)) (&& (== netcoreapp3.1) (< netcoreapp2.0)) (&& (== netcoreapp3.1) (< netcoreapp2.1)) (&& (== netcoreapp3.1) (< netstandard1.1)) (&& (== netcoreapp3.1) (< netstandard2.0)) (&& (== netcoreapp3.1) (>= uap10.1)) (&& (== netcoreapp3.1) (>= xamarinios)) (&& (== netcoreapp3.1) (>= xamarinmac)) (&& (== netcoreapp3.1) (>= xamarintvos)) (&& (== netcoreapp3.1) (>= xamarinwatchos)) (== netstandard2.0) (== netstandard2.1) - System.Net.Primitives (4.3.1) - Microsoft.NETCore.Platforms (>= 1.1.1) - Microsoft.NETCore.Targets (>= 1.1.3) - System.Runtime (>= 4.3.1) - System.Runtime.Handles (>= 4.3) - System.Net.Security (4.3.2) - Microsoft.NETCore.Platforms (>= 1.1) - Microsoft.Win32.Primitives (>= 4.3) - runtime.native.System (>= 4.3) - runtime.native.System.Net.Security (>= 4.3) - runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.2) - System.Collections (>= 4.3) - System.Collections.Concurrent (>= 4.3) - System.Diagnostics.Tracing (>= 4.3) - System.Globalization (>= 4.3) - System.Globalization.Extensions (>= 4.3) - System.IO (>= 4.3) - System.Net.Primitives (>= 4.3) - System.Resources.ResourceManager (>= 4.3) - System.Runtime (>= 4.3) - System.Runtime.Extensions (>= 4.3) - System.Runtime.Handles (>= 4.3) - System.Runtime.InteropServices (>= 4.3) - System.Security.Claims (>= 4.3) - System.Security.Cryptography.Algorithms (>= 4.3) - System.Security.Cryptography.Encoding (>= 4.3) - System.Security.Cryptography.OpenSsl (>= 4.3) - System.Security.Cryptography.Primitives (>= 4.3) - System.Security.Cryptography.X509Certificates (>= 4.3) - System.Security.Principal (>= 4.3) - System.Text.Encoding (>= 4.3) - System.Threading (>= 4.3) - System.Threading.Tasks (>= 4.3) - System.Threading.ThreadPool (>= 4.3) - System.Numerics.Vectors (4.5) - restriction: == netstandard2.0 - System.Private.DataContractSerialization (4.3) - System.Collections (>= 4.3) - System.Collections.Concurrent (>= 4.3) - System.Diagnostics.Debug (>= 4.3) - System.Globalization (>= 4.3) - System.IO (>= 4.3) - System.Linq (>= 4.3) - System.Reflection (>= 4.3) - System.Reflection.Emit.ILGeneration (>= 4.3) - System.Reflection.Emit.Lightweight (>= 4.3) - System.Reflection.Extensions (>= 4.3) - System.Reflection.Primitives (>= 4.3) - System.Reflection.TypeExtensions (>= 4.3) - System.Resources.ResourceManager (>= 4.3) - System.Runtime (>= 4.3) - System.Runtime.Extensions (>= 4.3) - System.Runtime.Serialization.Primitives (>= 4.3) - System.Text.Encoding (>= 4.3) - System.Text.Encoding.Extensions (>= 4.3) - System.Text.RegularExpressions (>= 4.3) - System.Threading (>= 4.3) - System.Threading.Tasks (>= 4.3) - System.Xml.ReaderWriter (>= 4.3) - System.Xml.XDocument (>= 4.3) - System.Xml.XmlDocument (>= 4.3) - System.Xml.XmlSerializer (>= 4.3) + System.Numerics.Vectors (4.5) - restriction: || (&& (== netcoreapp3.1) (< netcoreapp2.0)) (== netstandard2.0) (== netstandard2.1) System.Reflection (4.3) Microsoft.NETCore.Platforms (>= 1.1) Microsoft.NETCore.Targets (>= 1.1) @@ -354,22 +213,20 @@ NUGET System.Runtime (>= 4.3) System.Reflection.Emit (4.7) System.Reflection.Emit.ILGeneration (>= 4.7) - restriction: || (&& (== netcoreapp3.1) (< netcoreapp2.0) (< netstandard2.1)) (&& (== netcoreapp3.1) (>= netcoreapp5.0)) (&& (== netcoreapp3.1) (< netstandard1.1)) (&& (== netcoreapp3.1) (< netstandard2.0)) (&& (== netcoreapp3.1) (>= uap10.1)) (== netstandard2.0) (&& (== netstandard2.1) (>= netcoreapp5.0)) (&& (== netstandard2.1) (< netstandard1.1)) (&& (== netstandard2.1) (< netstandard2.0)) (&& (== netstandard2.1) (>= uap10.1)) - System.Reflection.Emit.ILGeneration (4.7) - System.Reflection.Emit.Lightweight (4.7) - System.Reflection.Emit.ILGeneration (>= 4.7) - restriction: || (&& (== netcoreapp3.1) (< netcoreapp2.0) (< netstandard2.1)) (&& (== netcoreapp3.1) (>= netcoreapp5.0)) (&& (== netcoreapp3.1) (< netstandard2.0)) (&& (== netcoreapp3.1) (< portable-net45+wp8)) (&& (== netcoreapp3.1) (>= uap10.1)) (== netstandard2.0) (&& (== netstandard2.1) (>= netcoreapp5.0)) (&& (== netstandard2.1) (< netstandard2.0)) (&& (== netstandard2.1) (< portable-net45+wp8)) (&& (== netstandard2.1) (>= uap10.1)) - System.Reflection.Extensions (4.3) + System.Reflection.Emit.ILGeneration (4.7) - restriction: || (&& (== netcoreapp3.1) (< netcoreapp2.0) (< netstandard2.1)) (&& (== netcoreapp3.1) (>= netcoreapp5.0)) (&& (== netcoreapp3.1) (< netstandard1.1)) (&& (== netcoreapp3.1) (< netstandard2.0)) (&& (== netcoreapp3.1) (>= uap10.1)) (== netstandard2.0) (&& (== netstandard2.1) (>= netcoreapp5.0)) (&& (== netstandard2.1) (< netstandard1.1)) (&& (== netstandard2.1) (< netstandard2.0)) (&& (== netstandard2.1) (>= uap10.1)) + System.Reflection.Extensions (4.3) - restriction: || (== netcoreapp3.1) (&& (== netstandard2.0) (>= netcoreapp2.1)) (&& (== netstandard2.1) (>= netcoreapp2.1)) Microsoft.NETCore.Platforms (>= 1.1) Microsoft.NETCore.Targets (>= 1.1) System.Reflection (>= 4.3) System.Runtime (>= 4.3) System.Reflection.Metadata (1.8.1) System.Collections.Immutable (>= 1.7.1) - restriction: || (&& (== netcoreapp3.1) (>= net461)) (&& (== netcoreapp3.1) (< netstandard1.1)) (&& (== netcoreapp3.1) (< netstandard2.0)) (== netstandard2.0) (== netstandard2.1) - System.Reflection.Primitives (4.3) + System.Reflection.Primitives (4.3) - restriction: || (== netcoreapp3.1) (&& (== netstandard2.0) (>= netcoreapp2.1)) (&& (== netstandard2.1) (>= netcoreapp2.1)) Microsoft.NETCore.Platforms (>= 1.1) Microsoft.NETCore.Targets (>= 1.1) System.Runtime (>= 4.3) System.Reflection.TypeExtensions (4.7) - System.Resources.ResourceManager (4.3) + System.Resources.ResourceManager (4.3) - restriction: || (== netcoreapp3.1) (&& (== netstandard2.0) (>= netcoreapp2.1)) (&& (== netstandard2.0) (>= netcoreapp5.0)) (&& (== netstandard2.1) (>= netcoreapp2.1)) (&& (== netstandard2.1) (>= netcoreapp5.0)) Microsoft.NETCore.Platforms (>= 1.1) Microsoft.NETCore.Targets (>= 1.1) System.Globalization (>= 4.3) @@ -379,15 +236,15 @@ NUGET Microsoft.NETCore.Platforms (>= 1.1.1) Microsoft.NETCore.Targets (>= 1.1.3) System.Runtime.CompilerServices.Unsafe (4.7.1) - System.Runtime.Extensions (4.3.1) + System.Runtime.Extensions (4.3.1) - restriction: || (== netcoreapp3.1) (&& (== netstandard2.0) (>= netcoreapp2.1)) (&& (== netstandard2.1) (>= netcoreapp2.1)) Microsoft.NETCore.Platforms (>= 1.1.1) Microsoft.NETCore.Targets (>= 1.1.3) System.Runtime (>= 4.3.1) - System.Runtime.Handles (4.3) + System.Runtime.Handles (4.3) - restriction: || (== netcoreapp3.1) (&& (== netstandard2.0) (>= netcoreapp2.1)) (&& (== netstandard2.1) (>= netcoreapp2.1)) Microsoft.NETCore.Platforms (>= 1.1) Microsoft.NETCore.Targets (>= 1.1) System.Runtime (>= 4.3) - System.Runtime.InteropServices (4.3) + System.Runtime.InteropServices (4.3) - restriction: || (== netcoreapp3.1) (&& (== netstandard2.0) (>= netcoreapp2.1)) (&& (== netstandard2.1) (>= netcoreapp2.1)) Microsoft.NETCore.Platforms (>= 1.1) Microsoft.NETCore.Targets (>= 1.1) System.Reflection (>= 4.3) @@ -406,133 +263,28 @@ NUGET System.IO (>= 4.3) System.Reflection (>= 4.3) System.Runtime (>= 4.3) - System.Runtime.Numerics (4.3) - System.Globalization (>= 4.3) - System.Resources.ResourceManager (>= 4.3) - System.Runtime (>= 4.3) - System.Runtime.Extensions (>= 4.3) - System.Runtime.Serialization.Json (4.3) - System.IO (>= 4.3) - System.Private.DataContractSerialization (>= 4.3) - System.Runtime (>= 4.3) - System.Runtime.Serialization.Primitives (4.3) - System.Resources.ResourceManager (>= 4.3) - System.Runtime (>= 4.3) System.Security.AccessControl (4.7) - restriction: || (== netcoreapp3.1) (&& (== netstandard2.0) (>= netcoreapp2.1)) (&& (== netstandard2.1) (>= netcoreapp2.1)) Microsoft.NETCore.Platforms (>= 3.1) - restriction: || (== netcoreapp3.1) (&& (== netstandard2.0) (>= netcoreapp2.0)) (&& (== netstandard2.1) (>= netcoreapp2.0)) System.Security.Principal.Windows (>= 4.7) - System.Security.Claims (4.3) - System.Collections (>= 4.3) - System.Globalization (>= 4.3) - System.IO (>= 4.3) - System.Resources.ResourceManager (>= 4.3) - System.Runtime (>= 4.3) - System.Runtime.Extensions (>= 4.3) - System.Security.Principal (>= 4.3) - System.Security.Cryptography.Algorithms (4.3.1) - Microsoft.NETCore.Platforms (>= 1.1) - runtime.native.System.Security.Cryptography.Apple (>= 4.3.1) - runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.2) - System.Collections (>= 4.3) - System.IO (>= 4.3) - System.Resources.ResourceManager (>= 4.3) - System.Runtime (>= 4.3) - System.Runtime.Extensions (>= 4.3) - System.Runtime.Handles (>= 4.3) - System.Runtime.InteropServices (>= 4.3) - System.Runtime.Numerics (>= 4.3) - System.Security.Cryptography.Encoding (>= 4.3) - System.Security.Cryptography.Primitives (>= 4.3) - System.Text.Encoding (>= 4.3) - System.Security.Cryptography.Cng (4.7) - System.Security.Cryptography.Csp (4.3) - Microsoft.NETCore.Platforms (>= 1.1) - System.IO (>= 4.3) - System.Reflection (>= 4.3) - System.Resources.ResourceManager (>= 4.3) - System.Runtime (>= 4.3) - System.Runtime.Extensions (>= 4.3) - System.Runtime.Handles (>= 4.3) - System.Runtime.InteropServices (>= 4.3) - System.Security.Cryptography.Algorithms (>= 4.3) - System.Security.Cryptography.Encoding (>= 4.3) - System.Security.Cryptography.Primitives (>= 4.3) - System.Text.Encoding (>= 4.3) - System.Threading (>= 4.3) - System.Security.Cryptography.Encoding (4.3) - Microsoft.NETCore.Platforms (>= 1.1) - runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3) - System.Collections (>= 4.3) - System.Collections.Concurrent (>= 4.3) - System.Linq (>= 4.3) - System.Resources.ResourceManager (>= 4.3) - System.Runtime (>= 4.3) - System.Runtime.Extensions (>= 4.3) - System.Runtime.Handles (>= 4.3) - System.Runtime.InteropServices (>= 4.3) - System.Security.Cryptography.Primitives (>= 4.3) - System.Text.Encoding (>= 4.3) - System.Security.Cryptography.OpenSsl (4.7) - System.Security.Cryptography.Primitives (4.3) - System.Diagnostics.Debug (>= 4.3) - System.Globalization (>= 4.3) - System.IO (>= 4.3) - System.Resources.ResourceManager (>= 4.3) - System.Runtime (>= 4.3) - System.Threading (>= 4.3) - System.Threading.Tasks (>= 4.3) - System.Security.Cryptography.X509Certificates (4.3.2) - Microsoft.NETCore.Platforms (>= 1.1) - runtime.native.System (>= 4.3) - runtime.native.System.Net.Http (>= 4.3) - runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.2) - System.Collections (>= 4.3) - System.Diagnostics.Debug (>= 4.3) - System.Globalization (>= 4.3) - System.Globalization.Calendars (>= 4.3) - System.IO (>= 4.3) - System.IO.FileSystem (>= 4.3) - System.IO.FileSystem.Primitives (>= 4.3) - System.Resources.ResourceManager (>= 4.3) - System.Runtime (>= 4.3) - System.Runtime.Extensions (>= 4.3) - System.Runtime.Handles (>= 4.3) - System.Runtime.InteropServices (>= 4.3) - System.Runtime.Numerics (>= 4.3) - System.Security.Cryptography.Algorithms (>= 4.3) - System.Security.Cryptography.Cng (>= 4.3) - System.Security.Cryptography.Csp (>= 4.3) - System.Security.Cryptography.Encoding (>= 4.3) - System.Security.Cryptography.OpenSsl (>= 4.3) - System.Security.Cryptography.Primitives (>= 4.3) - System.Text.Encoding (>= 4.3) - System.Threading (>= 4.3) - System.Security.Principal (4.3) - System.Runtime (>= 4.3) System.Security.Principal.Windows (4.7) - restriction: || (== netcoreapp3.1) (&& (== netstandard2.0) (>= netcoreapp2.1)) (&& (== netstandard2.1) (>= netcoreapp2.1)) - System.Text.Encoding (4.3) + System.Text.Encoding (4.3) - restriction: || (== netcoreapp3.1) (&& (== netstandard2.0) (>= netcoreapp2.1)) (&& (== netstandard2.1) (>= netcoreapp2.1)) Microsoft.NETCore.Platforms (>= 1.1) Microsoft.NETCore.Targets (>= 1.1) System.Runtime (>= 4.3) System.Text.Encoding.CodePages (4.7.1) Microsoft.NETCore.Platforms (>= 3.1.1) - restriction: || (== netcoreapp3.1) (&& (== netstandard2.0) (>= netcoreapp2.0)) (&& (== netstandard2.1) (>= netcoreapp2.0)) System.Runtime.CompilerServices.Unsafe (>= 4.7.1) - restriction: || (&& (== netcoreapp3.1) (>= net461)) (&& (== netcoreapp3.1) (< netcoreapp2.0)) (== netstandard2.0) (== netstandard2.1) - System.Text.Encoding.Extensions (4.3) + System.Text.Encoding.Extensions (4.3) - restriction: || (== netcoreapp3.1) (&& (== netstandard2.0) (>= netcoreapp2.1)) (&& (== netstandard2.1) (>= netcoreapp2.1)) Microsoft.NETCore.Platforms (>= 1.1) Microsoft.NETCore.Targets (>= 1.1) System.Runtime (>= 4.3) System.Text.Encoding (>= 4.3) - System.Text.RegularExpressions (4.3.1) - System.Collections (>= 4.3) - restriction: || (&& (== netcoreapp3.1) (< netcoreapp1.1)) (&& (== netcoreapp3.1) (>= netcoreapp5.0)) (== netstandard2.0) (== netstandard2.1) - System.Globalization (>= 4.3) - restriction: || (&& (== netcoreapp3.1) (< netcoreapp1.1)) (&& (== netcoreapp3.1) (>= netcoreapp5.0)) (== netstandard2.0) (== netstandard2.1) - System.Resources.ResourceManager (>= 4.3) - restriction: || (&& (== netcoreapp3.1) (< netcoreapp1.1)) (&& (== netcoreapp3.1) (>= netcoreapp5.0)) (== netstandard2.0) (== netstandard2.1) + System.Text.RegularExpressions (4.3.1) - restriction: || (== netcoreapp3.1) (&& (== netstandard2.0) (>= netcoreapp2.1)) (&& (== netstandard2.0) (>= netcoreapp5.0)) (&& (== netstandard2.1) (>= netcoreapp2.1)) (&& (== netstandard2.1) (>= netcoreapp5.0)) System.Runtime (>= 4.3.1) - System.Runtime.Extensions (>= 4.3.1) - restriction: || (&& (== netcoreapp3.1) (< netcoreapp1.1)) (&& (== netcoreapp3.1) (>= netcoreapp5.0)) (== netstandard2.0) (== netstandard2.1) - System.Threading (>= 4.3) - restriction: || (&& (== netcoreapp3.1) (< netcoreapp1.1)) (&& (== netcoreapp3.1) (>= netcoreapp5.0)) (== netstandard2.0) (== netstandard2.1) - System.Threading (4.3) + System.Threading (4.3) - restriction: || (== netcoreapp3.1) (&& (== netstandard2.0) (>= netcoreapp2.1)) (&& (== netstandard2.0) (>= netcoreapp5.0)) (&& (== netstandard2.1) (>= netcoreapp2.1)) (&& (== netstandard2.1) (>= netcoreapp5.0)) System.Runtime (>= 4.3) System.Threading.Tasks (>= 4.3) - System.Threading.Tasks (4.3) + System.Threading.Tasks (4.3) - restriction: || (== netcoreapp3.1) (&& (== netstandard2.0) (>= netcoreapp2.1)) (&& (== netstandard2.0) (>= netcoreapp5.0)) (&& (== netstandard2.1) (>= netcoreapp2.1)) (&& (== netstandard2.1) (>= netcoreapp5.0)) Microsoft.NETCore.Platforms (>= 1.1) Microsoft.NETCore.Targets (>= 1.1) System.Runtime (>= 4.3) @@ -540,11 +292,11 @@ NUGET System.Runtime.CompilerServices.Unsafe (>= 4.5.3) - restriction: || (&& (== netcoreapp3.1) (>= net461)) (&& (== netcoreapp3.1) (< netcoreapp2.1)) (&& (== netcoreapp3.1) (< netstandard1.0)) (&& (== netcoreapp3.1) (< netstandard2.0)) (&& (== netcoreapp3.1) (>= wp8)) (== netstandard2.0) (== netstandard2.1) System.Threading.Thread (4.3) - restriction: || (== netcoreapp3.1) (&& (== netstandard2.0) (>= netcoreapp2.1)) (&& (== netstandard2.1) (>= netcoreapp2.1)) System.Runtime (>= 4.3) - System.Threading.ThreadPool (4.3) + System.Threading.ThreadPool (4.3) - restriction: || (== netcoreapp3.1) (&& (== netstandard2.0) (>= netcoreapp2.1)) (&& (== netstandard2.1) (>= netcoreapp2.1)) System.Runtime (>= 4.3) System.Runtime.Handles (>= 4.3) System.ValueTuple (4.5) - System.Xml.ReaderWriter (4.3.1) + System.Xml.ReaderWriter (4.3.1) - restriction: || (== netcoreapp3.1) (&& (== netstandard2.0) (>= netcoreapp2.1)) (&& (== netstandard2.1) (>= netcoreapp2.1)) System.Collections (>= 4.3) System.Diagnostics.Debug (>= 4.3) System.Globalization (>= 4.3) @@ -560,48 +312,17 @@ NUGET System.Text.RegularExpressions (>= 4.3) System.Threading.Tasks (>= 4.3) System.Threading.Tasks.Extensions (>= 4.3) - System.Xml.XDocument (4.3) + System.Xml.XmlDocument (4.3) - restriction: || (== netcoreapp3.1) (&& (== netstandard2.0) (>= netcoreapp2.1)) (&& (== netstandard2.1) (>= netcoreapp2.1)) System.Collections (>= 4.3) System.Diagnostics.Debug (>= 4.3) - System.Diagnostics.Tools (>= 4.3) System.Globalization (>= 4.3) System.IO (>= 4.3) - System.Reflection (>= 4.3) System.Resources.ResourceManager (>= 4.3) System.Runtime (>= 4.3) System.Runtime.Extensions (>= 4.3) System.Text.Encoding (>= 4.3) System.Threading (>= 4.3) System.Xml.ReaderWriter (>= 4.3) - System.Xml.XmlDocument (4.3) - System.Collections (>= 4.3) - System.Diagnostics.Debug (>= 4.3) - System.Globalization (>= 4.3) - System.IO (>= 4.3) - System.Resources.ResourceManager (>= 4.3) - System.Runtime (>= 4.3) - System.Runtime.Extensions (>= 4.3) - System.Text.Encoding (>= 4.3) - System.Threading (>= 4.3) - System.Xml.ReaderWriter (>= 4.3) - System.Xml.XmlSerializer (4.3) - System.Collections (>= 4.3) - System.Globalization (>= 4.3) - System.IO (>= 4.3) - System.Linq (>= 4.3) - System.Reflection (>= 4.3) - System.Reflection.Emit (>= 4.3) - System.Reflection.Emit.ILGeneration (>= 4.3) - System.Reflection.Extensions (>= 4.3) - System.Reflection.Primitives (>= 4.3) - System.Reflection.TypeExtensions (>= 4.3) - System.Resources.ResourceManager (>= 4.3) - System.Runtime (>= 4.3) - System.Runtime.Extensions (>= 4.3) - System.Text.RegularExpressions (>= 4.3) - System.Threading (>= 4.3) - System.Xml.ReaderWriter (>= 4.3) - System.Xml.XmlDocument (>= 4.3) System.Xml.XPath (4.3) - restriction: || (== netcoreapp3.1) (&& (== netstandard2.0) (>= netcoreapp2.1)) (&& (== netstandard2.1) (>= netcoreapp2.1)) System.Collections (>= 4.3) System.Diagnostics.Debug (>= 4.3) @@ -632,122 +353,122 @@ NUGET FSharp.Core (>= 4.0.0.1) - restriction: >= net45 FSharp.Core (>= 4.2.3) - restriction: && (< net45) (>= netstandard2.0) Microsoft.Win32.Registry (>= 4.7) - restriction: && (< net45) (>= netstandard2.0) - Fake.Core.CommandLineParsing (5.20.2) - restriction: >= netstandard2.0 + Fake.Core.CommandLineParsing (5.20.3) - restriction: >= netstandard2.0 FParsec (>= 1.1.1) - restriction: >= netstandard2.0 FSharp.Core (>= 4.7.2) - restriction: >= netstandard2.0 - Fake.Core.Context (5.20.2) - restriction: >= netstandard2.0 + Fake.Core.Context (5.20.3) - restriction: >= netstandard2.0 FSharp.Core (>= 4.7.2) - restriction: >= netstandard2.0 - Fake.Core.Environment (5.20.2) - restriction: >= netstandard2.0 + Fake.Core.Environment (5.20.3) - restriction: >= netstandard2.0 FSharp.Core (>= 4.7.2) - restriction: >= netstandard2.0 - Fake.Core.FakeVar (5.20.2) - restriction: >= netstandard2.0 - Fake.Core.Context (>= 5.20.2) - restriction: >= netstandard2.0 + Fake.Core.FakeVar (5.20.3) - restriction: >= netstandard2.0 + Fake.Core.Context (>= 5.20.3) - restriction: >= netstandard2.0 FSharp.Core (>= 4.7.2) - restriction: >= netstandard2.0 - Fake.Core.Process (5.20.2) - restriction: >= netstandard2.0 - Fake.Core.Environment (>= 5.20.2) - restriction: >= netstandard2.0 - Fake.Core.FakeVar (>= 5.20.2) - restriction: >= netstandard2.0 - Fake.Core.String (>= 5.20.2) - restriction: >= netstandard2.0 - Fake.Core.Trace (>= 5.20.2) - restriction: >= netstandard2.0 - Fake.IO.FileSystem (>= 5.20.2) - restriction: >= netstandard2.0 + Fake.Core.Process (5.20.3) - restriction: >= netstandard2.0 + Fake.Core.Environment (>= 5.20.3) - restriction: >= netstandard2.0 + Fake.Core.FakeVar (>= 5.20.3) - restriction: >= netstandard2.0 + Fake.Core.String (>= 5.20.3) - restriction: >= netstandard2.0 + Fake.Core.Trace (>= 5.20.3) - restriction: >= netstandard2.0 + Fake.IO.FileSystem (>= 5.20.3) - restriction: >= netstandard2.0 FSharp.Core (>= 4.7.2) - restriction: >= netstandard2.0 System.Collections.Immutable (>= 1.7.1) - restriction: >= netstandard2.0 - Fake.Core.ReleaseNotes (5.20.2) - Fake.Core.SemVer (>= 5.20.2) - restriction: >= netstandard2.0 - Fake.Core.String (>= 5.20.2) - restriction: >= netstandard2.0 + Fake.Core.ReleaseNotes (5.20.3) + Fake.Core.SemVer (>= 5.20.3) - restriction: >= netstandard2.0 + Fake.Core.String (>= 5.20.3) - restriction: >= netstandard2.0 FSharp.Core (>= 4.7.2) - restriction: >= netstandard2.0 - Fake.Core.SemVer (5.20.2) - restriction: >= netstandard2.0 + Fake.Core.SemVer (5.20.3) - restriction: >= netstandard2.0 FSharp.Core (>= 4.7.2) - restriction: >= netstandard2.0 - Fake.Core.String (5.20.2) - restriction: >= netstandard2.0 + Fake.Core.String (5.20.3) - restriction: >= netstandard2.0 FSharp.Core (>= 4.7.2) - restriction: >= netstandard2.0 - Fake.Core.Target (5.20.2) - Fake.Core.CommandLineParsing (>= 5.20.2) - restriction: >= netstandard2.0 - Fake.Core.Context (>= 5.20.2) - restriction: >= netstandard2.0 - Fake.Core.Environment (>= 5.20.2) - restriction: >= netstandard2.0 - Fake.Core.FakeVar (>= 5.20.2) - restriction: >= netstandard2.0 - Fake.Core.Process (>= 5.20.2) - restriction: >= netstandard2.0 - Fake.Core.String (>= 5.20.2) - restriction: >= netstandard2.0 - Fake.Core.Trace (>= 5.20.2) - restriction: >= netstandard2.0 - FSharp.Control.Reactive (>= 4.4) - restriction: >= netstandard2.0 + Fake.Core.Target (5.20.3) + Fake.Core.CommandLineParsing (>= 5.20.3) - restriction: >= netstandard2.0 + Fake.Core.Context (>= 5.20.3) - restriction: >= netstandard2.0 + Fake.Core.Environment (>= 5.20.3) - restriction: >= netstandard2.0 + Fake.Core.FakeVar (>= 5.20.3) - restriction: >= netstandard2.0 + Fake.Core.Process (>= 5.20.3) - restriction: >= netstandard2.0 + Fake.Core.String (>= 5.20.3) - restriction: >= netstandard2.0 + Fake.Core.Trace (>= 5.20.3) - restriction: >= netstandard2.0 + FSharp.Control.Reactive (>= 4.4.2) - restriction: >= netstandard2.0 FSharp.Core (>= 4.7.2) - restriction: >= netstandard2.0 - Fake.Core.Tasks (5.20.2) - restriction: >= netstandard2.0 - Fake.Core.Trace (>= 5.20.2) - restriction: >= netstandard2.0 + Fake.Core.Tasks (5.20.3) - restriction: >= netstandard2.0 + Fake.Core.Trace (>= 5.20.3) - restriction: >= netstandard2.0 FSharp.Core (>= 4.7.2) - restriction: >= netstandard2.0 - Fake.Core.Trace (5.20.2) - restriction: >= netstandard2.0 - Fake.Core.Environment (>= 5.20.2) - restriction: >= netstandard2.0 - Fake.Core.FakeVar (>= 5.20.2) - restriction: >= netstandard2.0 + Fake.Core.Trace (5.20.3) - restriction: >= netstandard2.0 + Fake.Core.Environment (>= 5.20.3) - restriction: >= netstandard2.0 + Fake.Core.FakeVar (>= 5.20.3) - restriction: >= netstandard2.0 FSharp.Core (>= 4.7.2) - restriction: >= netstandard2.0 - Fake.Core.Xml (5.20.2) - restriction: >= netstandard2.0 - Fake.Core.String (>= 5.20.2) - restriction: >= netstandard2.0 + Fake.Core.Xml (5.20.3) - restriction: >= netstandard2.0 + Fake.Core.String (>= 5.20.3) - restriction: >= netstandard2.0 FSharp.Core (>= 4.7.2) - restriction: >= netstandard2.0 - Fake.DotNet.AssemblyInfoFile (5.20.2) - Fake.Core.Environment (>= 5.20.2) - restriction: >= netstandard2.0 - Fake.Core.String (>= 5.20.2) - restriction: >= netstandard2.0 - Fake.Core.Trace (>= 5.20.2) - restriction: >= netstandard2.0 - Fake.IO.FileSystem (>= 5.20.2) - restriction: >= netstandard2.0 + Fake.DotNet.AssemblyInfoFile (5.20.3) + Fake.Core.Environment (>= 5.20.3) - restriction: >= netstandard2.0 + Fake.Core.String (>= 5.20.3) - restriction: >= netstandard2.0 + Fake.Core.Trace (>= 5.20.3) - restriction: >= netstandard2.0 + Fake.IO.FileSystem (>= 5.20.3) - restriction: >= netstandard2.0 FSharp.Core (>= 4.7.2) - restriction: >= netstandard2.0 - Fake.DotNet.Cli (5.20.2) - Fake.Core.Environment (>= 5.20.2) - restriction: >= netstandard2.0 - Fake.Core.Process (>= 5.20.2) - restriction: >= netstandard2.0 - Fake.Core.String (>= 5.20.2) - restriction: >= netstandard2.0 - Fake.Core.Trace (>= 5.20.2) - restriction: >= netstandard2.0 - Fake.DotNet.MSBuild (>= 5.20.2) - restriction: >= netstandard2.0 - Fake.DotNet.NuGet (>= 5.20.2) - restriction: >= netstandard2.0 - Fake.IO.FileSystem (>= 5.20.2) - restriction: >= netstandard2.0 + Fake.DotNet.Cli (5.20.3) + Fake.Core.Environment (>= 5.20.3) - restriction: >= netstandard2.0 + Fake.Core.Process (>= 5.20.3) - restriction: >= netstandard2.0 + Fake.Core.String (>= 5.20.3) - restriction: >= netstandard2.0 + Fake.Core.Trace (>= 5.20.3) - restriction: >= netstandard2.0 + Fake.DotNet.MSBuild (>= 5.20.3) - restriction: >= netstandard2.0 + Fake.DotNet.NuGet (>= 5.20.3) - restriction: >= netstandard2.0 + Fake.IO.FileSystem (>= 5.20.3) - restriction: >= netstandard2.0 FSharp.Core (>= 4.7.2) - restriction: >= netstandard2.0 Mono.Posix.NETStandard (>= 1.0) - restriction: >= netstandard2.0 Newtonsoft.Json (>= 12.0.3) - restriction: >= netstandard2.0 - Fake.DotNet.MSBuild (5.20.2) + Fake.DotNet.MSBuild (5.20.3) BlackFox.VsWhere (>= 1.1) - restriction: >= netstandard2.0 - Fake.Core.Environment (>= 5.20.2) - restriction: >= netstandard2.0 - Fake.Core.Process (>= 5.20.2) - restriction: >= netstandard2.0 - Fake.Core.String (>= 5.20.2) - restriction: >= netstandard2.0 - Fake.Core.Trace (>= 5.20.2) - restriction: >= netstandard2.0 - Fake.IO.FileSystem (>= 5.20.2) - restriction: >= netstandard2.0 + Fake.Core.Environment (>= 5.20.3) - restriction: >= netstandard2.0 + Fake.Core.Process (>= 5.20.3) - restriction: >= netstandard2.0 + Fake.Core.String (>= 5.20.3) - restriction: >= netstandard2.0 + Fake.Core.Trace (>= 5.20.3) - restriction: >= netstandard2.0 + Fake.IO.FileSystem (>= 5.20.3) - restriction: >= netstandard2.0 FSharp.Core (>= 4.7.2) - restriction: >= netstandard2.0 - MSBuild.StructuredLogger (>= 2.1.133) - restriction: >= netstandard2.0 - Fake.DotNet.NuGet (5.20.2) - Fake.Core.Environment (>= 5.20.2) - restriction: >= netstandard2.0 - Fake.Core.Process (>= 5.20.2) - restriction: >= netstandard2.0 - Fake.Core.SemVer (>= 5.20.2) - restriction: >= netstandard2.0 - Fake.Core.String (>= 5.20.2) - restriction: >= netstandard2.0 - Fake.Core.Tasks (>= 5.20.2) - restriction: >= netstandard2.0 - Fake.Core.Trace (>= 5.20.2) - restriction: >= netstandard2.0 - Fake.Core.Xml (>= 5.20.2) - restriction: >= netstandard2.0 - Fake.IO.FileSystem (>= 5.20.2) - restriction: >= netstandard2.0 - Fake.Net.Http (>= 5.20.2) - restriction: >= netstandard2.0 + MSBuild.StructuredLogger (>= 2.1.176) - restriction: >= netstandard2.0 + Fake.DotNet.NuGet (5.20.3) + Fake.Core.Environment (>= 5.20.3) - restriction: >= netstandard2.0 + Fake.Core.Process (>= 5.20.3) - restriction: >= netstandard2.0 + Fake.Core.SemVer (>= 5.20.3) - restriction: >= netstandard2.0 + Fake.Core.String (>= 5.20.3) - restriction: >= netstandard2.0 + Fake.Core.Tasks (>= 5.20.3) - restriction: >= netstandard2.0 + Fake.Core.Trace (>= 5.20.3) - restriction: >= netstandard2.0 + Fake.Core.Xml (>= 5.20.3) - restriction: >= netstandard2.0 + Fake.IO.FileSystem (>= 5.20.3) - restriction: >= netstandard2.0 + Fake.Net.Http (>= 5.20.3) - restriction: >= netstandard2.0 FSharp.Core (>= 4.7.2) - restriction: >= netstandard2.0 Newtonsoft.Json (>= 12.0.3) - restriction: >= netstandard2.0 NuGet.Protocol (>= 5.6) - restriction: >= netstandard2.0 - Fake.DotNet.Paket (5.20.2) - Fake.Core.Process (>= 5.20.2) - restriction: >= netstandard2.0 - Fake.Core.String (>= 5.20.2) - restriction: >= netstandard2.0 - Fake.Core.Trace (>= 5.20.2) - restriction: >= netstandard2.0 - Fake.DotNet.Cli (>= 5.20.2) - restriction: >= netstandard2.0 - Fake.IO.FileSystem (>= 5.20.2) - restriction: >= netstandard2.0 + Fake.DotNet.Paket (5.20.3) + Fake.Core.Process (>= 5.20.3) - restriction: >= netstandard2.0 + Fake.Core.String (>= 5.20.3) - restriction: >= netstandard2.0 + Fake.Core.Trace (>= 5.20.3) - restriction: >= netstandard2.0 + Fake.DotNet.Cli (>= 5.20.3) - restriction: >= netstandard2.0 + Fake.IO.FileSystem (>= 5.20.3) - restriction: >= netstandard2.0 FSharp.Core (>= 4.7.2) - restriction: >= netstandard2.0 - Fake.DotNet.Testing.NUnit (5.20.2) - Fake.Core.Environment (>= 5.20.2) - restriction: >= netstandard2.0 - Fake.Core.Process (>= 5.20.2) - restriction: >= netstandard2.0 - Fake.Core.String (>= 5.20.2) - restriction: >= netstandard2.0 - Fake.Core.Trace (>= 5.20.2) - restriction: >= netstandard2.0 - Fake.IO.FileSystem (>= 5.20.2) - restriction: >= netstandard2.0 - Fake.Testing.Common (>= 5.20.2) - restriction: >= netstandard2.0 + Fake.DotNet.Testing.NUnit (5.20.3) + Fake.Core.Environment (>= 5.20.3) - restriction: >= netstandard2.0 + Fake.Core.Process (>= 5.20.3) - restriction: >= netstandard2.0 + Fake.Core.String (>= 5.20.3) - restriction: >= netstandard2.0 + Fake.Core.Trace (>= 5.20.3) - restriction: >= netstandard2.0 + Fake.IO.FileSystem (>= 5.20.3) - restriction: >= netstandard2.0 + Fake.Testing.Common (>= 5.20.3) - restriction: >= netstandard2.0 FSharp.Core (>= 4.7.2) - restriction: >= netstandard2.0 - Fake.IO.FileSystem (5.20.2) - restriction: >= netstandard2.0 - Fake.Core.String (>= 5.20.2) - restriction: >= netstandard2.0 + Fake.IO.FileSystem (5.20.3) - restriction: >= netstandard2.0 + Fake.Core.String (>= 5.20.3) - restriction: >= netstandard2.0 FSharp.Core (>= 4.7.2) - restriction: >= netstandard2.0 - Fake.Net.Http (5.20.2) - restriction: >= netstandard2.0 - Fake.Core.Trace (>= 5.20.2) - restriction: >= netstandard2.0 + Fake.Net.Http (5.20.3) - restriction: >= netstandard2.0 + Fake.Core.Trace (>= 5.20.3) - restriction: >= netstandard2.0 FSharp.Core (>= 4.7.2) - restriction: >= netstandard2.0 - Fake.Testing.Common (5.20.2) - restriction: >= netstandard2.0 - Fake.Core.Trace (>= 5.20.2) - restriction: >= netstandard2.0 + Fake.Testing.Common (5.20.3) - restriction: >= netstandard2.0 + Fake.Core.Trace (>= 5.20.3) - restriction: >= netstandard2.0 FSharp.Core (>= 4.7.2) - restriction: >= netstandard2.0 - Fake.Tools.Git (5.20.2) - Fake.Core.Environment (>= 5.20.2) - restriction: >= netstandard2.0 - Fake.Core.Process (>= 5.20.2) - restriction: >= netstandard2.0 - Fake.Core.SemVer (>= 5.20.2) - restriction: >= netstandard2.0 - Fake.Core.String (>= 5.20.2) - restriction: >= netstandard2.0 - Fake.Core.Trace (>= 5.20.2) - restriction: >= netstandard2.0 - Fake.IO.FileSystem (>= 5.20.2) - restriction: >= netstandard2.0 + Fake.Tools.Git (5.20.3) + Fake.Core.Environment (>= 5.20.3) - restriction: >= netstandard2.0 + Fake.Core.Process (>= 5.20.3) - restriction: >= netstandard2.0 + Fake.Core.SemVer (>= 5.20.3) - restriction: >= netstandard2.0 + Fake.Core.String (>= 5.20.3) - restriction: >= netstandard2.0 + Fake.Core.Trace (>= 5.20.3) - restriction: >= netstandard2.0 + Fake.IO.FileSystem (>= 5.20.3) - restriction: >= netstandard2.0 FSharp.Core (>= 4.7.2) - restriction: >= netstandard2.0 FParsec (1.1.1) - restriction: >= netstandard2.0 FSharp.Core (>= 4.3.4) - restriction: || (>= net45) (>= netstandard2.0) @@ -756,8 +477,10 @@ NUGET FSharp.Core (>= 4.7.2) - restriction: || (>= net46) (>= netstandard2.0) System.Reactive (>= 4.4.1) - restriction: || (>= net46) (>= netstandard2.0) FSharp.Core (4.7.2) - restriction: >= netstandard2.0 - Microsoft.Build (16.6) - restriction: >= netstandard2.0 - Microsoft.Build.Framework (>= 16.6) - restriction: || (>= net472) (>= netcoreapp2.1) + Microsoft.Bcl.AsyncInterfaces (1.1.1) - restriction: || (&& (>= monoandroid) (>= netcoreapp2.1)) (&& (>= monotouch) (>= netcoreapp2.1)) (&& (>= net461) (>= netcoreapp2.1)) (>= net472) (&& (< netcoreapp2.0) (>= netcoreapp2.1)) (&& (>= netcoreapp2.1) (< netcoreapp3.0)) (&& (>= netcoreapp2.1) (>= uap10.1)) (&& (>= netcoreapp2.1) (>= xamarinios)) (&& (>= netcoreapp2.1) (>= xamarinmac)) (&& (>= netcoreapp2.1) (>= xamarintvos)) (&& (>= netcoreapp2.1) (>= xamarinwatchos)) + System.Threading.Tasks.Extensions (>= 4.5.4) - restriction: || (>= net461) (&& (< netcoreapp2.1) (>= netstandard2.0)) (>= netstandard2.1) + Microsoft.Build (16.7) - restriction: >= netstandard2.0 + Microsoft.Build.Framework (>= 16.7) - restriction: || (>= net472) (>= netcoreapp2.1) Microsoft.VisualStudio.Setup.Configuration.Interop (>= 1.16.30) - restriction: >= net472 Microsoft.Win32.Registry (>= 4.3) - restriction: >= netcoreapp2.1 System.Collections.Immutable (>= 1.5) - restriction: || (>= net472) (>= netcoreapp2.1) @@ -765,12 +488,13 @@ NUGET System.Reflection.Metadata (>= 1.6) - restriction: >= netcoreapp2.1 System.Security.Principal.Windows (>= 4.7) - restriction: >= netcoreapp2.1 System.Text.Encoding.CodePages (>= 4.0.1) - restriction: >= netcoreapp2.1 + System.Text.Json (>= 4.7) - restriction: || (>= net472) (>= netcoreapp2.1) System.Threading.Tasks.Dataflow (>= 4.9) - restriction: || (>= net472) (>= netcoreapp2.1) - Microsoft.Build.Framework (16.6) - restriction: >= netstandard2.0 + Microsoft.Build.Framework (16.7) - restriction: >= netstandard2.0 System.Security.Permissions (>= 4.7) - restriction: && (< net472) (>= netstandard2.0) - Microsoft.Build.Tasks.Core (16.6) - restriction: >= netstandard2.0 - Microsoft.Build.Framework (>= 16.6) - restriction: >= netstandard2.0 - Microsoft.Build.Utilities.Core (>= 16.6) - restriction: >= netstandard2.0 + Microsoft.Build.Tasks.Core (16.7) - restriction: >= netstandard2.0 + Microsoft.Build.Framework (>= 16.7) - restriction: >= netstandard2.0 + Microsoft.Build.Utilities.Core (>= 16.7) - restriction: >= netstandard2.0 Microsoft.VisualStudio.Setup.Configuration.Interop (>= 1.16.30) - restriction: >= net472 Microsoft.Win32.Registry (>= 4.3) - restriction: && (< net472) (>= netstandard2.0) System.CodeDom (>= 4.4) - restriction: && (< net472) (>= netstandard2.0) @@ -780,15 +504,20 @@ NUGET System.Resources.Extensions (>= 4.6) - restriction: >= netstandard2.0 System.Security.Permissions (>= 4.7) - restriction: && (< net472) (>= netstandard2.0) System.Threading.Tasks.Dataflow (>= 4.9) - restriction: >= netstandard2.0 - Microsoft.Build.Utilities.Core (16.6) - restriction: >= netstandard2.0 - Microsoft.Build.Framework (>= 16.6) - restriction: >= netstandard2.0 + Microsoft.Build.Tasks.Git (1.0) - restriction: >= netstandard2.0 + Microsoft.Build.Utilities.Core (16.7) - restriction: >= netstandard2.0 + Microsoft.Build.Framework (>= 16.7) - restriction: >= netstandard2.0 Microsoft.VisualStudio.Setup.Configuration.Interop (>= 1.16.30) - restriction: >= net472 Microsoft.Win32.Registry (>= 4.3) - restriction: && (< net472) (>= netstandard2.0) System.Collections.Immutable (>= 1.5) - restriction: >= netstandard2.0 System.Security.Permissions (>= 4.7) - restriction: && (< net472) (>= netstandard2.0) System.Text.Encoding.CodePages (>= 4.0.1) - restriction: && (< net472) (>= netstandard2.0) - Microsoft.NETCore.Platforms (3.1.1) - restriction: || (&& (< monoandroid) (< net45) (>= netstandard2.0) (< win8) (< wpa81) (< xamarinios) (< xamarinmac)) (&& (< monoandroid) (< net46) (< netcoreapp5.0) (>= netstandard2.0) (< xamarinios) (< xamarinmac)) (>= netcoreapp2.0) - Microsoft.NETCore.Targets (3.1) - restriction: || (&& (< monoandroid) (< net45) (>= netstandard2.0) (< win8) (< wpa81) (< xamarinios) (< xamarinmac)) (&& (< monoandroid) (< net46) (>= netstandard2.0) (< xamarinios) (< xamarinmac)) (>= netcoreapp5.0) + Microsoft.NETCore.Platforms (3.1.3) - restriction: || (&& (>= monoandroid) (>= netcoreapp2.1)) (&& (< monoandroid) (< net45) (< netstandard1.2) (>= netstandard2.0) (< win8)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard2.0) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.5) (>= netstandard2.0) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard2.0) (< win8) (< wpa81) (< xamarinios) (< xamarinmac)) (&& (< monoandroid) (< net46) (< netcoreapp5.0) (>= netstandard2.0) (< xamarinios) (< xamarinmac)) (&& (>= monotouch) (>= netcoreapp2.1)) (&& (>= net461) (>= netcoreapp2.1)) (&& (>= netcoreapp1.1) (< netcoreapp5.0) (>= netstandard2.0)) (>= netcoreapp2.0) (&& (>= netcoreapp2.1) (>= xamarinios)) (&& (>= netcoreapp2.1) (>= xamarinmac)) (&& (>= netcoreapp2.1) (>= xamarintvos)) (&& (>= netcoreapp2.1) (>= xamarinwatchos)) (&& (>= netcoreapp5.0) (< netstandard1.2)) (&& (>= netcoreapp5.0) (< netstandard1.3)) (&& (>= netcoreapp5.0) (< netstandard1.5)) (&& (>= netcoreapp5.0) (>= uap10.0)) (&& (< netstandard1.2) (>= netstandard2.0) (>= uap10.0) (< win8)) (&& (>= netstandard2.0) (>= uap10.0) (< win8) (< wpa81)) + Microsoft.NETCore.Targets (3.1) - restriction: || (&& (< monoandroid) (< net45) (< netstandard1.2) (>= netstandard2.0) (< win8)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard2.0) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.5) (>= netstandard2.0) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard2.0) (< win8) (< wpa81) (< xamarinios) (< xamarinmac)) (&& (< monoandroid) (< net46) (< netcoreapp5.0) (>= netstandard2.0) (< xamarinios) (< xamarinmac)) (&& (>= netcoreapp1.1) (< netcoreapp5.0) (>= netstandard2.0)) (>= netcoreapp2.1) (&& (< netcoreapp3.0) (>= netcoreapp5.0)) (&& (>= netcoreapp5.0) (< netstandard1.2)) (&& (>= netcoreapp5.0) (< netstandard1.3)) (&& (>= netcoreapp5.0) (< netstandard1.5)) (&& (>= netcoreapp5.0) (>= uap10.0)) (&& (< netstandard1.2) (>= netstandard2.0) (>= uap10.0) (< win8)) (&& (>= netstandard2.0) (>= uap10.0) (< win8) (< wpa81)) + Microsoft.SourceLink.Common (1.0) - restriction: >= netstandard2.0 + Microsoft.SourceLink.GitHub (1.0) - restriction: >= netstandard2.0 + Microsoft.Build.Tasks.Git (>= 1.0) + Microsoft.SourceLink.Common (>= 1.0) Microsoft.VisualStudio.Setup.Configuration.Interop (1.16.30) - restriction: >= net472 Microsoft.Win32.Primitives (4.3) - restriction: && (< monoandroid) (< net46) (< netcoreapp5.0) (>= netstandard2.0) (< xamarinios) (< xamarinmac) Microsoft.NETCore.Platforms (>= 1.1) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) @@ -802,21 +531,21 @@ NUGET Microsoft.Win32.SystemEvents (4.7) - restriction: >= netcoreapp3.0 Microsoft.NETCore.Platforms (>= 3.1) - restriction: >= netcoreapp2.0 Mono.Posix.NETStandard (1.0) - restriction: >= netstandard2.0 - MSBuild.StructuredLogger (2.1.133) - restriction: >= netstandard2.0 + MSBuild.StructuredLogger (2.1.176) - restriction: >= netstandard2.0 Microsoft.Build (>= 16.4) - restriction: >= netstandard2.0 Microsoft.Build.Framework (>= 16.4) - restriction: >= netstandard2.0 Microsoft.Build.Tasks.Core (>= 16.4) - restriction: >= netstandard2.0 Microsoft.Build.Utilities.Core (>= 16.4) - restriction: >= netstandard2.0 - System.IO.Compression (>= 4.3) - restriction: >= netstandard2.0 + Microsoft.SourceLink.GitHub (>= 1.0) - restriction: >= netstandard2.0 Newtonsoft.Json (12.0.3) - restriction: >= netstandard2.0 - NuGet.Common (5.6) - restriction: >= netstandard2.0 - NuGet.Frameworks (>= 5.6) - restriction: >= netstandard2.0 + NuGet.Common (5.7) - restriction: >= netstandard2.0 + NuGet.Frameworks (>= 5.7) - restriction: >= netstandard2.0 System.Diagnostics.Process (>= 4.3) - restriction: && (< net472) (>= netstandard2.0) System.Threading.Thread (>= 4.3) - restriction: && (< net472) (>= netstandard2.0) - NuGet.Configuration (5.6) - restriction: >= netstandard2.0 - NuGet.Common (>= 5.6) - restriction: >= netstandard2.0 + NuGet.Configuration (5.7) - restriction: >= netstandard2.0 + NuGet.Common (>= 5.7) - restriction: >= netstandard2.0 System.Security.Cryptography.ProtectedData (>= 4.3) - restriction: && (< net472) (>= netstandard2.0) - NuGet.Frameworks (5.6) - restriction: >= netstandard2.0 + NuGet.Frameworks (5.7) - restriction: >= netstandard2.0 NuGet.Packaging (5.6) - restriction: >= netstandard2.0 Newtonsoft.Json (>= 9.0.1) - restriction: >= netstandard2.0 NuGet.Configuration (>= 5.6) - restriction: >= netstandard2.0 @@ -825,16 +554,13 @@ NUGET NuGet.Protocol (5.6) - restriction: >= netstandard2.0 NuGet.Packaging (>= 5.6) - restriction: >= netstandard2.0 System.Dynamic.Runtime (>= 4.3) - restriction: && (< net472) (>= netstandard2.0) - NuGet.Versioning (5.6) - restriction: >= netstandard2.0 - runtime.native.System (4.3.1) - restriction: || (&& (< monoandroid) (< net45) (< netcoreapp5.0) (>= netstandard2.0) (< win8) (< wpa81) (< xamarinios) (< xamarinmac)) (&& (< monoandroid) (< net46) (< netcoreapp5.0) (>= netstandard2.0) (< xamarinios) (< xamarinmac)) - Microsoft.NETCore.Platforms (>= 1.1.1) - Microsoft.NETCore.Targets (>= 1.1.3) - runtime.native.System.IO.Compression (4.3.2) - restriction: || (&& (< monoandroid) (< net45) (>= netstandard2.0) (< win8) (< wpa81) (< xamarinios) (< xamarinmac)) (>= netcoreapp5.0) + NuGet.Versioning (5.7) - restriction: >= netstandard2.0 + runtime.native.System (4.3.1) - restriction: && (< monoandroid) (< net46) (< netcoreapp5.0) (>= netstandard2.0) (< xamarinios) (< xamarinmac) Microsoft.NETCore.Platforms (>= 1.1.1) Microsoft.NETCore.Targets (>= 1.1.3) - System.Buffers (4.5.1) - restriction: || (&& (>= monoandroid) (>= netstandard2.0)) (&& (< monoandroid) (< net45) (>= netstandard2.0) (< win8) (< wpa81)) (&& (< monoandroid) (< netstandard1.1) (>= netstandard2.0) (< win8)) (&& (>= monotouch) (>= netstandard2.0)) (&& (< net45) (< netcoreapp2.0) (>= netstandard2.0)) (&& (>= net461) (>= netstandard2.0)) (>= netcoreapp5.0) (&& (< netstandard1.1) (>= netstandard2.0) (>= win8)) (&& (>= netstandard2.0) (>= uap10.1)) (&& (>= netstandard2.0) (>= xamarintvos)) (&& (>= netstandard2.0) (>= xamarinwatchos)) (>= xamarinios) (>= xamarinmac) + System.Buffers (4.5.1) - restriction: || (&& (>= monoandroid) (>= netcoreapp2.0)) (&& (>= monoandroid) (>= netcoreapp2.1)) (&& (>= monoandroid) (>= netcoreapp5.0)) (&& (>= monoandroid) (>= netstandard2.0)) (&& (< monoandroid) (< netstandard1.1) (>= netstandard2.0) (< win8)) (&& (>= monotouch) (>= netcoreapp2.0)) (&& (>= monotouch) (>= netcoreapp2.1)) (&& (>= monotouch) (>= netcoreapp5.0)) (&& (>= monotouch) (>= netstandard2.0)) (&& (< net45) (< netcoreapp2.0) (>= netstandard2.0)) (&& (< net46) (< netcoreapp2.0) (>= netstandard2.0)) (&& (>= net461) (>= netcoreapp2.0)) (&& (>= net461) (>= netcoreapp2.1)) (&& (>= net461) (>= netcoreapp5.0)) (&& (>= net461) (>= netstandard2.0)) (>= net472) (&& (>= netcoreapp2.0) (< netstandard1.1)) (&& (>= netcoreapp2.0) (< netstandard2.0)) (&& (>= netcoreapp2.0) (>= xamarintvos)) (&& (>= netcoreapp2.0) (>= xamarinwatchos)) (&& (< netcoreapp2.0) (>= netcoreapp2.1)) (&& (< netcoreapp2.0) (>= netcoreapp5.0) (< netstandard2.1)) (&& (>= netcoreapp2.1) (>= uap10.1)) (&& (>= netcoreapp2.1) (>= xamarintvos)) (&& (>= netcoreapp2.1) (>= xamarinwatchos)) (&& (>= netcoreapp5.0) (< netstandard1.1)) (&& (>= netcoreapp5.0) (< netstandard2.0)) (&& (>= netcoreapp5.0) (>= uap10.1)) (&& (>= netcoreapp5.0) (>= xamarintvos)) (&& (>= netcoreapp5.0) (>= xamarinwatchos)) (&& (< netstandard1.1) (>= netstandard2.0) (>= win8)) (&& (>= netstandard2.0) (>= uap10.1)) (&& (>= netstandard2.0) (>= xamarintvos)) (&& (>= netstandard2.0) (>= xamarinwatchos)) (>= xamarinios) (>= xamarinmac) System.CodeDom (4.7) - restriction: && (< net472) (>= netstandard2.0) - System.Collections (4.3) - restriction: || (&& (< monoandroid) (< net45) (>= netstandard2.0) (< win8) (< wpa81) (< xamarinios) (< xamarinmac)) (&& (< monoandroid) (< net46) (>= netstandard2.0) (< xamarinios) (< xamarinmac)) (>= netcoreapp5.0) + System.Collections (4.3) - restriction: || (&& (< monoandroid) (< net45) (>= netstandard2.0) (< win8) (< wpa81) (< xamarinios) (< xamarinmac)) (&& (< monoandroid) (< net46) (>= netstandard2.0) (< xamarinios) (< xamarinmac)) (>= netcoreapp5.0) (&& (>= netstandard2.0) (>= uap10.0) (< win8) (< wpa81)) Microsoft.NETCore.Platforms (>= 1.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (>= netcoreapp5.0) Microsoft.NETCore.Targets (>= 1.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (>= netcoreapp5.0) System.Runtime (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (>= netcoreapp5.0) @@ -843,7 +569,7 @@ NUGET System.ComponentModel (4.3) - restriction: && (>= netstandard2.0) (>= uap10.0) System.Diagnostics.Contracts (4.3) - restriction: >= netcoreapp5.0 System.Runtime (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.0) (< win8) (< wp8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) - System.Diagnostics.Debug (4.3) - restriction: || (&& (< monoandroid) (< net45) (>= netstandard2.0) (< win8) (< wpa81) (< xamarinios) (< xamarinmac)) (&& (< monoandroid) (< net46) (>= netstandard2.0) (< xamarinios) (< xamarinmac)) (>= netcoreapp5.0) + System.Diagnostics.Debug (4.3) - restriction: || (&& (< monoandroid) (< net45) (>= netstandard2.0) (< win8) (< wpa81) (< xamarinios) (< xamarinmac)) (&& (< monoandroid) (< net46) (>= netstandard2.0) (< xamarinios) (< xamarinmac)) (>= netcoreapp5.0) (&& (>= netstandard2.0) (>= uap10.0) (< win8) (< wpa81)) Microsoft.NETCore.Platforms (>= 1.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (>= netcoreapp5.0) Microsoft.NETCore.Targets (>= 1.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (>= netcoreapp5.0) System.Runtime (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (>= netcoreapp5.0) @@ -872,7 +598,7 @@ NUGET System.Drawing.Common (4.7) - restriction: >= netcoreapp3.0 Microsoft.NETCore.Platforms (>= 3.1) - restriction: >= netcoreapp2.0 Microsoft.Win32.SystemEvents (>= 4.7) - restriction: >= netcoreapp2.0 - System.Dynamic.Runtime (4.3) - restriction: || (&& (< net472) (>= netstandard2.0)) (&& (>= netstandard2.0) (>= uap10.0)) + System.Dynamic.Runtime (4.3) - restriction: || (&& (< net472) (>= netstandard2.0)) (>= netcoreapp5.0) (&& (>= netstandard2.0) (>= uap10.0)) System.Collections (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) System.Diagnostics.Debug (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) System.Globalization (>= 4.3) - restriction: >= netcoreapp5.0 @@ -888,32 +614,16 @@ NUGET System.Runtime (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (>= netcoreapp5.0) System.Runtime.Extensions (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) System.Threading (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) - System.Globalization (4.3) - restriction: || (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard2.0) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard2.0) (< win8) (< wpa81) (< xamarinios) (< xamarinmac)) (&& (< monoandroid) (< net46) (>= netstandard2.0) (< xamarinios) (< xamarinmac)) (>= netcoreapp5.0) + System.Globalization (4.3) - restriction: || (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard2.0) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard2.0) (< win8) (< wpa81) (< xamarinios) (< xamarinmac)) (&& (< monoandroid) (< net46) (< netcoreapp5.0) (>= netstandard2.0) (< xamarinios) (< xamarinmac)) (>= netcoreapp2.1) (&& (>= netstandard2.0) (>= uap10.0) (< win8) (< wpa81)) Microsoft.NETCore.Platforms (>= 1.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (>= netcoreapp5.0) Microsoft.NETCore.Targets (>= 1.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (>= netcoreapp5.0) System.Runtime (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (>= netcoreapp5.0) - System.IO (4.3) - restriction: || (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard2.0) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard2.0) (< win8) (< wpa81) (< xamarinios) (< xamarinmac)) (&& (< monoandroid) (< net46) (< netstandard1.4) (>= netstandard2.0)) (&& (< monoandroid) (< net46) (>= netstandard2.0) (< xamarinios) (< xamarinmac)) (>= netcoreapp5.0) + System.IO (4.3) - restriction: || (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard2.0) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard2.0) (< win8) (< wpa81) (< xamarinios) (< xamarinmac)) (&& (< monoandroid) (< net46) (< netstandard1.4) (>= netstandard2.0)) (&& (< monoandroid) (< net46) (>= netstandard2.0) (< xamarinios) (< xamarinmac)) (>= netcoreapp5.0) (&& (>= netstandard2.0) (>= uap10.0) (< win8) (< wpa81)) Microsoft.NETCore.Platforms (>= 1.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.5) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.5) (< win8) (< wpa81)) (>= netcoreapp5.0) Microsoft.NETCore.Targets (>= 1.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.5) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.5) (< win8) (< wpa81)) (>= netcoreapp5.0) System.Runtime (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.5) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.5) (< win8) (< wpa81)) (>= netcoreapp5.0) System.Text.Encoding (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.5) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.5) (< win8) (< wpa81)) (>= netcoreapp5.0) System.Threading.Tasks (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.5) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.5) (< win8) (< wpa81)) (>= netcoreapp5.0) - System.IO.Compression (4.3) - restriction: >= netstandard2.0 - Microsoft.NETCore.Platforms (>= 1.1) - restriction: && (< monoandroid) (< monotouch) (< net45) (< netcoreapp5.0) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - runtime.native.System (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net45) (< netcoreapp5.0) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - runtime.native.System.IO.Compression (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) - System.Buffers (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) - System.Collections (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) - System.Diagnostics.Debug (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) - System.IO (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.1) (< netstandard1.3) (< win8) (< wpa81)) (>= netcoreapp5.0) - System.Resources.ResourceManager (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) - System.Runtime (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.1) (< netstandard1.3) (< win8) (< wpa81)) (>= netcoreapp5.0) - System.Runtime.Extensions (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) - System.Runtime.Handles (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) - System.Runtime.InteropServices (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) - System.Text.Encoding (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.1) (< netstandard1.3) (< win8) (< wpa81)) (>= netcoreapp5.0) - System.Threading (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) - System.Threading.Tasks (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) System.IO.FileSystem (4.3) - restriction: && (< monoandroid) (< net46) (< netcoreapp5.0) (>= netstandard2.0) (< xamarinios) (< xamarinmac) Microsoft.NETCore.Platforms (>= 1.1) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) Microsoft.NETCore.Targets (>= 1.1) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) @@ -925,13 +635,13 @@ NUGET System.Threading.Tasks (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) System.IO.FileSystem.Primitives (4.3) - restriction: && (< monoandroid) (< net46) (< netcoreapp5.0) (>= netstandard2.0) (< xamarinios) (< xamarinmac) System.Runtime (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Linq (4.3) - restriction: || (&& (< monoandroid) (< net45) (>= netstandard2.0) (< win8) (< wpa81) (< xamarinios) (< xamarinmac)) (>= netcoreapp5.0) + System.Linq (4.3) - restriction: || (&& (< monoandroid) (< net45) (>= netstandard2.0) (< win8) (< wpa81) (< xamarinios) (< xamarinmac)) (>= netcoreapp5.0) (&& (>= netstandard2.0) (>= uap10.0) (< win8) (< wpa81)) System.Collections (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.6) (< win8) (< wp8) (< wpa81)) (>= netcoreapp5.0) System.Diagnostics.Debug (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) System.Resources.ResourceManager (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) System.Runtime (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.6) (< win8) (< wp8) (< wpa81)) (>= netcoreapp5.0) System.Runtime.Extensions (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) - System.Linq.Expressions (4.3) - restriction: || (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard2.0) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard2.0) (< win8) (< wpa81) (< xamarinios) (< xamarinmac)) (>= netcoreapp5.0) + System.Linq.Expressions (4.3) - restriction: || (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard2.0) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard2.0) (< win8) (< wpa81) (< xamarinios) (< xamarinmac)) (>= netcoreapp5.0) (&& (>= netstandard2.0) (>= uap10.0) (< win8) (< wpa81)) System.Collections (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) System.Diagnostics.Debug (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) System.Globalization (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) @@ -950,13 +660,13 @@ NUGET System.Runtime.Extensions (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) System.Threading (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) System.Linq.Queryable (4.3) - restriction: && (>= netstandard2.0) (>= uap10.0) - System.Memory (4.5.4) - restriction: || (&& (< monoandroid) (< net45) (>= netstandard2.0) (< xamarinios) (< xamarinmac)) (&& (>= net461) (>= netstandard2.0)) (>= net472) (>= netcoreapp2.0) (&& (>= netstandard2.0) (>= uap10.1)) + System.Memory (4.5.4) - restriction: || (&& (< monoandroid) (< net45) (>= netstandard2.0) (< xamarinios) (< xamarinmac)) (&& (< monoandroid) (< net46) (>= netstandard2.0) (< xamarinios) (< xamarinmac)) (&& (>= net461) (>= netcoreapp2.1)) (&& (>= net461) (>= netstandard2.0)) (>= net472) (>= netcoreapp2.0) (&& (>= netcoreapp2.1) (>= uap10.1)) (&& (>= netcoreapp5.0) (< netstandard2.1)) (&& (>= netcoreapp5.0) (>= uap10.1)) (&& (>= netstandard2.0) (>= uap10.1)) System.Buffers (>= 4.5.1) - restriction: || (>= monoandroid) (>= monotouch) (&& (>= net45) (< netstandard2.0)) (&& (< net45) (< netcoreapp2.0) (>= netstandard2.0)) (&& (< net45) (>= netstandard1.1) (< netstandard2.0) (< win8) (< wpa81)) (>= net461) (&& (< netstandard1.1) (>= portable-net45+win8+wpa81) (< win8)) (&& (< netstandard1.1) (>= win8)) (&& (< netstandard2.0) (< uap10.1) (>= wpa81)) (>= xamarinios) (>= xamarinmac) (>= xamarintvos) (>= xamarinwatchos) System.Numerics.Vectors (>= 4.4) - restriction: && (< monoandroid) (< net45) (< netcoreapp2.0) (>= netstandard2.0) (< xamarinios) (< xamarinmac) System.Numerics.Vectors (>= 4.5) - restriction: >= net461 System.Runtime.CompilerServices.Unsafe (>= 4.5.3) - restriction: || (>= monoandroid) (>= monotouch) (&& (>= net45) (< netstandard2.0)) (&& (< net45) (< netcoreapp2.0) (>= netstandard2.0)) (&& (< net45) (>= netstandard1.1) (< netstandard2.0) (< win8) (< wpa81)) (>= net461) (&& (>= netcoreapp2.0) (< netcoreapp2.1)) (&& (< netstandard1.1) (>= portable-net45+win8+wpa81) (< win8)) (&& (< netstandard1.1) (>= win8)) (&& (< netstandard2.0) (>= wpa81)) (>= uap10.1) (>= xamarinios) (>= xamarinmac) (>= xamarintvos) (>= xamarinwatchos) - System.Numerics.Vectors (4.5) - restriction: || (&& (< monoandroid) (< net45) (< netcoreapp2.0) (>= netstandard2.0) (< xamarinios) (< xamarinmac)) (&& (>= net461) (>= netstandard2.0)) (&& (>= netstandard2.0) (>= uap10.1)) - System.ObjectModel (4.3) - restriction: || (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard2.0) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard2.0) (< win8) (< wpa81) (< xamarinios) (< xamarinmac)) (>= netcoreapp5.0) + System.Numerics.Vectors (4.5) - restriction: || (&& (< monoandroid) (< net45) (< netcoreapp2.0) (>= netstandard2.0) (< xamarinios) (< xamarinmac)) (&& (>= net461) (>= netcoreapp2.0)) (&& (>= net461) (>= netcoreapp2.1)) (&& (>= net461) (>= netcoreapp5.0)) (&& (>= net461) (>= netstandard2.0)) (>= net472) (&& (< netcoreapp2.0) (>= netcoreapp2.1)) (&& (< netcoreapp2.0) (>= netcoreapp5.0) (< netstandard2.1)) (&& (>= netcoreapp2.1) (>= uap10.1)) (&& (>= netcoreapp5.0) (>= uap10.1)) (&& (>= netstandard2.0) (>= uap10.1)) + System.ObjectModel (4.3) - restriction: || (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard2.0) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard2.0) (< win8) (< wpa81) (< xamarinios) (< xamarinmac)) (>= netcoreapp5.0) (&& (>= netstandard2.0) (>= uap10.0) (< win8) (< wpa81)) System.Collections (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) System.Diagnostics.Debug (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) System.Resources.ResourceManager (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) @@ -969,33 +679,33 @@ NUGET System.Runtime.InteropServices.WindowsRuntime (>= 4.3) - restriction: && (< net46) (< netcoreapp3.0) (>= netstandard2.0) (< uap10.0) System.Threading.Tasks.Extensions (>= 4.5.4) - restriction: || (>= net46) (&& (< netcoreapp3.0) (>= netstandard2.0)) (>= uap10.0) System.ValueTuple (>= 4.5) - restriction: || (>= net46) (&& (>= uap10.0) (< uap10.1)) - System.Reflection (4.3) - restriction: || (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard2.0) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.5) (>= netstandard2.0) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard2.0) (< win8) (< wpa81) (< xamarinios) (< xamarinmac)) (>= netcoreapp5.0) + System.Reflection (4.3) - restriction: || (&& (< monoandroid) (< net45) (< netstandard1.2) (>= netstandard2.0) (< win8)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard2.0) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.5) (>= netstandard2.0) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard2.0) (< win8) (< wpa81) (< xamarinios) (< xamarinmac)) (&& (< monoandroid) (< net46) (< netstandard1.5) (>= netstandard2.0)) (&& (>= netcoreapp1.1) (>= netstandard2.0)) (>= netcoreapp5.0) (&& (>= netstandard2.0) (>= uap10.0) (< win8) (< wpa81)) Microsoft.NETCore.Platforms (>= 1.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.5) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.5) (< win8) (< wpa81)) (>= netcoreapp5.0) Microsoft.NETCore.Targets (>= 1.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.5) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.5) (< win8) (< wpa81)) (>= netcoreapp5.0) System.IO (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.5) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.5) (< win8) (< wpa81)) (>= netcoreapp5.0) System.Reflection.Primitives (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.5) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.5) (< win8) (< wpa81)) (>= netcoreapp5.0) System.Runtime (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.5) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.5) (< win8) (< wpa81)) (>= netcoreapp5.0) - System.Reflection.Emit (4.7) - restriction: && (< monoandroid) (< net45) (< netcoreapp5.0) (>= netstandard2.0) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) + System.Reflection.Emit (4.7) - restriction: || (&& (< monoandroid) (< net45) (< netcoreapp5.0) (>= netstandard2.0) (< win8) (< wpa81) (< xamarinios) (< xamarinmac)) (&& (>= netstandard2.0) (>= uap10.0) (< win8) (< wpa81)) System.Reflection.Emit.ILGeneration (>= 4.7) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.1) (< netstandard2.0) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (< netcoreapp2.0) (>= netstandard2.0) (< netstandard2.1) (< xamarinios) (< xamarinmac)) (&& (< monoandroid) (< netstandard1.1) (>= portable-net45+win8+wpa81) (< win8)) (>= netcoreapp5.0) (&& (< netstandard1.1) (>= win8)) (&& (< netstandard2.0) (>= wpa81)) (>= uap10.1) - System.Reflection.Emit.ILGeneration (4.7) - restriction: || (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard2.0) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard2.0) (< win8) (< wpa81) (< xamarinios) (< xamarinmac)) (&& (< monoandroid) (< netstandard1.1) (>= netstandard2.0) (< win8)) (>= netcoreapp5.0) (&& (>= netstandard2.0) (< portable-net45+wp8) (< win8)) (&& (>= netstandard2.0) (>= uap10.1) (< win8) (< wpa81)) - System.Reflection.Emit.Lightweight (4.7) - restriction: || (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard2.0) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard2.0) (< win8) (< wpa81) (< xamarinios) (< xamarinmac)) (>= netcoreapp5.0) + System.Reflection.Emit.ILGeneration (4.7) - restriction: || (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard2.0) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard2.0) (< win8) (< wpa81) (< xamarinios) (< xamarinmac)) (&& (< monoandroid) (< netstandard1.1) (>= netstandard2.0) (< win8)) (>= netcoreapp5.0) (&& (< netstandard1.1) (>= netstandard2.0) (>= uap10.0) (< win8)) (&& (>= netstandard2.0) (< portable-net45+wp8) (< win8)) (&& (>= netstandard2.0) (>= uap10.0) (< win8) (< wpa81)) (&& (>= netstandard2.0) (>= uap10.1) (< win8) (< wpa81)) + System.Reflection.Emit.Lightweight (4.7) - restriction: || (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard2.0) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard2.0) (< win8) (< wpa81) (< xamarinios) (< xamarinmac)) (>= netcoreapp5.0) (&& (>= netstandard2.0) (>= uap10.0) (< win8) (< wpa81)) System.Reflection (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.0) (< netstandard2.0) (< win8) (< wp8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) System.Reflection.Emit.ILGeneration (>= 4.7) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.0) (< netstandard2.0) (< win8) (< wp8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (< netcoreapp2.0) (>= netstandard2.0) (< netstandard2.1) (< xamarinios) (< xamarinmac)) (>= netcoreapp5.0) (&& (< netstandard2.0) (>= wpa81)) (&& (>= portable-net45+win8+wp8+wpa81) (< portable-net45+wp8) (< win8)) (&& (< portable-net45+wp8) (>= win8)) (>= uap10.1) System.Reflection.Primitives (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.0) (< netstandard2.0) (< win8) (< wp8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) System.Resources.ResourceManager (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.0) (< netstandard2.0) (< win8) (< wp8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) System.Runtime (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.0) (< netstandard2.0) (< win8) (< wp8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) - System.Reflection.Extensions (4.3) - restriction: || (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard2.0) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard2.0) (< win8) (< wpa81) (< xamarinios) (< xamarinmac)) (>= netcoreapp5.0) + System.Reflection.Extensions (4.3) - restriction: || (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard2.0) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard2.0) (< win8) (< wpa81) (< xamarinios) (< xamarinmac)) (>= netcoreapp5.0) (&& (>= netstandard2.0) (>= uap10.0) (< win8) (< wpa81)) Microsoft.NETCore.Platforms (>= 1.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.0) (< win8) (< wp8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) Microsoft.NETCore.Targets (>= 1.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.0) (< win8) (< wp8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) System.Reflection (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.0) (< win8) (< wp8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) System.Runtime (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.0) (< win8) (< wp8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) System.Reflection.Metadata (1.8.1) - restriction: || (&& (< net472) (>= netstandard2.0)) (>= netcoreapp2.1) System.Collections.Immutable (>= 1.7.1) - restriction: || (&& (>= net45) (< netstandard2.0)) (&& (< net45) (< netcoreapp3.1) (>= netstandard2.0)) (&& (< net45) (>= netstandard1.1) (< netstandard2.0) (< win8) (< wpa81)) (>= net461) (&& (< netstandard1.1) (>= portable-net45+win8+wpa81) (< win8)) (&& (< netstandard1.1) (>= win8)) (&& (< netstandard2.0) (>= wpa81)) - System.Reflection.Primitives (4.3) - restriction: || (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard2.0) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard2.0) (< win8) (< wpa81) (< xamarinios) (< xamarinmac)) (>= netcoreapp5.0) + System.Reflection.Primitives (4.3) - restriction: || (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard2.0) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard2.0) (< win8) (< wpa81) (< xamarinios) (< xamarinmac)) (>= netcoreapp5.0) (&& (>= netstandard2.0) (>= uap10.0) (< win8) (< wpa81)) Microsoft.NETCore.Platforms (>= 1.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.0) (< win8) (< wp8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) Microsoft.NETCore.Targets (>= 1.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.0) (< win8) (< wp8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) System.Runtime (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.0) (< win8) (< wp8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) - System.Reflection.TypeExtensions (4.7) - restriction: || (&& (< monoandroid) (< net45) (>= netstandard2.0) (< win8) (< wpa81) (< xamarinios) (< xamarinmac)) (&& (< net472) (>= netstandard2.0)) (>= netcoreapp5.0) + System.Reflection.TypeExtensions (4.7) - restriction: || (&& (< monoandroid) (< net45) (>= netstandard2.0) (< win8) (< wpa81) (< xamarinios) (< xamarinmac)) (&& (< net472) (>= netstandard2.0)) (>= netcoreapp5.0) (&& (>= netstandard2.0) (>= uap10.0) (< win8) (< wpa81)) System.Diagnostics.Contracts (>= 4.3) - restriction: >= netcoreapp5.0 System.Diagnostics.Debug (>= 4.3) - restriction: >= netcoreapp5.0 System.Linq (>= 4.3) - restriction: >= netcoreapp5.0 @@ -1006,25 +716,25 @@ NUGET System.Runtime.Extensions (>= 4.3) - restriction: >= netcoreapp5.0 System.Resources.Extensions (4.7.1) - restriction: >= netstandard2.0 System.Memory (>= 4.5.4) - restriction: || (&& (< monoandroid) (< netcoreapp2.1) (>= netstandard2.0) (< xamarinios) (< xamarinmac)) (>= net461) - System.Resources.ResourceManager (4.3) - restriction: || (&& (< monoandroid) (< net45) (< netstandard1.5) (>= netstandard2.0) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard2.0) (< win8) (< wpa81) (< xamarinios) (< xamarinmac)) (&& (< monoandroid) (< net46) (>= netstandard2.0) (< xamarinios) (< xamarinmac)) (>= netcoreapp5.0) + System.Resources.ResourceManager (4.3) - restriction: || (&& (< monoandroid) (< net45) (< netstandard1.5) (>= netstandard2.0) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard2.0) (< win8) (< wpa81) (< xamarinios) (< xamarinmac)) (&& (< monoandroid) (< net46) (< netstandard1.5) (>= netstandard2.0)) (&& (< monoandroid) (< net46) (>= netstandard2.0) (< xamarinios) (< xamarinmac)) (>= netcoreapp5.0) (&& (>= netstandard2.0) (>= uap10.0) (< win8) (< wpa81)) Microsoft.NETCore.Platforms (>= 1.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.0) (< win8) (< wp8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) Microsoft.NETCore.Targets (>= 1.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.0) (< win8) (< wp8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) System.Globalization (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.0) (< win8) (< wp8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) System.Reflection (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.0) (< win8) (< wp8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) System.Runtime (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.0) (< win8) (< wp8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) - System.Runtime (4.3.1) - restriction: || (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard2.0) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.5) (>= netstandard2.0) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard2.0) (< win8) (< wpa81) (< xamarinios) (< xamarinmac)) (&& (< monoandroid) (< net46) (< netstandard1.4) (>= netstandard2.0)) (&& (< monoandroid) (< net46) (>= netstandard2.0) (< xamarinios) (< xamarinmac)) (>= netcoreapp5.0) + System.Runtime (4.3.1) - restriction: || (&& (< monoandroid) (< net45) (< netstandard1.2) (>= netstandard2.0) (< win8)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard2.0) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.5) (>= netstandard2.0) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard2.0) (< win8) (< wpa81) (< xamarinios) (< xamarinmac)) (&& (< monoandroid) (< net46) (< netcoreapp5.0) (>= netstandard2.0) (< xamarinios) (< xamarinmac)) (&& (< monoandroid) (< net46) (< netstandard1.4) (>= netstandard2.0)) (&& (< monoandroid) (< net46) (< netstandard1.5) (>= netstandard2.0)) (&& (< net46) (>= net462) (>= netstandard2.0)) (&& (>= netcoreapp1.1) (< netcoreapp5.0) (>= netstandard2.0)) (>= netcoreapp2.1) (&& (< netcoreapp3.0) (>= netcoreapp5.0)) (&& (>= netstandard2.0) (>= uap10.0) (< win8) (< wpa81)) Microsoft.NETCore.Platforms (>= 1.1.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.5) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.2) (< win8) (< wp8)) (&& (< monoandroid) (< net45) (>= netstandard1.2) (< netstandard1.3) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.5) (< win8) (< wpa81)) (>= netcoreapp5.0) Microsoft.NETCore.Targets (>= 1.1.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.5) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.2) (< win8) (< wp8)) (&& (< monoandroid) (< net45) (>= netstandard1.2) (< netstandard1.3) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.5) (< win8) (< wpa81)) (>= netcoreapp5.0) - System.Runtime.CompilerServices.Unsafe (4.7.1) - restriction: || (&& (< monoandroid) (< net45) (< netcoreapp2.0) (>= netstandard2.0) (< xamarinios) (< xamarinmac)) (&& (< monoandroid) (< netstandard1.1) (>= netstandard2.0) (< win8)) (&& (>= monotouch) (>= netstandard2.0)) (&& (>= net461) (>= netcoreapp2.0)) (&& (>= net461) (>= netcoreapp2.1)) (&& (>= net461) (>= netstandard2.0)) (&& (>= net461) (>= xamarinios)) (&& (>= net461) (>= xamarinmac)) (&& (>= netcoreapp2.0) (< netcoreapp2.1)) (&& (>= netcoreapp2.0) (>= uap10.1)) (&& (< netcoreapp2.0) (>= netcoreapp2.1)) (&& (>= netcoreapp2.1) (< netcoreapp3.1)) (&& (< netstandard1.1) (>= netstandard2.0) (>= win8)) (&& (>= netstandard2.0) (>= uap10.1)) (&& (>= netstandard2.0) (>= xamarintvos)) (&& (>= netstandard2.0) (>= xamarinwatchos)) (&& (>= uap10.1) (>= xamarinios)) (&& (>= uap10.1) (>= xamarinmac)) - System.Runtime.Extensions (4.3.1) - restriction: || (&& (< monoandroid) (< net45) (>= netstandard2.0) (< win8) (< wpa81) (< xamarinios) (< xamarinmac)) (&& (< monoandroid) (< net46) (>= netstandard2.0) (< xamarinios) (< xamarinmac)) (>= netcoreapp5.0) + System.Runtime.CompilerServices.Unsafe (4.7.1) - restriction: || (&& (>= monoandroid) (>= netcoreapp2.0)) (&& (>= monoandroid) (>= netcoreapp2.1)) (&& (>= monoandroid) (>= netcoreapp5.0)) (&& (< monoandroid) (< net45) (< netcoreapp2.0) (>= netstandard2.0) (< xamarinios) (< xamarinmac)) (&& (< monoandroid) (< net46) (< netcoreapp2.0) (>= netstandard2.0) (< xamarinios) (< xamarinmac)) (&& (< monoandroid) (< netstandard1.1) (>= netstandard2.0) (< win8)) (&& (>= monotouch) (>= netcoreapp2.0)) (&& (>= monotouch) (>= netcoreapp2.1)) (&& (>= monotouch) (>= netcoreapp5.0)) (&& (>= monotouch) (>= netstandard2.0)) (&& (>= net461) (>= netcoreapp2.0)) (&& (>= net461) (>= netcoreapp2.1)) (&& (>= net461) (>= netcoreapp5.0)) (&& (>= net461) (>= netstandard2.0)) (&& (>= net461) (>= xamarinios)) (&& (>= net461) (>= xamarinmac)) (>= net472) (&& (>= netcoreapp2.0) (< netcoreapp2.1)) (&& (>= netcoreapp2.0) (< netcoreapp3.1)) (&& (>= netcoreapp2.0) (< netstandard1.1)) (&& (>= netcoreapp2.0) (< netstandard2.0)) (&& (>= netcoreapp2.0) (>= uap10.1)) (&& (>= netcoreapp2.0) (>= xamarinios)) (&& (>= netcoreapp2.0) (>= xamarinmac)) (&& (>= netcoreapp2.0) (>= xamarintvos)) (&& (>= netcoreapp2.0) (>= xamarinwatchos)) (&& (< netcoreapp2.0) (>= netcoreapp2.1)) (&& (< netcoreapp2.0) (>= netcoreapp5.0) (< netstandard2.1)) (&& (>= netcoreapp2.1) (< netcoreapp3.0)) (&& (>= netcoreapp2.1) (< netcoreapp3.1)) (&& (>= netcoreapp2.1) (>= uap10.1)) (&& (>= netcoreapp2.1) (>= xamarinios)) (&& (>= netcoreapp2.1) (>= xamarinmac)) (&& (>= netcoreapp2.1) (>= xamarintvos)) (&& (>= netcoreapp2.1) (>= xamarinwatchos)) (&& (< netcoreapp2.1) (>= netcoreapp5.0) (< netstandard2.1)) (&& (>= netcoreapp3.0) (< netcoreapp3.1)) (&& (>= netcoreapp5.0) (< netstandard1.1)) (&& (>= netcoreapp5.0) (< netstandard2.0)) (&& (>= netcoreapp5.0) (>= uap10.1)) (&& (>= netcoreapp5.0) (>= xamarinios)) (&& (>= netcoreapp5.0) (>= xamarinmac)) (&& (>= netcoreapp5.0) (>= xamarintvos)) (&& (>= netcoreapp5.0) (>= xamarinwatchos)) (&& (< netstandard1.1) (>= netstandard2.0) (>= win8)) (&& (>= netstandard2.0) (>= uap10.1)) (&& (>= netstandard2.0) (>= xamarintvos)) (&& (>= netstandard2.0) (>= xamarinwatchos)) (&& (>= uap10.1) (>= xamarinios)) (&& (>= uap10.1) (>= xamarinmac)) + System.Runtime.Extensions (4.3.1) - restriction: || (&& (< monoandroid) (< net45) (>= netstandard2.0) (< win8) (< wpa81) (< xamarinios) (< xamarinmac)) (&& (< monoandroid) (< net46) (>= netstandard2.0) (< xamarinios) (< xamarinmac)) (>= netcoreapp5.0) (&& (>= netstandard2.0) (>= uap10.0) (< win8) (< wpa81)) Microsoft.NETCore.Platforms (>= 1.1.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.5) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.5) (< win8) (< wpa81)) (>= netcoreapp5.0) Microsoft.NETCore.Targets (>= 1.1.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.5) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.5) (< win8) (< wpa81)) (>= netcoreapp5.0) System.Runtime (>= 4.3.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.5) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.5) (< win8) (< wpa81)) (>= netcoreapp5.0) - System.Runtime.Handles (4.3) - restriction: || (&& (< monoandroid) (< net45) (>= netstandard2.0) (< win8) (< wpa81) (< xamarinios) (< xamarinmac)) (&& (< monoandroid) (< net46) (< netstandard1.4) (>= netstandard2.0)) (&& (< monoandroid) (< net46) (>= netstandard2.0) (< xamarinios) (< xamarinmac)) (>= netcoreapp5.0) + System.Runtime.Handles (4.3) - restriction: || (&& (< monoandroid) (< net45) (< netcoreapp5.0) (>= netstandard2.0) (< win8) (< wpa81) (< xamarinios) (< xamarinmac)) (&& (< monoandroid) (< net45) (< netstandard1.5) (>= netstandard2.0) (< win8) (< wpa81)) (&& (< monoandroid) (< net46) (< netcoreapp5.0) (>= netstandard2.0) (< xamarinios) (< xamarinmac)) (&& (< monoandroid) (< net46) (< netstandard1.4) (>= netstandard2.0)) (&& (>= netcoreapp1.1) (< netcoreapp5.0) (>= netstandard2.0)) Microsoft.NETCore.Platforms (>= 1.1) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) Microsoft.NETCore.Targets (>= 1.1) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) System.Runtime (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Runtime.InteropServices (4.3) - restriction: || (&& (< monoandroid) (< net45) (>= netstandard2.0) (< win8) (< wpa81) (< xamarinios) (< xamarinmac)) (&& (< monoandroid) (< net46) (>= netstandard2.0) (< xamarinios) (< xamarinmac)) (>= netcoreapp5.0) + System.Runtime.InteropServices (4.3) - restriction: && (< monoandroid) (< net46) (< netcoreapp5.0) (>= netstandard2.0) (< xamarinios) (< xamarinmac) Microsoft.NETCore.Platforms (>= 1.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.5) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.1) (< netstandard1.2) (< win8)) (&& (< monoandroid) (< net45) (>= netstandard1.2) (< netstandard1.3) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.5) (< win8) (< wpa81)) (>= netcoreapp1.1) Microsoft.NETCore.Targets (>= 1.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.5) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.1) (< netstandard1.2) (< win8)) (&& (< monoandroid) (< net45) (>= netstandard1.2) (< netstandard1.3) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.5) (< win8) (< wpa81)) (>= netcoreapp1.1) System.Reflection (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.5) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.1) (< netstandard1.2) (< win8)) (&& (< monoandroid) (< net45) (>= netstandard1.2) (< netstandard1.3) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.5) (< win8) (< wpa81)) (>= netcoreapp1.1) @@ -1033,7 +743,7 @@ NUGET System.Runtime.Handles (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.5) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.5) (< win8) (< wpa81)) (>= netcoreapp1.1) System.Runtime.InteropServices.WindowsRuntime (4.3) - restriction: && (< net46) (< netcoreapp3.0) (>= netstandard2.0) (< uap10.0) System.Runtime (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.0) (< win8) (< wp8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) - System.Security.AccessControl (4.7) - restriction: || (&& (>= monoandroid) (>= netstandard2.0)) (&& (>= monotouch) (>= netstandard2.0)) (&& (< net45) (>= netstandard2.0)) (&& (< net472) (>= netstandard2.0)) (>= netcoreapp2.0) (&& (>= netstandard2.0) (>= xamarintvos)) (&& (>= netstandard2.0) (>= xamarinwatchos)) (>= xamarinios) (>= xamarinmac) + System.Security.AccessControl (4.7) - restriction: || (&& (>= monoandroid) (>= netcoreapp2.1)) (&& (>= monoandroid) (>= netstandard2.0)) (&& (>= monotouch) (>= netcoreapp2.1)) (&& (>= monotouch) (>= netstandard2.0)) (&& (< net45) (>= netstandard2.0)) (&& (< net46) (>= netstandard2.0)) (&& (>= net461) (>= netcoreapp2.1)) (&& (< net472) (>= netstandard2.0)) (>= netcoreapp2.0) (&& (>= netcoreapp2.1) (>= xamarintvos)) (&& (>= netcoreapp2.1) (>= xamarinwatchos)) (&& (>= netstandard2.0) (>= xamarintvos)) (&& (>= netstandard2.0) (>= xamarinwatchos)) (>= xamarinios) (>= xamarinmac) Microsoft.NETCore.Platforms (>= 3.1) - restriction: >= netcoreapp2.0 System.Security.Principal.Windows (>= 4.7) - restriction: || (&& (>= net46) (< netstandard2.0)) (&& (< net46) (>= netstandard1.3) (< netstandard2.0) (< uap10.1)) (&& (< net46) (>= netstandard2.0)) (>= net461) (>= netcoreapp2.0) System.Security.Cryptography.ProtectedData (4.7) - restriction: && (< net472) (>= netstandard2.0) @@ -1041,9 +751,9 @@ NUGET System.Security.Permissions (4.7) - restriction: && (< net472) (>= netstandard2.0) System.Security.AccessControl (>= 4.7) - restriction: || (>= net461) (>= netstandard2.0) System.Windows.Extensions (>= 4.7) - restriction: >= netcoreapp3.0 - System.Security.Principal.Windows (4.7) - restriction: || (&& (>= monoandroid) (>= netstandard2.0)) (&& (>= monotouch) (>= netstandard2.0)) (&& (< net45) (>= netstandard2.0)) (>= netcoreapp2.0) (&& (>= netstandard2.0) (>= xamarintvos)) (&& (>= netstandard2.0) (>= xamarinwatchos)) (>= xamarinios) (>= xamarinmac) + System.Security.Principal.Windows (4.7) - restriction: || (&& (>= monoandroid) (>= netcoreapp2.1)) (&& (>= monoandroid) (>= netstandard2.0)) (&& (>= monotouch) (>= netcoreapp2.1)) (&& (>= monotouch) (>= netstandard2.0)) (&& (< net45) (>= netstandard2.0)) (&& (< net46) (>= netstandard2.0)) (&& (>= net461) (< net472) (>= netstandard2.0)) (&& (>= net461) (>= netcoreapp2.1)) (>= netcoreapp2.0) (&& (>= netcoreapp2.1) (>= xamarintvos)) (&& (>= netcoreapp2.1) (>= xamarinwatchos)) (&& (>= netstandard2.0) (>= xamarintvos)) (&& (>= netstandard2.0) (>= xamarinwatchos)) (>= xamarinios) (>= xamarinmac) Microsoft.NETCore.Platforms (>= 3.1) - restriction: || (&& (>= netcoreapp2.0) (< netcoreapp2.1)) (&& (>= netcoreapp2.1) (< netcoreapp3.0)) - System.Text.Encoding (4.3) - restriction: || (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard2.0) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard2.0) (< win8) (< wpa81) (< xamarinios) (< xamarinmac)) (&& (< monoandroid) (< net46) (< netstandard1.4) (>= netstandard2.0)) (&& (< monoandroid) (< net46) (>= netstandard2.0) (< xamarinios) (< xamarinmac)) (>= netcoreapp5.0) + System.Text.Encoding (4.3) - restriction: || (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard2.0) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.5) (>= netstandard2.0) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard2.0) (< win8) (< wpa81) (< xamarinios) (< xamarinmac)) (&& (< monoandroid) (< net46) (< netstandard1.4) (>= netstandard2.0)) (&& (< monoandroid) (< net46) (>= netstandard2.0) (< xamarinios) (< xamarinmac)) (>= netcoreapp5.0) (&& (>= netstandard2.0) (>= uap10.0) (< win8) (< wpa81)) Microsoft.NETCore.Platforms (>= 1.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (>= netcoreapp5.0) Microsoft.NETCore.Targets (>= 1.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (>= netcoreapp5.0) System.Runtime (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (>= netcoreapp5.0) @@ -1055,21 +765,32 @@ NUGET Microsoft.NETCore.Targets (>= 1.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (>= netcoreapp5.0) System.Runtime (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (>= netcoreapp5.0) System.Text.Encoding (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (>= netcoreapp5.0) - System.Threading (4.3) - restriction: || (&& (< monoandroid) (< net45) (>= netstandard2.0) (< win8) (< wpa81) (< xamarinios) (< xamarinmac)) (&& (< monoandroid) (< net46) (>= netstandard2.0) (< xamarinios) (< xamarinmac)) (>= netcoreapp5.0) + System.Text.Encodings.Web (4.7.1) - restriction: || (&& (>= monoandroid) (>= netcoreapp2.1)) (&& (>= monotouch) (>= netcoreapp2.1)) (&& (>= net461) (>= netcoreapp2.1)) (>= net472) (&& (< netcoreapp2.0) (>= netcoreapp2.1)) (&& (>= netcoreapp2.1) (< netcoreapp3.0)) (&& (>= netcoreapp2.1) (>= uap10.1)) (&& (>= netcoreapp2.1) (>= xamarinios)) (&& (>= netcoreapp2.1) (>= xamarinmac)) (&& (>= netcoreapp2.1) (>= xamarintvos)) (&& (>= netcoreapp2.1) (>= xamarinwatchos)) (&& (>= netcoreapp3.0) (< netcoreapp3.1)) + System.Memory (>= 4.5.4) - restriction: || (&& (< net45) (< netcoreapp2.1) (>= netstandard2.0) (< netstandard2.1)) (>= net461) (>= uap10.1) + System.Text.Json (4.7.2) - restriction: || (>= net472) (>= netcoreapp2.1) + Microsoft.Bcl.AsyncInterfaces (>= 1.1) - restriction: || (>= monoandroid) (>= monotouch) (>= net461) (&& (>= netcoreapp2.0) (< netcoreapp2.1)) (&& (< netcoreapp2.0) (>= netstandard2.0)) (&& (>= netcoreapp2.1) (< netcoreapp3.0)) (>= uap10.1) (>= xamarinios) (>= xamarinmac) (>= xamarintvos) (>= xamarinwatchos) + System.Buffers (>= 4.5.1) - restriction: || (>= monoandroid) (>= monotouch) (>= net461) (&& (< netcoreapp2.0) (>= netstandard2.0)) (>= xamarinios) (>= xamarinmac) (>= xamarintvos) (>= xamarinwatchos) + System.Memory (>= 4.5.4) - restriction: || (&& (< monoandroid) (< netcoreapp2.0) (>= netstandard2.0) (< xamarinios) (< xamarinmac)) (>= net461) (&& (>= netcoreapp2.0) (< netcoreapp2.1)) (>= uap10.1) + System.Numerics.Vectors (>= 4.5) - restriction: || (&& (< monoandroid) (< netcoreapp2.0) (>= netstandard2.0) (< xamarinios) (< xamarinmac)) (>= net461) + System.Runtime.CompilerServices.Unsafe (>= 4.7.1) - restriction: || (>= monoandroid) (>= monotouch) (>= net461) (&& (>= netcoreapp2.0) (< netcoreapp2.1)) (&& (< netcoreapp2.0) (>= netstandard2.0)) (&& (>= netcoreapp2.1) (< netcoreapp3.0)) (&& (>= netcoreapp3.0) (< netcoreapp3.1)) (>= uap10.1) (>= xamarinios) (>= xamarinmac) (>= xamarintvos) (>= xamarinwatchos) + System.Text.Encodings.Web (>= 4.7.1) - restriction: || (>= monoandroid) (>= monotouch) (>= net461) (&& (>= netcoreapp2.0) (< netcoreapp2.1)) (&& (< netcoreapp2.0) (>= netstandard2.0)) (&& (>= netcoreapp2.1) (< netcoreapp3.0)) (&& (>= netcoreapp3.0) (< netcoreapp3.1)) (>= uap10.1) (>= xamarinios) (>= xamarinmac) (>= xamarintvos) (>= xamarinwatchos) + System.Threading.Tasks.Extensions (>= 4.5.4) - restriction: || (&& (< monoandroid) (< netcoreapp2.0) (>= netstandard2.0) (< xamarinios) (< xamarinmac)) (>= net461) (&& (>= netcoreapp2.0) (< netcoreapp2.1)) (>= uap10.1) + System.ValueTuple (>= 4.5) - restriction: >= net461 + System.Threading (4.3) - restriction: || (&& (< monoandroid) (< net45) (>= netstandard2.0) (< win8) (< wpa81) (< xamarinios) (< xamarinmac)) (&& (< monoandroid) (< net46) (>= netstandard2.0) (< xamarinios) (< xamarinmac)) (>= netcoreapp5.0) (&& (>= netstandard2.0) (>= uap10.0) (< win8) (< wpa81)) System.Runtime (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (>= netcoreapp5.0) System.Threading.Tasks (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (>= netcoreapp5.0) - System.Threading.Tasks (4.3) - restriction: || (&& (< monoandroid) (< net45) (>= netstandard2.0) (< win8) (< wpa81) (< xamarinios) (< xamarinmac)) (&& (< monoandroid) (< net46) (>= netstandard2.0) (< xamarinios) (< xamarinmac)) (>= netcoreapp5.0) + System.Threading.Tasks (4.3) - restriction: || (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard2.0) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard2.0) (< win8) (< wpa81) (< xamarinios) (< xamarinmac)) (&& (< monoandroid) (< net46) (>= netstandard2.0) (< xamarinios) (< xamarinmac)) (>= netcoreapp5.0) (&& (>= netstandard2.0) (>= uap10.0) (< win8) (< wpa81)) Microsoft.NETCore.Platforms (>= 1.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (>= netcoreapp5.0) Microsoft.NETCore.Targets (>= 1.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (>= netcoreapp5.0) System.Runtime (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (>= netcoreapp5.0) System.Threading.Tasks.Dataflow (4.11.1) - restriction: >= netstandard2.0 - System.Threading.Tasks.Extensions (4.5.4) - restriction: || (&& (>= net46) (>= netstandard2.0)) (&& (< netcoreapp3.0) (>= netstandard2.0)) (&& (>= netstandard2.0) (>= uap10.0)) + System.Threading.Tasks.Extensions (4.5.4) - restriction: || (&& (>= net46) (>= netstandard2.0)) (&& (>= net461) (>= netcoreapp2.1)) (>= net472) (&& (< netcoreapp2.0) (>= netcoreapp2.1)) (&& (>= netcoreapp2.1) (>= uap10.1)) (&& (< netcoreapp3.0) (>= netstandard2.0)) (&& (>= netstandard2.0) (>= uap10.0)) System.Runtime.CompilerServices.Unsafe (>= 4.5.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.0) (< netstandard2.0) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (< netcoreapp2.1) (>= netstandard2.0) (< xamarinios) (< xamarinmac)) (&& (< monoandroid) (< netstandard1.0) (>= portable-net45+win8+wp8+wpa81) (< win8)) (&& (>= net45) (< netstandard2.0)) (>= net461) (&& (< netstandard1.0) (>= win8)) (&& (< netstandard2.0) (>= wpa81)) (>= wp8) System.Threading.Thread (4.3) - restriction: || (&& (< monoandroid) (< net46) (< netcoreapp5.0) (>= netstandard2.0) (< xamarinios) (< xamarinmac)) (&& (< net472) (>= netstandard2.0)) System.Runtime (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (< netcoreapp5.0) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) System.Threading.ThreadPool (4.3) - restriction: && (< monoandroid) (< net46) (< netcoreapp5.0) (>= netstandard2.0) (< xamarinios) (< xamarinmac) System.Runtime (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (< netcoreapp5.0) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) System.Runtime.Handles (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (< netcoreapp5.0) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.ValueTuple (4.5) - restriction: || (&& (>= net45) (>= netstandard2.0)) (&& (>= net46) (>= netstandard2.0)) (&& (>= netstandard2.0) (>= uap10.0)) + System.ValueTuple (4.5) - restriction: || (&& (>= net45) (>= netstandard2.0)) (&& (>= net46) (>= netstandard2.0)) (&& (>= net461) (>= netcoreapp2.1)) (>= net472) (&& (>= netstandard2.0) (>= uap10.0)) System.Windows.Extensions (4.7) - restriction: >= netcoreapp3.0 System.Drawing.Common (>= 4.7) - restriction: >= netcoreapp3.0 diff --git a/src/FSharp.Formatting.CommandTool/BuildCommand.fs b/src/FSharp.Formatting.CommandTool/BuildCommand.fs index f47cdf9a4..574db0e67 100644 --- a/src/FSharp.Formatting.CommandTool/BuildCommand.fs +++ b/src/FSharp.Formatting.CommandTool/BuildCommand.fs @@ -7,10 +7,7 @@ open System.Diagnostics open System.IO open System.Globalization open System.Reflection -open System.Runtime.InteropServices -open System.Runtime.Serialization open System.Text -open System.Xml open FSharp.Formatting.Common open FSharp.Formatting.HtmlModel @@ -21,9 +18,6 @@ open FSharp.Formatting.Literate.Evaluation open FSharp.Formatting.CommandTool.Common open FSharp.Formatting.Templating -open Dotnet.ProjInfo -open Dotnet.ProjInfo.Workspace - open Suave open Suave.Sockets open Suave.Sockets.Control @@ -31,405 +25,6 @@ open Suave.WebSocket open Suave.Operators open Suave.Filters -[] -module Utils = - let ensureDirectory path = - let dir = DirectoryInfo(path) - if not dir.Exists then dir.Create() - - let saveBinary (object:'T) (fileName:string) = - try Directory.CreateDirectory (Path.GetDirectoryName(fileName)) |> ignore with _ -> () - let formatter = DataContractSerializer(typeof<'T>) - use fs = File.Create(fileName) - use xw = XmlDictionaryWriter.CreateBinaryWriter(fs) - formatter.WriteObject(xw, object) - fs.Flush() - - let loadBinary<'T> (fileName:string):'T option = - let formatter = DataContractSerializer(typeof<'T>) - use fs = File.OpenRead(fileName) - use xw = XmlDictionaryReader.CreateBinaryReader(fs, XmlDictionaryReaderQuotas.Max) - try - let object = formatter.ReadObject(xw) :?> 'T - Some object - with _ -> None - - let cacheBinary cacheFile cacheValid (f: unit -> 'T) : 'T = - let attempt = - if File.Exists(cacheFile) then - let v = loadBinary cacheFile - match v with - | Some v -> - if cacheValid v then - printfn "restored project state from '%s'" cacheFile - Some v - else - printfn "discarding project state in '%s' as now invalid" cacheFile - None - | None -> None - else None - match attempt with - | Some r -> r - | None -> - let res = f() - saveBinary res cacheFile - res - let ensureTrailingSlash (s:string) = - if s.EndsWith("/") || s.EndsWith(".html") then s else s + "/" - -module Crack = - - let msbuildPropBool (s: string) = - match s.Trim() with - | "" -> None - | Inspect.MSBuild.ConditionEquals "True" -> Some true - | _ -> Some false - - let runProcess (log: string -> unit) (workingDir: string) (exePath: string) (args: string) = - let psi = System.Diagnostics.ProcessStartInfo() - psi.FileName <- exePath - psi.WorkingDirectory <- workingDir - psi.RedirectStandardOutput <- true - psi.RedirectStandardError <- true - psi.Arguments <- args - psi.CreateNoWindow <- true - psi.UseShellExecute <- false - - use p = new System.Diagnostics.Process() - p.StartInfo <- psi - - p.OutputDataReceived.Add(fun ea -> log (ea.Data)) - - p.ErrorDataReceived.Add(fun ea -> log (ea.Data)) - - // printfn "running: %s %s" psi.FileName psi.Arguments - - p.Start() |> ignore - p.BeginOutputReadLine() - p.BeginErrorReadLine() - p.WaitForExit() - - let exitCode = p.ExitCode - - exitCode, (workingDir, exePath, args) - - type CrackedProjectInfo = - { ProjectFileName : string - TargetPath : string option - IsTestProject : bool - IsLibrary : bool - IsPackable : bool - RepositoryUrl : string option - RepositoryType : string option - RepositoryBranch : string option - UsesMarkdownComments: bool - FsDocsCollectionNameLink : string option - FsDocsLicenseLink : string option - FsDocsLogoLink : string option - FsDocsLogoSource : string option - FsDocsNavbarPosition: string option - FsDocsReleaseNotesLink : string option - FsDocsSourceFolder : string option - FsDocsSourceRepository : string option - FsDocsTheme: string option - FsDocsWarnOnMissingDocs: bool - PackageProjectUrl : string option - Authors : string option - GenerateDocumentationFile : bool - //Removed because this is typically a multi-line string and dotnet-proj-info can't handle this - //Description : string option - PackageLicenseExpression : string option - PackageTags : string option - Copyright : string option - PackageVersion : string option - PackageIconUrl : string option - //Removed because this is typically a multi-line string and dotnet-proj-info can't handle this - //PackageReleaseNotes : string option - RepositoryCommit : string option } - - let crackProjectFile slnDir extraMsbuildProperties (file : string) : CrackedProjectInfo = - - let projDir = Path.GetDirectoryName(file) - let projectAssetsJsonPath = Path.Combine(projDir, "obj", "project.assets.json") - if not(File.Exists(projectAssetsJsonPath)) then - failwithf "project '%s' not restored" file - - let additionalInfo = - [ "OutputType" - "IsTestProject" - "IsPackable" - "RepositoryUrl" - "UsesMarkdownComments" - "FsDocsCollectionNameLink" - "FsDocsLogoSource" - "FsDocsNavbarPosition" - "FsDocsTheme" - "FsDocsLogoLink" - "FsDocsLicenseLink" - "FsDocsReleaseNotesLink" - "FsDocsSourceFolder" - "FsDocsSourceRepository" - "FsDocsWarnOnMissingDocs" - "RepositoryType" - "RepositoryBranch" - "PackageProjectUrl" - "Authors" - "GenerateDocumentationFile" - //Removed because this is typically a multi-line string and dotnet-proj-info can't handle this - //"Description" - "PackageLicenseExpression" - "PackageTags" - "Copyright" - "PackageVersion" - "PackageIconUrl" - //Removed because this is typically a multi-line string and dotnet-proj-info can't handle this - //"PackageReleaseNotes" - "RepositoryCommit" - ] - let gp () = Inspect.getProperties (["TargetPath"] @ additionalInfo) - - let loggedMessages = System.Collections.Concurrent.ConcurrentQueue() - let runCmd exePath args = - let args = List.append args [ yield "/p:DesignTimeBuild=true"; for p in extraMsbuildProperties do yield ("/p:" + p) ] - //printfn "%s, args = %A" exePath args - let res = runProcess loggedMessages.Enqueue slnDir exePath (args |> String.concat " ") - //printfn "done..." - res - - let msbuildPath = Inspect.MSBuildExePath.DotnetMsbuild "dotnet" - let msbuildExec = Inspect.msbuild msbuildPath runCmd - - let result = file |> Inspect.getProjectInfos loggedMessages.Enqueue msbuildExec [gp] [] - - let msgs = (loggedMessages.ToArray() |> Array.toList) - //printfn "msgs = %A" msgs - match result with - | Ok [gpResult] -> - match gpResult with - | Ok (Inspect.GetResult.Properties props) -> - let props = props |> Map.ofList - //printfn "props = %A" (Map.toList props) - let msbuildPropString prop = props |> Map.tryFind prop |> Option.bind (function s when String.IsNullOrWhiteSpace(s) -> None | s -> Some s) - let msbuildPropBool prop = prop |> msbuildPropString |> Option.bind msbuildPropBool - - { ProjectFileName = file - TargetPath = msbuildPropString "TargetPath" - IsTestProject = msbuildPropBool "IsTestProject" |> Option.defaultValue false - IsLibrary = msbuildPropString "OutputType" |> Option.map (fun s -> s.ToLowerInvariant()) |> ((=) (Some "library")) - IsPackable = msbuildPropBool "IsPackable" |> Option.defaultValue false - RepositoryUrl = msbuildPropString "RepositoryUrl" - RepositoryType = msbuildPropString "RepositoryType" - RepositoryBranch = msbuildPropString "RepositoryBranch" - FsDocsCollectionNameLink = msbuildPropString "FsDocsCollectionNameLink" - FsDocsSourceFolder = msbuildPropString "FsDocsSourceFolder" - FsDocsSourceRepository = msbuildPropString "FsDocsSourceRepository" - FsDocsLicenseLink = msbuildPropString "FsDocsLicenseLink" - FsDocsReleaseNotesLink = msbuildPropString "FsDocsReleaseNotesLink" - FsDocsLogoLink = msbuildPropString "FsDocsLogoLink" - FsDocsLogoSource = msbuildPropString "FsDocsLogoSource" - FsDocsNavbarPosition = msbuildPropString "FsDocsNavbarPosition" - FsDocsTheme = msbuildPropString "FsDocsTheme" - FsDocsWarnOnMissingDocs = msbuildPropBool "FsDocsWarnOnMissingDocs" |> Option.defaultValue false - UsesMarkdownComments = msbuildPropBool "UsesMarkdownComments" |> Option.defaultValue false - PackageProjectUrl = msbuildPropString "PackageProjectUrl" - Authors = msbuildPropString "Authors" - GenerateDocumentationFile = msbuildPropBool "GenerateDocumentationFile" |> Option.defaultValue false - PackageLicenseExpression = msbuildPropString "PackageLicenseExpression" - PackageTags = msbuildPropString "PackageTags" - Copyright = msbuildPropString "Copyright" - PackageVersion = msbuildPropString "PackageVersion" - PackageIconUrl = msbuildPropString "PackageIconUrl" - RepositoryCommit = msbuildPropString "RepositoryCommit" } - - | Ok ok -> failwithf "huh? ok = %A" ok - | Error err -> failwithf "error - %s\nlog - %s" (err.ToString()) (String.concat "\n" msgs) - | Ok ok -> failwithf "huh? ok = %A" ok - | Error err -> failwithf "error - %s\nlog - %s" (err.ToString()) (String.concat "\n" msgs) - - let getProjectsFromSlnFile (slnPath : string) = - match InspectSln.tryParseSln slnPath with - | Ok (_, slnData) -> - InspectSln.loadingBuildOrder slnData - - //this.LoadProjects(projs, crosstargetingStrategy, useBinaryLogger, numberOfThreads) - | Error d -> - failwithf "cannot load the sln: %A" d - - let crackProjects (strict, extraMsbuildProperties, userRoot, userCollectionName, userParameters, projects) = - let slnDir = Path.GetFullPath "." - - //printfn "x.projects = %A" x.projects - let collectionName, projectFiles = - match projects with - | [] -> - match Directory.GetFiles(slnDir, "*.sln") with - | [| sln |] -> - printfn "getting projects from solution file %s" sln - let collectionName = defaultArg userCollectionName (Path.GetFileNameWithoutExtension(sln)) - collectionName, getProjectsFromSlnFile sln - | _ -> - let projectFiles = - [ yield! Directory.EnumerateFiles(slnDir, "*.fsproj") - for d in Directory.EnumerateDirectories(slnDir) do - yield! Directory.EnumerateFiles(d, "*.fsproj") - for d2 in Directory.EnumerateDirectories(d) do - yield! Directory.EnumerateFiles(d2, "*.fsproj") ] - - let collectionName = - defaultArg userCollectionName - (match projectFiles with - | [ file1 ] -> Path.GetFileNameWithoutExtension(file1) - | _ -> Path.GetFileName(slnDir)) - - collectionName, projectFiles - - | projectFiles -> - let collectionName = Path.GetFileName(slnDir) - collectionName, projectFiles - - //printfn "projects = %A" projectFiles - let projectFiles = - projectFiles |> List.choose (fun s -> - if s.Contains(".Tests") || s.Contains("test") then - printfn " skipping project '%s' because it looks like a test project" (Path.GetFileName s) - None - else - Some s) - - //printfn "filtered projects = %A" projectFiles - if projectFiles.Length = 0 then - printfn "no project files found, no API docs will be generated" - - printfn "cracking projects..." - let projectInfos = - projectFiles - |> Array.ofList - |> Array.Parallel.choose (fun p -> - try - Some (crackProjectFile slnDir extraMsbuildProperties p) - with e -> - if strict then exit 1 - printfn " skipping project '%s' because an error occurred while cracking it: %A" (Path.GetFileName p) e - None) - |> Array.toList - - //printfn "projectInfos = %A" projectInfos - let projectInfos = - projectInfos - |> List.choose (fun info -> - let shortName = Path.GetFileName info.ProjectFileName - if info.TargetPath.IsNone then - printfn " skipping project '%s' because it doesn't have a target path" shortName - None - elif not info.IsLibrary then - printfn " skipping project '%s' because it isn't a library" shortName - None - elif info.IsTestProject then - printfn " skipping project '%s' because it has true" shortName - None - elif not info.GenerateDocumentationFile then - printfn " skipping project '%s' because it doesn't have " shortName - None - else - Some info) - - //printfn "projectInfos = %A" projectInfos - - if projectInfos.Length = 0 && projectFiles.Length > 0 then - printfn "Error while cracking project files, no project files succeeded, exiting." - exit 1 - - let param setting (ParamKey tag as key) v = - match v with - | Some v -> (key, v) - | None -> - match setting with - | Some setting -> printfn "please set '%s' in 'Directory.Build.props'" setting - | None _ -> () - (key, "{{" + tag + "}}") - - // For the 'docs' directory we use the best info we can find from across all projects - let projectInfoForDocs = - { - ProjectFileName = "" - TargetPath = None - IsTestProject = false - IsLibrary = true - IsPackable = true - RepositoryUrl = projectInfos |> List.tryPick (fun info -> info.RepositoryUrl) |> Option.map ensureTrailingSlash - RepositoryType = projectInfos |> List.tryPick (fun info -> info.RepositoryType) - RepositoryBranch = projectInfos |> List.tryPick (fun info -> info.RepositoryBranch) - FsDocsCollectionNameLink = projectInfos |> List.tryPick (fun info -> info.FsDocsCollectionNameLink) - FsDocsLicenseLink = projectInfos |> List.tryPick (fun info -> info.FsDocsLicenseLink) - FsDocsReleaseNotesLink = projectInfos |> List.tryPick (fun info -> info.FsDocsReleaseNotesLink) - FsDocsLogoLink = projectInfos |> List.tryPick (fun info -> info.FsDocsLogoLink) - FsDocsLogoSource = projectInfos |> List.tryPick (fun info -> info.FsDocsLogoSource) - FsDocsSourceFolder = projectInfos |> List.tryPick (fun info -> info.FsDocsSourceFolder) - FsDocsSourceRepository = projectInfos |> List.tryPick (fun info -> info.FsDocsSourceRepository) - FsDocsNavbarPosition = projectInfos |> List.tryPick (fun info -> info.FsDocsNavbarPosition) - FsDocsTheme = projectInfos |> List.tryPick (fun info -> info.FsDocsTheme) - FsDocsWarnOnMissingDocs = false - PackageProjectUrl = projectInfos |> List.tryPick (fun info -> info.PackageProjectUrl) |> Option.map ensureTrailingSlash - Authors = projectInfos |> List.tryPick (fun info -> info.Authors) - GenerateDocumentationFile = true - PackageLicenseExpression = projectInfos |> List.tryPick (fun info -> info.PackageLicenseExpression) - PackageTags = projectInfos |> List.tryPick (fun info -> info.PackageTags) - UsesMarkdownComments = false - Copyright = projectInfos |> List.tryPick (fun info -> info.Copyright) - PackageVersion = projectInfos |> List.tryPick (fun info -> info.PackageVersion) - PackageIconUrl = projectInfos |> List.tryPick (fun info -> info.PackageIconUrl) - RepositoryCommit = projectInfos |> List.tryPick (fun info -> info.RepositoryCommit) - } - - let root = - let projectUrl = projectInfoForDocs.PackageProjectUrl |> Option.map ensureTrailingSlash - defaultArg userRoot (defaultArg projectUrl ("/" + collectionName) |> ensureTrailingSlash) - - let parametersForProjectInfo (info: CrackedProjectInfo) = - let projectUrl = info.PackageProjectUrl |> Option.map ensureTrailingSlash |> Option.defaultValue root - let repoUrl = info.RepositoryUrl |> Option.map ensureTrailingSlash - userParameters @ - [ param None ParamKeys.``root`` (Some root) - param None ParamKeys.``fsdocs-authors`` (Some (info.Authors |> Option.defaultValue "")) - param None ParamKeys.``fsdocs-collection-name`` (Some collectionName) - param None ParamKeys.``fsdocs-collection-name-link`` (Some (info.FsDocsCollectionNameLink |> Option.defaultValue projectUrl)) - param None ParamKeys.``fsdocs-copyright`` info.Copyright - param None ParamKeys.``fsdocs-logo-src`` (Some (defaultArg info.FsDocsLogoSource (sprintf "%simg/logo.png" root))) - param None ParamKeys.``fsdocs-navbar-position`` (Some (defaultArg info.FsDocsNavbarPosition "fixed-right")) - param None ParamKeys.``fsdocs-theme`` (Some (defaultArg info.FsDocsTheme "default")) - param None ParamKeys.``fsdocs-logo-link`` (Some (info.FsDocsLogoLink |> Option.defaultValue projectUrl)) - param (Some "") ParamKeys.``fsdocs-license-link`` (info.FsDocsLicenseLink |> Option.orElse (Option.map (sprintf "%sblob/master/LICENSE.md") repoUrl)) - param (Some "") ParamKeys.``fsdocs-release-notes-link`` (info.FsDocsReleaseNotesLink |> Option.orElse (Option.map (sprintf "%sblob/master/RELEASE_NOTES.md") repoUrl)) - param None ParamKeys.``fsdocs-package-project-url`` (Some projectUrl) - param None ParamKeys.``fsdocs-package-license-expression`` info.PackageLicenseExpression - param None ParamKeys.``fsdocs-package-icon-url`` info.PackageIconUrl - param None ParamKeys.``fsdocs-package-tags`` (Some (info.PackageTags |> Option.defaultValue "")) - param (Some "") ParamKeys.``fsdocs-package-version`` info.PackageVersion - param (Some "") ParamKeys.``fsdocs-repository-link`` repoUrl - param None ParamKeys.``fsdocs-repository-branch`` info.RepositoryBranch - param None ParamKeys.``fsdocs-repository-commit`` info.RepositoryCommit - ] - - let crackedProjects = [ - for info in projectInfos do - let substitutions = parametersForProjectInfo info - ( info.TargetPath.Value, - info.RepositoryUrl, - info.RepositoryBranch, - info.RepositoryType, - info.UsesMarkdownComments, - info.FsDocsWarnOnMissingDocs, - info.FsDocsSourceFolder, - info.FsDocsSourceRepository, - substitutions) - ] - - let paths = [ for info in projectInfos -> Path.GetDirectoryName info.TargetPath.Value ] - - let docsParameters = parametersForProjectInfo projectInfoForDocs - - root, collectionName, crackedProjects, paths, docsParameters - /// Convert markdown, script and other content into a static site type internal DocContent(outputDirectory, previous: Map<_,_>, lineNumbers, fsiEvaluator, substitutions, saveImages, watch, root) = @@ -560,13 +155,13 @@ type internal DocContent(outputDirectory, previous: Map<_,_>, lineNumbers, fsiEv // Look for the presence of the _template.* files to activate the // generation of the content. let possibleNewHtmlTemplate = Path.Combine(indir, "_template.html") - let htmlTemplate = if (try File.Exists(possibleNewHtmlTemplate) with _ -> false) then Some possibleNewHtmlTemplate else htmlTemplate + let htmlTemplate = if File.Exists(possibleNewHtmlTemplate) then Some possibleNewHtmlTemplate else htmlTemplate let possibleNewPynbTemplate = Path.Combine(indir, "_template.ipynb") - let pynbTemplate = if (try File.Exists(possibleNewPynbTemplate) with _ -> false) then Some possibleNewPynbTemplate else pynbTemplate + let pynbTemplate = if File.Exists(possibleNewPynbTemplate) then Some possibleNewPynbTemplate else pynbTemplate let possibleNewFsxTemplate = Path.Combine(indir, "_template.fsx") - let fsxTemplate = if (try File.Exists(possibleNewFsxTemplate) with _ -> false) then Some possibleNewFsxTemplate else fsxTemplate + let fsxTemplate = if File.Exists(possibleNewFsxTemplate) then Some possibleNewFsxTemplate else fsxTemplate let possibleNewLatexTemplate = Path.Combine(indir, "_template.tex") - let texTemplate = if (try File.Exists(possibleNewLatexTemplate) with _ -> false) then Some possibleNewLatexTemplate else texTemplate + let texTemplate = if File.Exists(possibleNewLatexTemplate) then Some possibleNewLatexTemplate else texTemplate ensureDirectory (Path.Combine(outputDirectory, outputPrefix)) @@ -694,7 +289,7 @@ type CoreBuildOptions(watch) = [] member val mdcomments = false with get, set - [] + [] member val parameters = Seq.empty with get, set [] @@ -714,22 +309,20 @@ type CoreBuildOptions(watch) = try f() true - with - | :?AggregateException as ex -> - Log.errorf "received exception :\n %A" ex - printfn "Error : \n%O" ex - if this.strict then exit 1 - false - | ex -> - Log.errorf "received exception :\n %A" ex - printfn "Error : \n%O" ex - if this.strict then exit 1 - false + with ex -> + Log.errorf "received exception :\n %A" ex + printfn "Error : \n%O" ex + if this.strict then exit 1 + false /// The substitutions as given by the user let userParameters = - (evalPairwiseStringsNoOption this.parameters - |> List.map (fun (a,b) -> (ParamKey a, b))) + let parameters = Array.ofSeq this.parameters + if parameters.Length % 2 = 1 then + printfn "The --parameters option's arguments' count has to be an even number" + exit 1 + evalPairwiseStringsNoOption parameters + |> List.map (fun (a,b) -> (ParamKey a, b)) let userParametersDict = readOnlyDict userParameters @@ -891,7 +484,7 @@ type CoreBuildOptions(watch) = let regenerateSearchIndex() = let index = Array.append latestApiDocSearchIndexEntries latestDocContentSearchIndexEntries - let indxTxt = index |> Newtonsoft.Json.JsonConvert.SerializeObject + let indxTxt = System.Text.Json.JsonSerializer.Serialize index File.WriteAllText(Path.Combine(output, "index.json"), indxTxt) // Incrementally convert content @@ -1107,15 +700,7 @@ type CoreBuildOptions(watch) = if not this.nolaunch_option then let url = sprintf "http://localhost:%d/%s" this.port_option this.open_option printfn "launching browser window to open %s" url - let OpenBrowser(url: string) = - if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) then - Process.Start(new ProcessStartInfo(url, UseShellExecute = true)) |> ignore - elif (RuntimeInformation.IsOSPlatform(OSPlatform.Linux)) then - Process.Start("xdg-open", url) |> ignore - elif (RuntimeInformation.IsOSPlatform(OSPlatform.OSX)) then - Process.Start("open", url) |> ignore - - OpenBrowser (url) + Process.Start(new ProcessStartInfo(url, UseShellExecute = true)) |> ignore waitForKey watch if ok then 0 else 1 diff --git a/src/FSharp.Formatting.CommandTool/FSharp.Formatting.CommandTool.fsproj b/src/FSharp.Formatting.CommandTool/FSharp.Formatting.CommandTool.fsproj index 540aa0112..c3d169d7c 100644 --- a/src/FSharp.Formatting.CommandTool/FSharp.Formatting.CommandTool.fsproj +++ b/src/FSharp.Formatting.CommandTool/FSharp.Formatting.CommandTool.fsproj @@ -16,6 +16,7 @@ Common\AssemblyInfo.fs + diff --git a/src/FSharp.Formatting.CommandTool/Options.fs b/src/FSharp.Formatting.CommandTool/Options.fs index f920ccbc0..9bb944050 100644 --- a/src/FSharp.Formatting.CommandTool/Options.fs +++ b/src/FSharp.Formatting.CommandTool/Options.fs @@ -9,10 +9,20 @@ module Common = | Some "" -> None | _ -> Some (List.ofSeq a) + // https://stackoverflow.com/questions/4126351 + let private pairs (xs: _ seq) = seq { + use enumerator = xs.GetEnumerator() + while enumerator.MoveNext() do + let first = enumerator.Current + if enumerator.MoveNext() then + let second = enumerator.Current + yield first, second + } + let evalPairwiseStrings a = match Seq.tryExactlyOne a with | Some "" -> None - | _ -> a |> Seq.pairwise |> List.ofSeq |> Some + | _ -> a |> pairs |> List.ofSeq |> Some let evalPairwiseStringsNoOption a = evalPairwiseStrings a |> Option.defaultValue [] @@ -24,4 +34,4 @@ module Common = let waitForKey b = if b then printf "\nPress any key to continue ..." - System.Console.ReadKey() |> ignore \ No newline at end of file + System.Console.ReadKey() |> ignore diff --git a/src/FSharp.Formatting.CommandTool/Program.fs b/src/FSharp.Formatting.CommandTool/Program.fs index 1a8927d4b..c3fe2fdab 100644 --- a/src/FSharp.Formatting.CommandTool/Program.fs +++ b/src/FSharp.Formatting.CommandTool/Program.fs @@ -1,29 +1,11 @@ - module FSharp.Formatting.CommandTool.Main open CommandLine -let printAssemblies msg = - printfn "%s. Loaded Assemblies:" msg - System.AppDomain.CurrentDomain.GetAssemblies() - |> Seq.choose (fun a -> try Some (a.GetName().FullName, a.Location) with _ -> None) - |> Seq.iter (fun (n, l) -> printfn "\t- %s: %s" n l) - - [] let main argv = - try - CommandLine.Parser.Default.ParseArguments(argv, typeof, typeof) + CommandLine.Parser.Default.ParseArguments(argv) .MapResult( (fun (opts: BuildCommand) -> opts.Execute()), (fun (opts: WatchCommand) -> opts.Execute()), - (fun errs -> 1)); - with e -> - let e = - match e with - | :? System.AggregateException as ex -> ex.InnerExceptions.[0] - | _ -> e - //printAssemblies "(DIAGNOSTICS) Documentation failed" - printfn "fsdocs.exe failed: %O" e - 1 - //reraise() \ No newline at end of file + (fun _ -> 1)) diff --git a/src/FSharp.Formatting.CommandTool/ProjectCracker.fs b/src/FSharp.Formatting.CommandTool/ProjectCracker.fs new file mode 100644 index 000000000..4277c689a --- /dev/null +++ b/src/FSharp.Formatting.CommandTool/ProjectCracker.fs @@ -0,0 +1,415 @@ +namespace FSharp.Formatting.CommandTool + +open System +open System.IO +open System.Runtime.Serialization +open System.Xml + +open FSharp.Formatting.Templating + +open Dotnet.ProjInfo +open Dotnet.ProjInfo.Workspace + +[] +module Utils = + let ensureDirectory path = + let dir = DirectoryInfo(path) + if not dir.Exists then dir.Create() + + let saveBinary (object:'T) (fileName:string) = + try Directory.CreateDirectory (Path.GetDirectoryName(fileName)) |> ignore with _ -> () + let formatter = DataContractSerializer(typeof<'T>) + use fs = File.Create(fileName) + use xw = XmlDictionaryWriter.CreateBinaryWriter(fs) + formatter.WriteObject(xw, object) + fs.Flush() + + let loadBinary<'T> (fileName:string):'T option = + let formatter = DataContractSerializer(typeof<'T>) + use fs = File.OpenRead(fileName) + use xw = XmlDictionaryReader.CreateBinaryReader(fs, XmlDictionaryReaderQuotas.Max) + try + let object = formatter.ReadObject(xw) :?> 'T + Some object + with _ -> None + + let cacheBinary cacheFile cacheValid (f: unit -> 'T) : 'T = + let attempt = + if File.Exists(cacheFile) then + let v = loadBinary cacheFile + match v with + | Some v -> + if cacheValid v then + printfn "restored project state from '%s'" cacheFile + Some v + else + printfn "discarding project state in '%s' as now invalid" cacheFile + None + | None -> None + else None + match attempt with + | Some r -> r + | None -> + let res = f() + saveBinary res cacheFile + res + let ensureTrailingSlash (s:string) = + if s.EndsWith("/") || s.EndsWith(".html") then s else s + "/" + +module Crack = + + let msbuildPropBool (s: string) = + match s.Trim() with + | "" -> None + | Inspect.MSBuild.ConditionEquals "True" -> Some true + | _ -> Some false + + let runProcess (log: string -> unit) (workingDir: string) (exePath: string) (args: string) = + let psi = System.Diagnostics.ProcessStartInfo() + psi.FileName <- exePath + psi.WorkingDirectory <- workingDir + psi.RedirectStandardOutput <- true + psi.RedirectStandardError <- true + psi.Arguments <- args + psi.CreateNoWindow <- true + psi.UseShellExecute <- false + + use p = new System.Diagnostics.Process() + p.StartInfo <- psi + + p.OutputDataReceived.Add(fun ea -> log (ea.Data)) + + p.ErrorDataReceived.Add(fun ea -> log (ea.Data)) + + // printfn "running: %s %s" psi.FileName psi.Arguments + + p.Start() |> ignore + p.BeginOutputReadLine() + p.BeginErrorReadLine() + p.WaitForExit() + + let exitCode = p.ExitCode + + exitCode, (workingDir, exePath, args) + + type CrackedProjectInfo = { + ProjectFileName : string + TargetPath : string option + IsTestProject : bool + IsLibrary : bool + IsPackable : bool + RepositoryUrl : string option + RepositoryType : string option + RepositoryBranch : string option + UsesMarkdownComments: bool + FsDocsCollectionNameLink : string option + FsDocsLicenseLink : string option + FsDocsLogoLink : string option + FsDocsLogoSource : string option + FsDocsNavbarPosition: string option + FsDocsReleaseNotesLink : string option + FsDocsSourceFolder : string option + FsDocsSourceRepository : string option + FsDocsTheme: string option + FsDocsWarnOnMissingDocs: bool + PackageProjectUrl : string option + Authors : string option + GenerateDocumentationFile : bool + //Removed because this is typically a multi-line string and dotnet-proj-info can't handle this + //Description : string option + PackageLicenseExpression : string option + PackageTags : string option + Copyright : string option + PackageVersion : string option + PackageIconUrl : string option + //Removed because this is typically a multi-line string and dotnet-proj-info can't handle this + //PackageReleaseNotes : string option + RepositoryCommit : string option + } + + let crackProjectFile slnDir extraMsbuildProperties (file : string) : CrackedProjectInfo = + + let projDir = Path.GetDirectoryName(file) + let projectAssetsJsonPath = Path.Combine(projDir, "obj", "project.assets.json") + if not(File.Exists(projectAssetsJsonPath)) then + failwithf "project '%s' not restored" file + + let additionalInfo = [ + "OutputType" + "IsTestProject" + "IsPackable" + "RepositoryUrl" + "UsesMarkdownComments" + "FsDocsCollectionNameLink" + "FsDocsLogoSource" + "FsDocsNavbarPosition" + "FsDocsTheme" + "FsDocsLogoLink" + "FsDocsLicenseLink" + "FsDocsReleaseNotesLink" + "FsDocsSourceFolder" + "FsDocsSourceRepository" + "FsDocsWarnOnMissingDocs" + "RepositoryType" + "RepositoryBranch" + "PackageProjectUrl" + "Authors" + "GenerateDocumentationFile" + //Removed because this is typically a multi-line string and dotnet-proj-info can't handle this + //"Description" + "PackageLicenseExpression" + "PackageTags" + "Copyright" + "PackageVersion" + "PackageIconUrl" + //Removed because this is typically a multi-line string and dotnet-proj-info can't handle this + //"PackageReleaseNotes" + "RepositoryCommit" + ] + let gp() = Inspect.getProperties ("TargetPath" :: additionalInfo) + + let loggedMessages = System.Collections.Concurrent.ConcurrentQueue() + let runCmd exePath args = + let args = args @ [ yield "/p:DesignTimeBuild=true"; yield! Seq.map ((+) "/p:") extraMsbuildProperties] + //printfn "%s, args = %A" exePath args + let res = runProcess loggedMessages.Enqueue slnDir exePath (args |> String.concat " ") + //printfn "done..." + res + + let msbuildPath = Inspect.MSBuildExePath.DotnetMsbuild "dotnet" + let msbuildExec = Inspect.msbuild msbuildPath runCmd + + let result = file |> Inspect.getProjectInfos loggedMessages.Enqueue msbuildExec [gp] [] + + let msgs = (loggedMessages.ToArray() |> Array.toList) + //printfn "msgs = %A" msgs + match result with + | Ok [Ok (Inspect.GetResult.Properties props)] -> + let props = readOnlyDict props + //printfn "props = %A" (Map.toList props) + let msbuildPropString prop = + match props.TryGetValue prop with + | false, _ -> None + | true, s when String.IsNullOrWhiteSpace s -> None + | true, s -> Some s + let msbuildPropBool prop = prop |> msbuildPropString |> Option.bind msbuildPropBool + + { + ProjectFileName = file + TargetPath = msbuildPropString "TargetPath" + IsTestProject = msbuildPropBool "IsTestProject" |> Option.defaultValue false + IsLibrary = msbuildPropString "OutputType" |> Option.map (fun s -> s.Equals("library", StringComparison.OrdinalIgnoreCase)) |> Option.defaultValue false + IsPackable = msbuildPropBool "IsPackable" |> Option.defaultValue false + RepositoryUrl = msbuildPropString "RepositoryUrl" + RepositoryType = msbuildPropString "RepositoryType" + RepositoryBranch = msbuildPropString "RepositoryBranch" + FsDocsCollectionNameLink = msbuildPropString "FsDocsCollectionNameLink" + FsDocsSourceFolder = msbuildPropString "FsDocsSourceFolder" + FsDocsSourceRepository = msbuildPropString "FsDocsSourceRepository" + FsDocsLicenseLink = msbuildPropString "FsDocsLicenseLink" + FsDocsReleaseNotesLink = msbuildPropString "FsDocsReleaseNotesLink" + FsDocsLogoLink = msbuildPropString "FsDocsLogoLink" + FsDocsLogoSource = msbuildPropString "FsDocsLogoSource" + FsDocsNavbarPosition = msbuildPropString "FsDocsNavbarPosition" + FsDocsTheme = msbuildPropString "FsDocsTheme" + FsDocsWarnOnMissingDocs = msbuildPropBool "FsDocsWarnOnMissingDocs" |> Option.defaultValue false + UsesMarkdownComments = msbuildPropBool "UsesMarkdownComments" |> Option.defaultValue false + PackageProjectUrl = msbuildPropString "PackageProjectUrl" + Authors = msbuildPropString "Authors" + GenerateDocumentationFile = msbuildPropBool "GenerateDocumentationFile" |> Option.defaultValue false + PackageLicenseExpression = msbuildPropString "PackageLicenseExpression" + PackageTags = msbuildPropString "PackageTags" + Copyright = msbuildPropString "Copyright" + PackageVersion = msbuildPropString "PackageVersion" + PackageIconUrl = msbuildPropString "PackageIconUrl" + RepositoryCommit = msbuildPropString "RepositoryCommit" + } + | Ok ok -> failwithf "huh? ok = %A" ok + | Error err -> failwithf "error - %O\nlog - %s" err (String.concat "\n" msgs) + + let getProjectsFromSlnFile (slnPath : string) = + match InspectSln.tryParseSln slnPath with + | Ok (_, slnData) -> + InspectSln.loadingBuildOrder slnData + + //this.LoadProjects(projs, crosstargetingStrategy, useBinaryLogger, numberOfThreads) + | Error e -> + raise (exn("cannot load the sln", e)) + + let crackProjects (strict, extraMsbuildProperties, userRoot, userCollectionName, userParameters, projects) = + let slnDir = Path.GetFullPath "." + + //printfn "x.projects = %A" x.projects + let collectionName, projectFiles = + match projects with + | [] -> + match Directory.GetFiles(slnDir, "*.sln") with + | [| sln |] -> + printfn "getting projects from solution file %s" sln + let collectionName = defaultArg userCollectionName (Path.GetFileNameWithoutExtension(sln)) + collectionName, getProjectsFromSlnFile sln + | _ -> + let projectFiles = [ + yield! Directory.EnumerateFiles(slnDir, "*.fsproj") + for d in Directory.EnumerateDirectories(slnDir) do + yield! Directory.EnumerateFiles(d, "*.fsproj") + for d2 in Directory.EnumerateDirectories(d) do + yield! Directory.EnumerateFiles(d2, "*.fsproj") + ] + + let collectionName = + match projectFiles with + | [file1] -> Path.GetFileNameWithoutExtension file1 + | _ -> Path.GetFileName slnDir + |> defaultArg userCollectionName + + collectionName, projectFiles + + | projectFiles -> + let collectionName = Path.GetFileName(slnDir) + collectionName, projectFiles + + //printfn "projects = %A" projectFiles + let projectFiles = + projectFiles |> List.choose (fun s -> + if s.Contains(".Tests") || s.Contains("test") then + printfn " skipping project '%s' because it looks like a test project" (Path.GetFileName s) + None + else + Some s) + + //printfn "filtered projects = %A" projectFiles + if projectFiles.Length = 0 then + printfn "no project files found, no API docs will be generated" + + printfn "cracking projects..." + let projectInfos = + projectFiles + |> Array.ofList + |> Array.Parallel.choose (fun p -> + try + Some (crackProjectFile slnDir extraMsbuildProperties p) + with e -> + if strict then exit 1 + printfn " skipping project '%s' because an error occurred while cracking it: %A" (Path.GetFileName p) e + None) + |> Array.toList + + //printfn "projectInfos = %A" projectInfos + let projectInfos = + projectInfos + |> List.choose (fun info -> + let shortName = Path.GetFileName info.ProjectFileName + if info.TargetPath.IsNone then + printfn " skipping project '%s' because it doesn't have a target path" shortName + None + elif not info.IsLibrary then + printfn " skipping project '%s' because it isn't a library" shortName + None + elif info.IsTestProject then + printfn " skipping project '%s' because it has true" shortName + None + elif not info.GenerateDocumentationFile then + printfn " skipping project '%s' because it doesn't have " shortName + None + else + Some info) + + //printfn "projectInfos = %A" projectInfos + + if projectInfos.Length = 0 && projectFiles.Length > 0 then + printfn "Error while cracking project files, no project files succeeded, exiting." + exit 1 + + let param setting key v = + match v with + | Some v -> Some(key, v) + | None -> + match setting with + | Some setting -> + printfn "please set '%s' in 'Directory.Build.props'" setting + | None _ -> () + None + + // For the 'docs' directory we use the best info we can find from across all projects + let projectInfoForDocs = + { + ProjectFileName = "" + TargetPath = None + IsTestProject = false + IsLibrary = true + IsPackable = true + RepositoryUrl = projectInfos |> List.tryPick (fun info -> info.RepositoryUrl) |> Option.map ensureTrailingSlash + RepositoryType = projectInfos |> List.tryPick (fun info -> info.RepositoryType) + RepositoryBranch = projectInfos |> List.tryPick (fun info -> info.RepositoryBranch) + FsDocsCollectionNameLink = projectInfos |> List.tryPick (fun info -> info.FsDocsCollectionNameLink) + FsDocsLicenseLink = projectInfos |> List.tryPick (fun info -> info.FsDocsLicenseLink) + FsDocsReleaseNotesLink = projectInfos |> List.tryPick (fun info -> info.FsDocsReleaseNotesLink) + FsDocsLogoLink = projectInfos |> List.tryPick (fun info -> info.FsDocsLogoLink) + FsDocsLogoSource = projectInfos |> List.tryPick (fun info -> info.FsDocsLogoSource) + FsDocsSourceFolder = projectInfos |> List.tryPick (fun info -> info.FsDocsSourceFolder) + FsDocsSourceRepository = projectInfos |> List.tryPick (fun info -> info.FsDocsSourceRepository) + FsDocsNavbarPosition = projectInfos |> List.tryPick (fun info -> info.FsDocsNavbarPosition) + FsDocsTheme = projectInfos |> List.tryPick (fun info -> info.FsDocsTheme) + FsDocsWarnOnMissingDocs = false + PackageProjectUrl = projectInfos |> List.tryPick (fun info -> info.PackageProjectUrl) |> Option.map ensureTrailingSlash + Authors = projectInfos |> List.tryPick (fun info -> info.Authors) + GenerateDocumentationFile = true + PackageLicenseExpression = projectInfos |> List.tryPick (fun info -> info.PackageLicenseExpression) + PackageTags = projectInfos |> List.tryPick (fun info -> info.PackageTags) + UsesMarkdownComments = false + Copyright = projectInfos |> List.tryPick (fun info -> info.Copyright) + PackageVersion = projectInfos |> List.tryPick (fun info -> info.PackageVersion) + PackageIconUrl = projectInfos |> List.tryPick (fun info -> info.PackageIconUrl) + RepositoryCommit = projectInfos |> List.tryPick (fun info -> info.RepositoryCommit) + } + + let root = + let projectUrl = projectInfoForDocs.PackageProjectUrl |> Option.map ensureTrailingSlash + defaultArg userRoot (defaultArg projectUrl ("/" + collectionName) |> ensureTrailingSlash) + + let parametersForProjectInfo (info: CrackedProjectInfo) = + let projectUrl = info.PackageProjectUrl |> Option.map ensureTrailingSlash |> Option.defaultValue root + let repoUrl = info.RepositoryUrl |> Option.map ensureTrailingSlash + userParameters @ List.choose id [ + param None ParamKeys.``root`` (Some root) + param None ParamKeys.``fsdocs-authors`` (Some (info.Authors |> Option.defaultValue "")) + param None ParamKeys.``fsdocs-collection-name`` (Some collectionName) + param None ParamKeys.``fsdocs-collection-name-link`` (Some (info.FsDocsCollectionNameLink |> Option.defaultValue projectUrl)) + param None ParamKeys.``fsdocs-copyright`` info.Copyright + param None ParamKeys.``fsdocs-logo-src`` (Some (defaultArg info.FsDocsLogoSource (sprintf "%simg/logo.png" root))) + param None ParamKeys.``fsdocs-navbar-position`` (Some (defaultArg info.FsDocsNavbarPosition "fixed-right")) + param None ParamKeys.``fsdocs-theme`` (Some (defaultArg info.FsDocsTheme "default")) + param None ParamKeys.``fsdocs-logo-link`` (Some (info.FsDocsLogoLink |> Option.defaultValue projectUrl)) + param (Some "") ParamKeys.``fsdocs-license-link`` (info.FsDocsLicenseLink |> Option.orElse (Option.map (sprintf "%sblob/master/LICENSE.md") repoUrl)) + param (Some "") ParamKeys.``fsdocs-release-notes-link`` (info.FsDocsReleaseNotesLink |> Option.orElse (Option.map (sprintf "%sblob/master/RELEASE_NOTES.md") repoUrl)) + param None ParamKeys.``fsdocs-package-project-url`` (Some projectUrl) + param None ParamKeys.``fsdocs-package-license-expression`` info.PackageLicenseExpression + param None ParamKeys.``fsdocs-package-icon-url`` info.PackageIconUrl + param None ParamKeys.``fsdocs-package-tags`` (Some (info.PackageTags |> Option.defaultValue "")) + param (Some "") ParamKeys.``fsdocs-package-version`` info.PackageVersion + param (Some "") ParamKeys.``fsdocs-repository-link`` repoUrl + param None ParamKeys.``fsdocs-repository-branch`` info.RepositoryBranch + param None ParamKeys.``fsdocs-repository-commit`` info.RepositoryCommit + ] + + let crackedProjects = + projectInfos + |> List.map (fun info -> + let substitutions = parametersForProjectInfo info + info.TargetPath.Value, + info.RepositoryUrl, + info.RepositoryBranch, + info.RepositoryType, + info.UsesMarkdownComments, + info.FsDocsWarnOnMissingDocs, + info.FsDocsSourceFolder, + info.FsDocsSourceRepository, + substitutions + ) + + let paths = [ for info in projectInfos -> Path.GetDirectoryName info.TargetPath.Value ] + + let docsParameters = parametersForProjectInfo projectInfoForDocs + + root, collectionName, crackedProjects, paths, docsParameters diff --git a/src/FSharp.Formatting.CommandTool/paket.references b/src/FSharp.Formatting.CommandTool/paket.references index 5c21b44ad..065f82422 100644 --- a/src/FSharp.Formatting.CommandTool/paket.references +++ b/src/FSharp.Formatting.CommandTool/paket.references @@ -2,5 +2,4 @@ FSharp.Core CommandLineParser Dotnet.ProjInfo Dotnet.ProjInfo.Workspace -Newtonsoft.Json Suave diff --git a/tests/FSharp.ApiDocs.Tests/ApiDocsTests.fs b/tests/FSharp.ApiDocs.Tests/ApiDocsTests.fs index 04088a75d..9544f8803 100644 --- a/tests/FSharp.ApiDocs.Tests/ApiDocsTests.fs +++ b/tests/FSharp.ApiDocs.Tests/ApiDocsTests.fs @@ -69,9 +69,9 @@ let ``ApiDocs works on sample Deedle assembly``() = let output = getOutputDir "Deedle" let input = - ApiDocInput.FromFile(library, mdcomments = true, + ApiDocInput.FromFile(library, mdcomments = true, sourceRepo = "https://github.com/fslaborg/Deedle/", - sourceFolder = "c:/dev/FSharp.DataFrame") + sourceFolder = "c:/dev/FSharp.DataFrame") let _model, _index = ApiDocs.GenerateHtml( [input], output, collectionName="Deedle", template=docTemplate, substitutions=substitutions, libDirs = [testBin]) let files = Directory.GetFiles(output "reference") @@ -86,7 +86,7 @@ let ``ApiDocs works on sample Deedle assembly``() = let ``ApiDocs works on sample FAKE assembly``() = let library = root "files" "FAKE" "FakeLib.dll" let output = getOutputDir "FakeLib" - let input = ApiDocInput.FromFile(library, mdcomments = true) + let input = ApiDocInput.FromFile(library, mdcomments = true) let _model, _index = ApiDocs.GenerateHtml( [input], output, collectionName="FAKE", template=docTemplate, substitutions=substitutions) let files = Directory.GetFiles(output "reference") files |> Seq.length |> shouldEqual 166 @@ -149,7 +149,7 @@ let ``ApiDocs works on two sample F# assemblies``() = files.["fslib-test_issue472_t.html"] |> shouldContainText "this.MultPartial arg1 arg2" *) - let indxTxt = searchIndex |> Newtonsoft.Json.JsonConvert.SerializeObject + let indxTxt = System.Text.Json.JsonSerializer.Serialize searchIndex // Test a few entries in the search index indxTxt |> shouldContainText "\"uri\"" @@ -229,7 +229,7 @@ let ``ApiDocs test that cref generation works``() = printfn "Output: %s" output let inputs = [ for lib in libraries -> - ApiDocInput.FromFile(lib, + ApiDocInput.FromFile(lib, sourceRepo = "https://github.com/fsprojects/FSharp.Formatting/tree/master", sourceFolder = (__SOURCE_DIRECTORY__ "../.."), mdcomments = false) ] @@ -313,7 +313,7 @@ let ``Math in XML generated ok``() = printfn "Output: %s" output let inputs = [ for lib in libraries -> - ApiDocInput.FromFile(lib, + ApiDocInput.FromFile(lib, sourceRepo = "https://github.com/fsprojects/FSharp.Formatting/tree/master", sourceFolder = (__SOURCE_DIRECTORY__ "../.."), mdcomments = false) ] @@ -515,7 +515,7 @@ let ``ApiDocs generates module link in nested types``() = files.["fslib-nested-submodule.html"] |> shouldContainText "" files.["fslib-nested-submodule-verynestedtype.html"] |> shouldContainText "Namespace:" files.["fslib-nested-submodule-verynestedtype.html"] |> shouldContainText "" - + // Check that the link to the module is correctly generated files.["fslib-nested-nestedtype.html"] |> shouldContainText "Parent Module:" files.["fslib-nested-nestedtype.html"] |> shouldContainText "" diff --git a/tests/FSharp.ApiDocs.Tests/paket.references b/tests/FSharp.ApiDocs.Tests/paket.references index 303f734e7..899714ffd 100644 --- a/tests/FSharp.ApiDocs.Tests/paket.references +++ b/tests/FSharp.ApiDocs.Tests/paket.references @@ -1,6 +1,5 @@ FSharp.Core FSharp.Compiler.Service -Newtonsoft.Json FsUnit NUnit NUnit3TestAdapter