diff --git a/.paket/Paket.Restore.targets b/.paket/Paket.Restore.targets deleted file mode 100644 index d93abfef97a..00000000000 --- a/.paket/Paket.Restore.targets +++ /dev/null @@ -1,363 +0,0 @@ - - - - - - - $(MSBuildAllProjects);$(MSBuildThisFileFullPath) - - true - $(MSBuildThisFileDirectory) - $(MSBuildThisFileDirectory)..\ - $(PaketRootPath)paket-files\paket.restore.cached - $(PaketRootPath)paket.lock - classic - proj - assembly - native - /Library/Frameworks/Mono.framework/Commands/mono - mono - - $(PaketToolsPath)paket - $(PaketRootPath)paket.exe - - $(PaketToolsPath)paket.exe - $(PaketToolsPath)paket.exe - $(PaketToolsPath)paket - - - <_PaketExeExtension>$([System.IO.Path]::GetExtension("$(PaketExePath)")) - dotnet "$(PaketExePath)" - "$(PaketExePath)" - $(MonoPath) --runtime=v4.0.30319 "$(PaketExePath)" - "$(PaketExePath)" - - $(PaketRootPath)paket.bootstrapper.exe - $(PaketToolsPath)paket.bootstrapper.exe - "$(PaketBootStrapperExePath)" - $(MonoPath) --runtime=v4.0.30319 "$(PaketBootStrapperExePath)" - - - - - true - true - - - - - - - - - - - true - $(NoWarn);NU1603;NU1604;NU1605;NU1608 - - - - - /usr/bin/shasum "$(PaketRestoreCacheFile)" | /usr/bin/awk '{ print $1 }' - /usr/bin/shasum "$(PaketLockFilePath)" | /usr/bin/awk '{ print $1 }' - - - - - - - - - - - - - - - - $([System.IO.File]::ReadAllText('$(PaketRestoreCacheFile)')) - $([System.IO.File]::ReadAllText('$(PaketLockFilePath)')) - true - false - true - - - - true - - - - - - - - - - - - - - - - $(MSBuildProjectDirectory)\obj\$(MSBuildProjectFile).paket.references.cached - - $(MSBuildProjectFullPath).paket.references - - $(MSBuildProjectDirectory)\$(MSBuildProjectName).paket.references - - $(MSBuildProjectDirectory)\paket.references - - false - true - true - references-file-or-cache-not-found - - - - - $([System.IO.File]::ReadAllText('$(PaketReferencesCachedFilePath)')) - $([System.IO.File]::ReadAllText('$(PaketOriginalReferencesFilePath)')) - references-file - false - - - - - false - - - - - true - target-framework '$(TargetFramework)' or '$(TargetFrameworks)' files @(PaketResolvedFilePaths) - - - - - - - - - - false - true - - - - - - - - - - - $([System.String]::Copy('%(PaketReferencesFileLines.Identity)').Split(',').Length) - $([System.String]::Copy('%(PaketReferencesFileLines.Identity)').Split(',')[0]) - $([System.String]::Copy('%(PaketReferencesFileLines.Identity)').Split(',')[1]) - $([System.String]::Copy('%(PaketReferencesFileLines.Identity)').Split(',')[4]) - $([System.String]::Copy('%(PaketReferencesFileLines.Identity)').Split(',')[5]) - - - %(PaketReferencesFileLinesInfo.PackageVersion) - All - runtime - runtime - true - - - - - $(MSBuildProjectDirectory)/obj/$(MSBuildProjectFile).paket.clitools - - - - - - - - - $([System.String]::Copy('%(PaketCliToolFileLines.Identity)').Split(',')[0]) - $([System.String]::Copy('%(PaketCliToolFileLines.Identity)').Split(',')[1]) - - - %(PaketCliToolFileLinesInfo.PackageVersion) - - - - - - - - - - false - $(MSBuildVersion) - 15.8.0 - - - - - - <_NuspecFilesNewLocation Include="$(BaseIntermediateOutputPath)$(Configuration)\*.nuspec"/> - - - - - - $(MSBuildProjectDirectory)/$(MSBuildProjectFile) - true - false - true - false - true - false - true - $(BaseIntermediateOutputPath)$(Configuration) - $(BaseIntermediateOutputPath) - - - - <_NuspecFiles Include="$(AdjustedNuspecOutputPath)\*.nuspec"/> - - - - - - - - - - - - - - - - - diff --git a/.paket/paket.bootstrapper.exe b/.paket/paket.bootstrapper.exe deleted file mode 100755 index b98e000b232..00000000000 Binary files a/.paket/paket.bootstrapper.exe and /dev/null differ diff --git a/NuGet.config b/NuGet.config index ecdfb0fef76..21032be48c8 100644 --- a/NuGet.config +++ b/NuGet.config @@ -3,5 +3,7 @@ + + \ No newline at end of file diff --git a/build.bat b/build.bat index 4d19111f83a..4956b4fd728 100644 --- a/build.bat +++ b/build.bat @@ -1,6 +1,2 @@ @echo off - -.paket\paket.bootstrapper.exe -IF EXIST paket.lock (.paket\paket.exe restore) -IF NOT EXIST paket.lock (.paket\paket.exe install) -"packages\build\FAKE\tools\Fake.exe" "build\\scripts\\Targets.fsx" "cmdline=%*" +dotnet run --project build/scripts -- %* \ No newline at end of file diff --git a/build.sh b/build.sh index 606b9350961..8c4d9c11140 100755 --- a/build.sh +++ b/build.sh @@ -1,8 +1,3 @@ #!/usr/bin/env bash -FAKE="packages/build/FAKE/tools/FAKE.exe" -BUILDSCRIPT="build/scripts/Targets.fsx" - -mono .paket/paket.bootstrapper.exe -if [[ -f paket.lock ]]; then mono .paket/paket.exe restore; fi -if [[ ! -f paket.lock ]]; then mono .paket/paket.exe install; fi -mono $FAKE $BUILDSCRIPT "cmdline=$*" --fsiargs -d:MONO +set -euo pipefail +dotnet run --project build/scripts -- "$@" diff --git a/build/scripts/Benchmarking.fs b/build/scripts/Benchmarking.fs new file mode 100644 index 00000000000..213d97e2f67 --- /dev/null +++ b/build/scripts/Benchmarking.fs @@ -0,0 +1,25 @@ +namespace Scripts + +open System.IO +open Commandline + +module Benchmarker = + + let private testsProjectDirectory = Path.GetFullPath(Paths.TestsSource("Tests.Benchmarking")) + + let Run args = + + let url = match args.CommandArguments with | Benchmark b -> Some b.Endpoint | _ -> None + let username = match args.CommandArguments with | Benchmark b -> b.Username | _ -> None + let password = match args.CommandArguments with | Benchmark b -> b.Password | _ -> None + let runInteractive = not args.NonInteractive + let credentials = (username, password) + let runCommandPrefix = "run -f netcoreapp2.1 -c Release" + let runCommand = + match (runInteractive, url, credentials) with + | (false, Some url, (Some username, Some password)) -> sprintf "%s -- --all \"%s\" \"%s\" \"%s\"" runCommandPrefix url username password + | (false, Some url, _) -> sprintf "%s -- --all \"%s\"" runCommandPrefix url + | (false, _, _) -> sprintf "%s -- --all" runCommandPrefix + | (true, _, _) -> runCommandPrefix + + Tooling.DotNet.ExecIn testsProjectDirectory [runCommand] |> ignore diff --git a/build/scripts/Benchmarking.fsx b/build/scripts/Benchmarking.fsx deleted file mode 100644 index 9a5a499b302..00000000000 --- a/build/scripts/Benchmarking.fsx +++ /dev/null @@ -1,32 +0,0 @@ -#I @"../../packages/build/FAKE/tools" -#r @"FakeLib.dll" -#nowarn "0044" //TODO sort out FAKE 5 - -#load @"Commandline.fsx" -#load @"Paths.fsx" - -open Fake -open System.IO -open Paths -open Commandline - -module Benchmarker = - - let private testsProjectDirectory = Path.GetFullPath(Paths.TestsSource("Tests.Benchmarking")) - - let Run() = - let runInteractive = not Commandline.nonInteractive - let url = getBuildParam "elasticsearch" - let username = getBuildParam "username" - let password = getBuildParam "password" - let hasUrl = not <| isNullOrEmpty url - let hasCredentials = not <| (isNullOrEmpty username && isNullOrEmpty password) - let runCommandPrefix = "run -f netcoreapp2.1 -c Release" - let runCommand = - match (runInteractive, hasUrl, hasCredentials) with - | (false, true, true) -> sprintf "%s -- --all \"%s\" \"%s\" \"%s\"" runCommandPrefix url username password - | (false, true, false) -> sprintf "%s -- --all \"%s\"" runCommandPrefix url - | (false, _, _) -> sprintf "%s -- --all" runCommandPrefix - | (true, _, _) -> runCommandPrefix - - DotNetCli.RunCommand(fun p -> { p with WorkingDir = testsProjectDirectory }) runCommand diff --git a/build/scripts/Building.fs b/build/scripts/Building.fs new file mode 100644 index 00000000000..2ddb2752a96 --- /dev/null +++ b/build/scripts/Building.fs @@ -0,0 +1,44 @@ +namespace Scripts + +open System +open System.IO + +open FSharp.Data + +open Paths +open Projects +open Tooling +open Versioning +open Fake.Core +open Fake.IO +open Commandline + +module Build = + + let Restore() = DotNet.Exec ["restore"; Solution; ] |> ignore + + let Compile args (ArtifactsVersion(version)) = + let sourceLink = if args.DoSourceLink then "1" else "" + let props = + [ + "CurrentVersion", (version.Full.ToString()); + "CurrentAssemblyVersion", (version.Assembly.ToString()); + "CurrentAssemblyFileVersion", (version.AssemblyFile.ToString()); + "DoSourceLink", sourceLink; + "FakeBuild", "1"; + "OutputPathBaseDir", Path.GetFullPath Paths.BuildOutput; + ] + |> List.map (fun (p,v) -> sprintf "%s=%s" p v) + |> String.concat ";" + |> sprintf "/property:%s" + + DotNet.Exec ["build"; Solution; "-c"; "Release"; props] |> ignore + + + let Clean () = + printfn "Cleaning known output folders" + Shell.cleanDir Paths.BuildOutput + DotNet.Exec ["clean"; Solution; "-c"; "Release"] |> ignore + DotNetProject.All |> Seq.iter(fun p -> Shell.cleanDir (Paths.BinFolder p.Name)) + + \ No newline at end of file diff --git a/build/scripts/Building.fsx b/build/scripts/Building.fsx deleted file mode 100644 index 81160354829..00000000000 --- a/build/scripts/Building.fsx +++ /dev/null @@ -1,122 +0,0 @@ -#I @"../../packages/build/FAKE/tools" -#I @"../../packages/build/FSharp.Data/lib/net45" -#r @"FakeLib.dll" -#r @"FSharp.Data.dll" -#nowarn "0044" //TODO sort out FAKE 5 - -#load @"Paths.fsx" -#load @"Tooling.fsx" -#load @"Versioning.fsx" - -open System -open System.IO -open Fake -open FSharp.Data - -open Paths -open Projects -open Tooling -open Versioning - -module Build = - - let private runningRelease = hasBuildParam "version" || hasBuildParam "apikey" || getBuildParam "target" = "canary" || getBuildParam "target" = "release" - - type private GlobalJson = JsonProvider<"../../global.json", InferTypesFromValues=false> - let private pinnedSdkVersion = GlobalJson.GetSample().Sdk.Version - if isMono then setProcessEnvironVar "TRAVIS" "true" - let private buildingOnTravis = getEnvironmentVarAsBool "TRAVIS" - - let private sln = "src/Elasticsearch.sln" - - let private compileCore incremental = - if not (DotNetCli.isInstalled()) then failwith "You need to install the dotnet command line SDK to build for .NET Core" - let sourceLink = if not incremental && not isMono && runningRelease then "1" else "" - let props = - [ - "CurrentVersion", (Versioning.CurrentVersion.ToString()); - "CurrentAssemblyVersion", (Versioning.CurrentAssemblyVersion.ToString()); - "CurrentAssemblyFileVersion", (Versioning.CurrentAssemblyFileVersion.ToString()); - "DoSourceLink", sourceLink; - "FakeBuild", "1"; - "OutputPathBaseDir", Path.GetFullPath Paths.BuildOutput; - ] - |> List.map (fun (p,v) -> sprintf "%s=%s" p v) - |> String.concat ";" - |> sprintf "/property:%s" - - DotNetCli.Build - (fun p -> - { p with - Configuration = "Release" - Project = sln - TimeOut = TimeSpan.FromMinutes(5.) - AdditionalArgs = [props] - } - ) |> ignore - - let Restore() = - DotNetCli.Restore - (fun p -> - { p with - Project = sln - TimeOut = TimeSpan.FromMinutes(5.) - } - ) |> ignore - - let Compile incremental = - compileCore incremental - - let Clean() = - tracefn "Cleaning known output folders" - CleanDir Paths.BuildOutput - DotNetCli.RunCommand (fun p -> { p with TimeOut = TimeSpan.FromMinutes(5.) }) "clean src/Elasticsearch.sln -c Release" |> ignore - DotNetProject.All |> Seq.iter(fun p -> CleanDir(Paths.BinFolder p.Name)) - - let private assemblyRewriter = Paths.PaketDotNetGlobalTool "assembly-rewriter" @"tools\netcoreapp2.1\any\assembly-rewriter.dll" - let private keyFile = Paths.Keys "keypair.snk" - let Rewrite version framework projects = - let project = projects |> Seq.head - let folder = Paths.ProjectOutputFolder project framework - - let dllFullPath name = sprintf "%s/%s.dll" folder name - let outputName (p: DotNetProject) = match p.Name = project.Name with | true -> p.Name | _ -> p.InternalName - let fullOutput (p: DotNetProject) = dllFullPath (p.Versioned (outputName p) version) - let dlls = - projects - |> Seq.map (fun p -> sprintf @"-i ""%s"" -o ""%s"" " (dllFullPath p.Name) (fullOutput p)) - |> Seq.fold (+) " " - - let mergeCommand = sprintf @"%s %s" assemblyRewriter dlls - DotNetCli.RunCommand (fun p -> { p with TimeOut = TimeSpan.FromMinutes(3.) }) mergeCommand |> ignore - - let mergedOutFile = fullOutput project - let ilMergeArgs = [ - "/internalize"; - (sprintf "/lib:%s" folder); - (sprintf "/keyfile:%s" keyFile); - (sprintf "/out:%s" mergedOutFile) - ] - let mergeDlls = - projects - |> Seq.filter (fun p -> p.Name = project.Name || not <| (DotNetProject.AllPublishable |> Seq.contains p)) - |> Seq.map fullOutput - match project.NeedsMerge with - | true -> Tooling.ILRepack.Exec (ilMergeArgs |> Seq.append mergeDlls) |> ignore - | _ -> Tooling.ILRepack.Exec (ilMergeArgs |> Seq.append [mergeDlls |> Seq.head]) |> ignore - - let private ilRepackInternal() = - let fw = DotNetFramework.All - let projects = DotNetProject.AllPublishable - let currentMajor = sprintf "%i" <| Versioning.CurrentVersion.Major - for f in fw do - for p in projects do - if p.VersionedMergeDependencies <> [] then Rewrite (Some currentMajor) f p.VersionedMergeDependencies - if p.MergeDependencies <> [] then Rewrite None f p.MergeDependencies - - let ILRepack() = - //ilrepack on mono crashes pretty hard on my machine - match isMono with - | true -> ignore() - | false -> ilRepackInternal() - \ No newline at end of file diff --git a/build/scripts/Cluster.fs b/build/scripts/Cluster.fs new file mode 100644 index 00000000000..6f8cbf766ce --- /dev/null +++ b/build/scripts/Cluster.fs @@ -0,0 +1,37 @@ +namespace Scripts + +open System +open System.IO +open Fake.Core +open Fake.IO +open Commandline + +module Cluster = + + let Run args = + let clusterName = Option.defaultValue "" <| match args.CommandArguments with | Cluster c -> Some c.Name | _ -> None + let clusterVersion = Option.defaultValue "" <|match args.CommandArguments with | Cluster c -> c.Version | _ -> None + + let testsProjectDirectory = Path.Combine(Path.GetFullPath(Paths.Output("Tests.ClusterLauncher")), "netcoreapp2.1") + let tempDir = Path.Combine(Path.GetTempPath(), Path.GetRandomFileName()); + + let sourceDir = Paths.Source("Tests/Tests.Configuration"); + let defaultYaml = Path.Combine(sourceDir, "tests.default.yaml"); + let userYaml = Path.Combine(sourceDir, "tests.yaml"); + let e f = File.Exists f; + match ((e userYaml), (e defaultYaml)) with + | (true, _) -> Environment.setEnvironVar "NEST_YAML_FILE" (Path.GetFullPath(userYaml)) + | (_, true) -> Environment.setEnvironVar "NEST_YAML_FILE" (Path.GetFullPath(defaultYaml)) + | _ -> failwithf "Expected to find a tests.default.yaml or tests.yaml in %s" sourceDir + + printfn "%s" testsProjectDirectory + + Shell.copyDir tempDir testsProjectDirectory (fun s -> true) + + let command = sprintf "%s %s" clusterName clusterVersion + let timeout = TimeSpan.FromMinutes(120.) + let dll = Path.Combine(tempDir, "Tests.ClusterLauncher.dll"); + Tooling.DotNet.ExecInWithTimeout tempDir [dll; command] timeout |> ignore + + Shell.deleteDir tempDir + diff --git a/build/scripts/Commandline.fs b/build/scripts/Commandline.fs new file mode 100644 index 00000000000..996c46ac21a --- /dev/null +++ b/build/scripts/Commandline.fs @@ -0,0 +1,251 @@ +namespace Scripts + +open System +open System.Runtime.InteropServices +open Fake.Core + +//this is ugly but a direct port of what used to be duplicated in our DOS and bash scripts +module Commandline = + + let private usage = """ +USAGE: + +build [params] [skiptests] + +Targets: + +* build-all + - default target if non provided. Performs rebuild and tests all TFM's +* clean + - cleans build output folders +* test [testfilter] + - incremental build and unit test for .NET 4.5, [testfilter] allows you to do a contains match on the tests to be run. +* release + - 0 create a release worthy nuget packages for [version] under build\output +* integrate [clustername] [testfilter] + - run integration tests for which is a semicolon separated list of + elasticsearch versions to test or `latest`. Can filter tests by and +* canary + - create a canary nuget package based on the current version. +* diff <..args> + - runs assembly-differ with the specified arguments + see: https://github.com/nullean/AssemblyDiffer#differ +* cluster [version] + - Start a cluster defined in Tests.Core or Tests from the command line and leaves it running + untill a key is pressed. Handy if you want to run the integration tests numerous times while developing +* benchmark [non-interactive] [url] [username] [password] + - Runs a benchmark from Tests.Benchmarking and indexes the results to [url] when provided. + If non-interactive runs all benchmarks without prompting + +NOTE: both the `test` and `integrate` targets can be suffixed with `-all` to force the tests against all suported TFM's + +Execution hints can be provided anywhere on the command line +- skiptests : skip running tests as part of the target chain +- skipdocs : skip generating documentation +- non-interactive : make targets that run in interactive mode by default to run unassisted. +- docs: : the branch name B to use when generating documentation +- seed: : provide a seed to run the tests with. +- random:<:B> : sets random K to bool B if if B is omitted will default to true + K can be: sourceserializer, typedkeys or oldconnection (only valid on windows) +""" + + let private (|IsUrl|_|) (candidate:string) = + match Uri.TryCreate(candidate, UriKind.RelativeOrAbsolute) with + | true, _ -> Some candidate + | _ -> None + + let private (|IsDiff|_|) (candidate:string) = + let c = candidate.ToLowerInvariant() + match c with + | "github" | "nuget" | "directories" | "assemblies" -> Some c + | _ -> failwith (sprintf "Unknown diff type: %s" candidate) + + let private (|IsProject|_|) (candidate:string) = + let c = candidate.ToLowerInvariant() + match c with + | "nest" | "elasticsearch.net" | "nest.jsonnetserializer" -> Some c + | _ -> None + + let private (|IsFormat|_|) (candidate:string) = + let c = candidate.ToLowerInvariant() + match c with + | "xml" | "markdown" | "asciidoc" -> Some c + | _ -> None + + type MultiTarget = All | One + + type VersionArguments = { Version: string; } + type TestArguments = { TestFilter: string option; } + type IntegrationArguments = { TestFilter: string option; ClusterFilter: string option; ElasticsearchVersions: string list; } + + type BenchmarkArguments = { Endpoint: string; Username: string option; Password: string option; } + type ClusterArguments = { Name: string; Version: string option; } + type CommandArguments = + | Unknown + | SetVersion of VersionArguments + | Test of TestArguments + | Integration of IntegrationArguments + | Benchmark of BenchmarkArguments + | Cluster of ClusterArguments + + type PassedArguments = { + NonInteractive: bool; + SkipTests: bool; + SkipDocs: bool; + Seed: string; + RandomArguments: string list; + DocsBranch: string; + RemainingArguments: string list; + MultiTarget: MultiTarget; + Target: string; + ValidMonoTarget: bool; + NeedsFullBuild: bool; + NeedsClean: bool; + DoSourceLink: bool; + + CommandArguments: CommandArguments; + } + + //TODO RENAME to notWindows + let isMono = + RuntimeInformation.IsOSPlatform(OSPlatform.Linux) || + RuntimeInformation.IsOSPlatform(System.Runtime.InteropServices.OSPlatform.OSX) + + let runningOnCi = Environment.hasEnvironVar "TF_BUILD" || Environment.hasEnvironVar "APPVEYOR_BUILD_VERSION" + + let parse (args: string list) = + + let filteredArgs = + args + |> List.filter(fun x -> + x <> "skiptests" && + x <> "skipdocs" && + x <> "non-interactive" && + not (x.StartsWith("seed:")) && + not (x.StartsWith("random:")) && + not (x.StartsWith("docs:"))) + let target = + match (filteredArgs |> List.tryHead) with + | Some t -> t.Replace("-one", "") + | _ -> "build" + let skipTests = args |> List.exists (fun x -> x = "skiptests") + + let parsed = { + NonInteractive = args |> List.exists (fun x -> x = "non-interactive") + SkipTests = skipTests + SkipDocs = args |> List.exists (fun x -> x = "skipdocs") || isMono + Seed = + match args |> List.tryFind (fun x -> x.StartsWith("seed:")) with + | Some t -> t.Replace("seed:", "") + | _ -> "" + RandomArguments = + args + |> List.filter (fun x -> (x.StartsWith("random:"))) + |> List.map (fun x -> (x.Replace("random:", ""))) + DocsBranch = + match args |> List.tryFind (fun x -> x.StartsWith("docs:")) with + | Some t -> t.Replace("docs:", "") + | _ -> "" + RemainingArguments = filteredArgs + MultiTarget = + match (filteredArgs |> List.tryHead) with + | Some t when t.EndsWith("-one") -> MultiTarget.One + | _ -> MultiTarget.All + Target = + match (filteredArgs |> List.tryHead) with + | Some t -> t.Replace("-one", "") + | _ -> "build" + ValidMonoTarget = + match target with + | "release" + | "canary" -> false + | _ -> true + NeedsFullBuild = + match (target, skipTests) with + | (_, true) -> true + //dotnet-xunit needs to a build of its own anyways + | ("test", _) + | ("integrate", _) -> false + | _ -> true; + NeedsClean = + match (target, skipTests) with + | ("release", _) -> true + //dotnet-xunit needs to a build of its own anyways + | ("test", _) + | ("cluster", _) + | ("integrate", _) + | ("build", _) -> false + | _ -> true; + CommandArguments = Unknown + DoSourceLink = false + } + + let arguments = + match filteredArgs with + | _ :: tail -> target :: tail + | [] -> [target] + + let split (s:string) = s.Split ',' |> Array.toList + + match arguments with + | [] | ["build"] | ["test"] | ["clean"] | ["benchmark"] | ["profile"] -> parsed + | ["touch"; ] -> parsed + | ["temp"; ] -> parsed + | "diff" :: tail -> { parsed with RemainingArguments = tail } + | ["canary"; ] -> parsed + + | ["release"; version] -> { parsed with CommandArguments = SetVersion { Version = version } } + + | ["test"; testFilter] -> { parsed with CommandArguments = Test { TestFilter = Some testFilter } } + + | ["benchmark"; IsUrl elasticsearch; username; password] -> + { + parsed with CommandArguments = Benchmark { + Endpoint = elasticsearch; + Username = Some username; + Password = Some password; + } + } + | ["benchmark"; IsUrl elasticsearch] -> + { + parsed with CommandArguments = Benchmark { + Endpoint = elasticsearch; + Username = None + Password = None + } + } + + | ["integrate"; esVersions] -> + { + parsed with CommandArguments = Integration { + ElasticsearchVersions = split esVersions; ClusterFilter = None; TestFilter = None + } + } + | ["integrate"; esVersions; clusterFilter] -> + { + parsed with CommandArguments = Integration { + ElasticsearchVersions = split esVersions; + ClusterFilter = Some clusterFilter; + TestFilter = None + } + } + | ["integrate"; esVersions; clusterFilter; testFilter] -> + { + parsed with CommandArguments = Integration { + ElasticsearchVersions = split esVersions; + ClusterFilter = Some clusterFilter + TestFilter = Some testFilter + } + } + + | ["cluster"; clusterName] -> + { + parsed with CommandArguments = Cluster { Name = clusterName; Version = None } + } + | ["cluster"; clusterName; clusterVersion] -> + { + parsed with CommandArguments = Cluster { Name = clusterName; Version = Some clusterVersion } + } + | _ -> + eprintf "%s" usage + failwith "Please consult printed help text on how to call our build" diff --git a/build/scripts/Commandline.fsx b/build/scripts/Commandline.fsx deleted file mode 100644 index a0a11e7a19b..00000000000 --- a/build/scripts/Commandline.fsx +++ /dev/null @@ -1,209 +0,0 @@ -#I @"../../packages/build/FAKE/tools" -#r @"FakeLib.dll" -#nowarn "0044" //TODO sort out FAKE 5 - -open System -open Fake - -//this is ugly but a direct port of what used to be duplicated in our DOS and bash scripts - -let private usage = """ -USAGE: - -build [params] [skiptests] - -Targets: - -* build-all - - default target if non provided. Performs rebuild and tests all TFM's -* clean - - cleans build output folders -* test [testfilter] - - incremental build and unit test for .NET 4.5, [testfilter] allows you to do a contains match on the tests to be run. -* release - - 0 create a release worthy nuget packages for [version] under build\output -* integrate [clustername] [testfilter] - - run integration tests for which is a semicolon separated list of - elasticsearch versions to test or `latest`. Can filter tests by and -* canary - - create a canary nuget package based on the current version. -* diff <..args> - - runs assembly-differ with the specified arguments - see: https://github.com/nullean/AssemblyDiffer#differ -* cluster [version] - - Start a cluster defined in Tests.Core or Tests from the command line and leaves it running - untill a key is pressed. Handy if you want to run the integration tests numerous times while developing -* benchmark [non-interactive] [url] [username] [password] - - Runs a benchmark from Tests.Benchmarking and indexes the results to [url] when provided. - If non-interactive runs all benchmarks without prompting - -NOTE: both the `test` and `integrate` targets can be suffixed with `-all` to force the tests against all suported TFM's - -Execution hints can be provided anywhere on the command line -- skiptests : skip running tests as part of the target chain -- skipdocs : skip generating documentation -- non-interactive : make targets that run in interactive mode by default to run unassisted. -- docs: : the branch name B to use when generating documentation -- seed: : provide a seed to run the tests with. -- random:<:B> : sets random K to bool B if if B is omitted will default to true - K can be: sourceserializer, typedkeys or oldconnection (only valid on windows) -""" - -module Commandline = - type MultiTarget = All | One - - let private args = getBuildParamOrDefault "cmdline" "build" |> split ' ' - - let nonInteractive = args |> List.exists (fun x -> x = "non-interactive") - let skipTests = args |> List.exists (fun x -> x = "skiptests") - let skipDocs = args |> List.exists (fun x -> x = "skipdocs") || isMono - let seed = - match args |> List.tryFind (fun x -> x.StartsWith("seed:")) with - | Some t -> t.Replace("seed:", "") - | _ -> "" - - let randomArgs = - args - |> List.filter (fun x -> (x.StartsWith("random:"))) - |> List.map (fun x -> (x.Replace("random:", ""))) - - let docsBranch = - match args |> List.tryFind (fun x -> x.StartsWith("docs:")) with - | Some t -> t.Replace("docs:", "") - | _ -> "" - - let private filteredArgs = - args - |> List.filter ( - fun x -> - x <> "skiptests" && - x <> "skipdocs" && - x <> "non-interactive" && - not (x.StartsWith("seed:")) && - not (x.StartsWith("random:")) && - not (x.StartsWith("docs:")) - ) - - let multiTarget = - match (filteredArgs |> List.tryHead) with - | Some t when t.EndsWith("-one") -> MultiTarget.One - | _ -> MultiTarget.All - - let target = - match (filteredArgs |> List.tryHead) with - | Some t -> t.Replace("-one", "") - | _ -> "build" - - let validMonoTarget = - match target with - | "release" - | "canary" -> false - | _ -> true - - let needsFullBuild = - match (target, skipTests) with - | (_, true) -> true - //dotnet-xunit needs to a build of its own anyways - | ("test", _) - | ("cluster", _) - | ("integrate", _) -> false - | _ -> true - - let needsClean = - match (target, skipTests) with - | ("release", _) -> true - //dotnet-xunit needs to a build of its own anyways - | ("test", _) - | ("cluster", _) - | ("integrate", _) - | ("build", _) -> false - | _ -> true - - let arguments = - match filteredArgs with - | _ :: tail -> target :: tail - | [] -> [target] - - let private (|IsUrl|_|) (candidate:string) = - match Uri.TryCreate(candidate, UriKind.RelativeOrAbsolute) with - | true, _ -> Some candidate - | _ -> None - - let private (|IsDiff|_|) (candidate:string) = - let c = candidate |> toLower - match c with - | "github" | "nuget" | "directories" | "assemblies" -> Some c - | _ -> failwith (sprintf "Unknown diff type: %s" candidate) - - let private (|IsProject|_|) (candidate:string) = - let c = candidate |> toLower - match c with - | "nest" | "elasticsearch.net" | "nest.jsonnetserializer" -> Some c - | _ -> None - - let private (|IsFormat|_|) (candidate:string) = - let c = candidate |> toLower - match c with - | "xml" | "markdown" | "asciidoc" -> Some c - | _ -> None - - let parse () = - setEnvironVar "FAKEBUILD" "1" - printfn "%A" arguments - match arguments with - | [] | ["build"] | ["test"] | ["clean"] | ["benchmark"] | ["profile"] -> ignore() - | ["release"; version] -> setBuildParam "version" version - - | ["test"; testFilter] -> setBuildParam "testfilter" testFilter - - | ["benchmark"; IsUrl elasticsearch; username; password] -> - setBuildParam "elasticsearch" elasticsearch - setBuildParam "username" username - setBuildParam "password" password - | ["benchmark"; IsUrl elasticsearch] -> - setBuildParam "elasticsearch" elasticsearch - - | ["profile"; IsUrl elasticsearch] -> - setBuildParam "elasticsearch" elasticsearch - - | ["profile"; esVersions] -> - setBuildParam "esversions" esVersions - - | ["profile"; esVersions; testFilter] -> - setBuildParam "esversions" esVersions - setBuildParam "testfilter" testFilter - - | ["integrate"; esVersions] -> setBuildParam "esversions" esVersions - | ["integrate"; esVersions; clusterFilter] -> - setBuildParam "esversions" esVersions - setBuildParam "clusterfilter" clusterFilter - | ["integrate"; esVersions; clusterFilter; testFilter] -> - setBuildParam "esversions" esVersions - setBuildParam "clusterfilter" clusterFilter - setBuildParam "testfilter" testFilter - - | ["connectionreuse"; esVersions] -> - setBuildParam "esversions" esVersions - setBuildParam "clusterfilter" "ConnectionReuse" - | ["connectionreuse"; esVersions; numberOfConnections] -> - setBuildParam "esversions" esVersions - setBuildParam "clusterfilter" "ConnectionReuse" - setBuildParam "numberOfConnections" numberOfConnections - - | ["cluster"; clusterName] -> - setBuildParam "clusterName" clusterName - setBuildParam "clusterVersion" "" - | ["cluster"; clusterName; clusterVersion] -> - setBuildParam "clusterName" clusterName - setBuildParam "clusterVersion" clusterVersion - - | ["touch"; ] -> ignore() - | ["temp"; ] -> ignore() - | "diff" :: tail -> ignore() - | ["canary"; ] -> ignore() - | _ -> - traceError usage - exit 2 - - setBuildParam "target" (if target = "connectionreuse" then "integrate" else target) - traceHeader target diff --git a/build/scripts/Differ.fs b/build/scripts/Differ.fs new file mode 100644 index 00000000000..c2a5fb22967 --- /dev/null +++ b/build/scripts/Differ.fs @@ -0,0 +1,16 @@ +namespace Scripts + +open System +open System.IO +open Fake.Core +open Fake.IO +open Commandline + +module Differ = + + let Run args = + let differ = "assembly-differ" + let args = args.RemainingArguments |> String.concat " " + let command = sprintf @"%s %s -o ../../%s" differ args Paths.BuildOutput + Environment.setEnvironVar "NUGET" Tooling.nugetFile + Tooling.DotNet.ExecIn Paths.TargetsFolder [command] |> ignore diff --git a/build/scripts/Documentation.fsx b/build/scripts/Documentation.fs similarity index 50% rename from build/scripts/Documentation.fsx rename to build/scripts/Documentation.fs index 80846024393..a0421edbaec 100644 --- a/build/scripts/Documentation.fsx +++ b/build/scripts/Documentation.fs @@ -1,36 +1,26 @@ -#I @"../../packages/build/FAKE/tools" -#r @"FakeLib.dll" -#nowarn "0044" //TODO sort out FAKE 5 - -#load @"Paths.fsx" -#load @"Commandline.fsx" +namespace Scripts open System.IO -open Fake - open Paths open Projects open Commandline module Documentation = - let Generate() = + let Generate args = let docGenerator = PrivateProject(DocGenerator) let path = Paths.ProjectOutputFolder docGenerator DotNetFramework.NetCoreApp2_1 - let generator = sprintf "%s.dll %s" docGenerator.Name Commandline.docsBranch + let generator = sprintf "%s.dll" docGenerator.Name - DotNetCli.RunCommand(fun p -> - { p with - WorkingDir = path - }) generator + Tooling.DotNet.ExecIn path [generator; args.DocsBranch] |> ignore // TODO: hook documentation validation into the process let Validate() = let elasticDocsDir = "../elasticsearch-docs" - if (directoryExists elasticDocsDir = false) then - let fullPath = combinePaths currentDirectory elasticDocsDir |> Path.GetFullPath - traceFAKE "No elasticsearch docs repo found at %s. Cannot validate generated documentation" fullPath + if (Directory.Exists elasticDocsDir = false) then + let fullPath = Path.Combine(Directory.GetCurrentDirectory(), elasticDocsDir) |> Path.GetFullPath + printfn "No elasticsearch docs repo found at %s. Cannot validate generated documentation" fullPath //else // Needs to be able to run the build_docs.pl perl script. The best options on Windows for this // are Cygwin or Linux Bash for Windows. diff --git a/build/scripts/Paths.fsx b/build/scripts/Paths.fs similarity index 83% rename from build/scripts/Paths.fsx rename to build/scripts/Paths.fs index 1cf79adfdae..a9c79653e83 100644 --- a/build/scripts/Paths.fsx +++ b/build/scripts/Paths.fs @@ -1,51 +1,47 @@ -#I @"../../packages/build/FAKE/tools" -#r @"FakeLib.dll" -#r @"System.IO.Compression.FileSystem.dll" - -#load @"Projects.fsx" - -open Fake -open Projects - - -module Paths = - - let OwnerName = "elastic" - let RepositoryName = "elasticsearch-net" - let Repository = sprintf "https://github.com/%s/%s" OwnerName RepositoryName - - let BuildFolder = "build" - let BuildOutput = sprintf "%s/output" BuildFolder - - let ProjectOutputFolder (project:DotNetProject) (framework:DotNetFramework) = - sprintf "%s/%s/%s" BuildOutput project.Name framework.Identifier.Nuget - - let Tool tool = sprintf "packages/build/%s" tool - let CheckedInToolsFolder = "build/Tools" - let KeysFolder = sprintf "%s/keys" BuildFolder - let NugetOutput = sprintf "%s/_packages" BuildOutput - let SourceFolder = "src" - - let CheckedInTool(tool) = sprintf "%s/%s" CheckedInToolsFolder tool - let PaketDotNetGlobalTool tool subPath = sprintf "%s/%s" (Tool tool) subPath - let Keys(keyFile) = sprintf "%s/%s" KeysFolder keyFile - let Output(folder) = sprintf "%s/%s" BuildOutput folder - let Source(folder) = sprintf "%s/%s" SourceFolder folder - let TestsSource(folder) = sprintf "%s/Tests/%s" SourceFolder folder - let Build(folder) = sprintf "%s/%s" BuildFolder folder - - let ProjFile(project:DotNetProject) = - match project with - | Project p -> - match p with - | NestJsonNetSerializer -> sprintf "%s/Serializers/%s/%s.csproj" SourceFolder project.Name project.Name - | _ -> sprintf "%s/%s/%s.csproj" SourceFolder project.Name project.Name - | PrivateProject p -> - match p with - | Tests -> sprintf "%s/%s/%s.csproj" SourceFolder project.Name project.Name - | DocGenerator -> sprintf "%s/CodeGeneration/%s/%s.csproj" SourceFolder project.Name project.Name - | _ -> null - - let BinFolder(folder) = - let f = replace @"\" "/" folder - sprintf "%s/%s/bin/Release" SourceFolder f +namespace Scripts + +open Projects + +module Paths = + + let OwnerName = "elastic" + let RepositoryName = "elasticsearch-net" + let Repository = sprintf "https://github.com/%s/%s" OwnerName RepositoryName + + let BuildFolder = "build" + let TargetsFolder = "build/scripts" + let BuildOutput = sprintf "%s/output" BuildFolder + + let ProjectOutputFolder (project:DotNetProject) (framework:DotNetFramework) = + sprintf "%s/%s/%s" BuildOutput project.Name framework.Identifier.Nuget + + let Tool tool = sprintf "packages/build/%s" tool + let CheckedInToolsFolder = "build/Tools" + let KeysFolder = sprintf "%s/keys" BuildFolder + let NugetOutput = sprintf "%s/_packages" BuildOutput + let SourceFolder = "src" + + let Solution = "src/Elasticsearch.sln" + + let CheckedInTool(tool) = sprintf "%s/%s" CheckedInToolsFolder tool + let Keys(keyFile) = sprintf "%s/%s" KeysFolder keyFile + let Output(folder) = sprintf "%s/%s" BuildOutput folder + let Source(folder) = sprintf "%s/%s" SourceFolder folder + let TestsSource(folder) = sprintf "%s/Tests/%s" SourceFolder folder + let Build(folder) = sprintf "%s/%s" BuildFolder folder + + let ProjFile(project:DotNetProject) = + match project with + | Project p -> + match p with + | NestJsonNetSerializer -> sprintf "%s/Serializers/%s/%s.csproj" SourceFolder project.Name project.Name + | _ -> sprintf "%s/%s/%s.csproj" SourceFolder project.Name project.Name + | PrivateProject p -> + match p with + | Tests -> sprintf "%s/%s/%s.csproj" SourceFolder project.Name project.Name + | DocGenerator -> sprintf "%s/CodeGeneration/%s/%s.csproj" SourceFolder project.Name project.Name + | _ -> null + + let BinFolder (folder:string) = + let f = folder.Replace(@"\", "/") + sprintf "%s/%s/bin/Release" SourceFolder f diff --git a/build/scripts/Projects.fsx b/build/scripts/Projects.fs similarity index 91% rename from build/scripts/Projects.fsx rename to build/scripts/Projects.fs index ac0a958f494..3625e3986f6 100644 --- a/build/scripts/Projects.fsx +++ b/build/scripts/Projects.fs @@ -1,4 +1,6 @@ -[] +namespace Scripts + +[] module Projects = type DotNetFrameworkIdentifier = { MSBuild: string; Nuget: string; DefineConstants: string; } @@ -65,7 +67,11 @@ module Projects = | PrivateProject DocGenerator -> "DocGenerator" | DepencyProject JsonNet -> "Newtonsoft.Json" - member this.NugetId = match this with | Project Nest -> "NEST" | _ -> this.Name + member this.NugetId = + match this with + | Project Nest -> "NEST" + | Project NestJsonNetSerializer -> "NEST.JsonNetSerializer" + | _ -> this.Name member this.NeedsMerge = match this with | Project NestJsonNetSerializer -> false | _ -> true @@ -76,8 +82,8 @@ module Projects = member this.InternalName = match this with - | Project p -> this.Name - | PrivateProject p -> sprintf "Elastic.Internal.%s" this.Name + | Project _ -> this.Name + | PrivateProject _ -> sprintf "Elastic.Internal.%s" this.Name | DepencyProject JsonNet -> "Elastic.Internal.JsonNet" static member TryFindName (name: string) = diff --git a/build/scripts/ReleaseNotes.fs b/build/scripts/ReleaseNotes.fs new file mode 100644 index 00000000000..5c5de979037 --- /dev/null +++ b/build/scripts/ReleaseNotes.fs @@ -0,0 +1,75 @@ +namespace Scripts + +open System.Collections.Generic +open System.Linq +open System.IO +open Octokit +open Versioning + +module ReleaseNotes = + + let private generateNotes newVersion oldVersion = + let label = sprintf "v%O" newVersion.Full + let releaseNotes = sprintf "ReleaseNotes-%O.md" newVersion.Full |> Paths.Output + let client = new GitHubClient(new ProductHeaderValue("ReleaseNotesGenerator")) + client.Credentials <- Credentials.Anonymous + + let filter = new RepositoryIssueRequest() + filter.Labels.Add label + filter.State <- ItemStateFilter.Closed + + let labelHeaders = + [("Feature", "Features & Enhancements"); + ("Bug", "Bug Fixes"); + ("Deprecation", "Deprecations"); + ("Uncategorized", "Uncategorized");] + |> Map.ofList + + let groupByLabel (issues:IReadOnlyList) = + let dict = new Dictionary() + for issue in issues do + let mutable categorized = false + for labelHeader in labelHeaders do + if issue.Labels.Any(fun l -> l.Name = labelHeader.Key) then + let exists,list = dict.TryGetValue(labelHeader.Key) + match exists with + | true -> dict.[labelHeader.Key] <- issue :: list + | false -> dict.Add(labelHeader.Key, [issue]) + categorized <- true + + if (categorized = false) then + let label = "Uncategorized" + let exists,list = dict.TryGetValue(label) + match exists with + | true -> + match List.tryFind(fun (i:Issue)-> i.Number = issue.Number) list with + | Some _ -> () + | None -> dict.[label] <- issue :: list + | false -> dict.Add(label, [issue]) + dict + + let closedIssues = client.Issue.GetAllForRepository(Paths.OwnerName, Paths.RepositoryName, filter) + |> Async.AwaitTask + |> Async.RunSynchronously + |> groupByLabel + + use file = File.OpenWrite <| releaseNotes + use writer = new StreamWriter(file) + writer.WriteLine(sprintf "%s/compare/%O...%O" Paths.Repository oldVersion.Full newVersion.Full) + writer.WriteLine() + for closedIssue in closedIssues do + labelHeaders.[closedIssue.Key] |> sprintf "## %s" |> writer.WriteLine + writer.WriteLine() + for issue in closedIssue.Value do + sprintf "- #%i %s" issue.Number issue.Title |> writer.WriteLine + writer.WriteLine() + + sprintf "### [View the full list of issues and PRs](%s/issues?utf8=%%E2%%9C%%93&q=label%%3A%s)" Paths.Repository label + |> writer.WriteLine + + let GenerateNotes version = + match version with + | NoChange _ -> failwith "Can not generate release notes if no new version was specified" + | Update (newVersion, oldVersion) -> generateNotes newVersion oldVersion + + diff --git a/build/scripts/Releasing.fsx b/build/scripts/Releasing.fs similarity index 50% rename from build/scripts/Releasing.fsx rename to build/scripts/Releasing.fs index a2d33742cb4..611adcf11b5 100644 --- a/build/scripts/Releasing.fsx +++ b/build/scripts/Releasing.fs @@ -1,15 +1,6 @@ -#I @"../../packages/build/Octokit/lib/net45" -#r @"FakeLib.dll" -#r "Octokit.dll" -#nowarn "0044" //TODO sort out FAKE 5 - -#load @"Projects.fsx" -#load @"Paths.fsx" -#load @"Tooling.fsx" -#load @"Versioning.fsx" +namespace Scripts open System -open System.Collections.Generic open System.IO open System.Linq open System.Text @@ -18,16 +9,14 @@ open System.Xml.Linq open System.Xml.XPath open Microsoft.FSharp.Quotations open Microsoft.FSharp.Quotations.Patterns -open Fake -open Octokit -open Paths open Projects -open Tooling open Versioning module Release = + let private year = sprintf "%i" DateTime.UtcNow.Year + let private jsonNetVersionCurrent p = let xName n = XName.op_Implicit n use stream = File.OpenRead <| Paths.ProjFile p @@ -35,15 +24,15 @@ module Release = let packageReference = doc.Descendants(xName "PackageReference") .FirstOrDefault(fun e -> e.Attribute(xName "Include").Value = "Newtonsoft.Json") - if (packageReference <> null) then packageReference.Attribute(xName "Version").Value + if (not (isNull packageReference)) then packageReference.Attribute(xName "Version").Value else String.Empty let private jsonNetVersionNext p = match jsonNetVersionCurrent p with | "" -> String.Empty | version -> - let semanticVersion = SemVerHelper.parse version - sprintf "%i" (semanticVersion.Major + 1) + let semanticVersion = parse version + sprintf "%i" (semanticVersion.Major + 1u) let private addKeyValue (e:Expr) (builder:StringBuilder) = // the binding for this tuple looks like key/value should @@ -54,34 +43,38 @@ module Release = | ValueWithName (obj,ty,nm) -> ((obj |> string), nm) | _ -> failwith (sprintf "%A is not a let-bound value. %A" e (e.GetType())) - if (isNotNullOrEmpty value) then builder.AppendFormat("{0}=\"{1}\";", key, value) + if (not (String.IsNullOrEmpty value)) then builder.AppendFormat("{0}=\"{1}\";", key, value) else builder - let private currentVersion = sprintf "%O" <| Versioning.CurrentVersion - let private currentMajorVersion = sprintf "%i" <| Versioning.CurrentVersion.Major - let private nextMajorVersion = sprintf "%i" <| Versioning.CurrentVersion.Major + 1 - let private year = sprintf "%i" DateTime.UtcNow.Year + let private currentMajorVersion version = sprintf "%i" <| version.Full.Major + let private nextMajorVersion version = sprintf "%i" <| version.Full.Major + 1u - let private props() = + let private props version = + let currentMajorVersion = currentMajorVersion version + let nextMajorVersion = nextMajorVersion version new StringBuilder() |> addKeyValue <@currentMajorVersion@> |> addKeyValue <@nextMajorVersion@> |> addKeyValue <@year@> - let pack file n properties = + let pack file n properties version = Tooling.Nuget.Exec [ "pack"; file; - "-version"; currentVersion; + "-version"; version.Full.ToString(); "-outputdirectory"; Paths.BuildOutput; "-properties"; properties; ] |> ignore - traceFAKE "%s" Paths.BuildOutput - let nugetOutFile = Paths.Output(sprintf "%s.%s.nupkg" n (Versioning.CurrentVersion.ToString())) - MoveFile Paths.NugetOutput nugetOutFile + printfn "%s" Paths.BuildOutput + let file = sprintf "%s.%O.nupkg" n version.Full + let nugetOutFile = Paths.Output(file) + let outputFile = Path.Combine(Paths.NugetOutput, file) + + File.Move(nugetOutFile, outputFile) - let private nugetPackMain (p:DotNetProject) nugetId nuspec properties = - pack nuspec nugetId properties + let private nugetPackMain (p:DotNetProject) nugetId nuspec properties version = + pack nuspec nugetId properties version - let private nugetPackVersioned (p:DotNetProject) nugetId nuspec properties = + let private nugetPackVersioned (p:DotNetProject) nugetId nuspec properties version = + let currentMajorVersion = currentMajorVersion version let newId = sprintf "%s.v%s" nugetId currentMajorVersion; let nuspecVersioned = sprintf @"build/%s.nuspec" newId @@ -97,7 +90,7 @@ module Release = let descriptionNode = doc.XPathSelectElement("/x:package/x:metadata/x:description", nsManager) descriptionNode.Value <- sprintf "%s.x namespaced package, can be installed alongside %s" currentMajorVersion nugetId let iconNode = doc.XPathSelectElement("/x:package/x:metadata/x:iconUrl", nsManager) - iconNode.Value <- replace "icon" "icon-aux" iconNode.Value + iconNode.Value <- iconNode.Value.Replace("icon", "icon-aux") let xmlConfig = sprintf "/x:package//x:file[contains(@src, '%s.xml')]" p.Name doc.XPathSelectElements(xmlConfig, nsManager).Remove(); @@ -109,7 +102,7 @@ module Release = let dllNodes = doc.XPathSelectElements(x, nsManager) dllNodes |> Seq.iter (fun e -> let src = e.Attribute(xName "src"); - src.Value <- replace d r src.Value + src.Value <- src.Value.Replace(d, r) ) match p with @@ -130,14 +123,14 @@ module Release = idAtt.Value <- sprintf "NEST.v%s" currentMajorVersion ) rewriteDllFile p.Name - | _ -> traceError (sprintf "%s still needs special canary handling" p.Name) + | _ -> failwithf "%A still needs special canary handling" p doc.Save(nuspecVersioned) - pack nuspecVersioned newId properties - DeleteFile nuspecVersioned + pack nuspecVersioned newId properties version + File.Delete nuspecVersioned - let private packProjects callback = - CreateDir Paths.NugetOutput + let private packProjects version callback = + Directory.CreateDirectory Paths.NugetOutput |> ignore DotNetProject.AllPublishable |> Seq.iter(fun p -> @@ -146,77 +139,17 @@ module Release = let jsonDotNetNextVersion = jsonNetVersionNext p let properties = - props() + props version |> addKeyValue <@jsonDotNetCurrentVersion@> |> addKeyValue <@jsonDotNetNextVersion@> - |> toText + let properties = properties.ToString() + let nugetId = p.NugetId let nuspec = (sprintf @"build/%s.nuspec" nugetId) - callback p nugetId nuspec properties + callback p nugetId nuspec properties version ) - let NugetPack() = packProjects nugetPackMain + let NugetPack (ArtifactsVersion(version)) = packProjects version nugetPackMain - let NugetPackVersioned() = packProjects nugetPackVersioned - - let GenerateNotes() = - let previousVersion = Versioning.GlobalJsonVersion.ToString() - let currentVersion = Versioning.CurrentVersion.ToString() - let label = sprintf "v%s" currentVersion - let releaseNotes = sprintf "ReleaseNotes-%s.md" currentVersion |> Paths.Output - let client = new GitHubClient(new ProductHeaderValue("ReleaseNotesGenerator")) - client.Credentials <- Credentials.Anonymous - - let filter = new RepositoryIssueRequest() - filter.Labels.Add label - filter.State <- ItemStateFilter.Closed - - let labelHeaders = - [("Feature", "Features & Enhancements"); - ("Bug", "Bug Fixes"); - ("Deprecation", "Deprecations"); - ("Uncategorized", "Uncategorized");] - |> Map.ofList - - let groupByLabel (issues:IReadOnlyList) = - let dict = new Dictionary() - for issue in issues do - let mutable categorized = false - for labelHeader in labelHeaders do - if issue.Labels.Any(fun l -> l.Name = labelHeader.Key) then - let exists,list = dict.TryGetValue(labelHeader.Key) - match exists with - | true -> dict.[labelHeader.Key] <- issue :: list - | false -> dict.Add(labelHeader.Key, [issue]) - categorized <- true - - if (categorized = false) then - let label = "Uncategorized" - let exists,list = dict.TryGetValue(label) - match exists with - | true -> - match List.tryFind(fun (i:Issue)-> i.Number = issue.Number) list with - | Some _ -> () - | None -> dict.[label] <- issue :: list - | false -> dict.Add(label, [issue]) - dict - - let closedIssues = client.Issue.GetAllForRepository(Paths.OwnerName, Paths.RepositoryName, filter) - |> Async.AwaitTask - |> Async.RunSynchronously - |> groupByLabel - - use file = File.OpenWrite <| releaseNotes - use writer = new StreamWriter(file) - writer.WriteLine(sprintf "%s/compare/%s...%s" Paths.Repository previousVersion currentVersion) - writer.WriteLine() - for closedIssue in closedIssues do - labelHeaders.[closedIssue.Key] |> sprintf "## %s" |> writer.WriteLine - writer.WriteLine() - for issue in closedIssue.Value do - sprintf "- #%i %s" issue.Number issue.Title |> writer.WriteLine - writer.WriteLine() - - sprintf "### [View the full list of issues and PRs](%s/issues?utf8=%%E2%%9C%%93&q=label%%3A%s)" Paths.Repository label - |> writer.WriteLine \ No newline at end of file + let NugetPackVersioned (ArtifactsVersion(version)) = packProjects version nugetPackVersioned diff --git a/build/scripts/ShadowDependencies.fs b/build/scripts/ShadowDependencies.fs new file mode 100644 index 00000000000..72ebbcbd473 --- /dev/null +++ b/build/scripts/ShadowDependencies.fs @@ -0,0 +1,48 @@ +namespace Scripts + +open Projects +open Versioning + +module ShadowDependencies = + + let private assemblyRewriter = "assembly-rewriter" + let private keyFile = Paths.Keys "keypair.snk" + let Rewrite majorVersion framework projects = + let project = projects |> Seq.head + let folder = Paths.ProjectOutputFolder project framework + + let dllFullPath name = sprintf "%s/%s.dll" folder name + let outputName (p: DotNetProject) = match p.Name = project.Name with | true -> p.Name | _ -> p.InternalName + let fullOutput (p: DotNetProject) = dllFullPath (p.Versioned (outputName p) majorVersion) + let dlls = + projects + |> Seq.map (fun p -> sprintf @"-i ""../../%s"" -o ""../../%s"" " (dllFullPath p.Name) (fullOutput p)) + |> Seq.fold (+) " " + + Tooling.DotNet.ExecIn Paths.TargetsFolder [assemblyRewriter; dlls] |> ignore + + let mergedOutFile = fullOutput project + let ilMergeArgs = [ + "/internalize"; + (sprintf "/lib:%s" folder); + (sprintf "/keyfile:%s" keyFile); + (sprintf "/out:%s" mergedOutFile) + ] + let mergeDlls = + projects + |> Seq.filter (fun p -> p.Name = project.Name || not <| (DotNetProject.AllPublishable |> Seq.contains p)) + |> Seq.map fullOutput + match project.NeedsMerge with + | true -> Tooling.ILRepack.Exec (ilMergeArgs |> List.append (mergeDlls |> Seq.toList)) |> ignore + | _ -> Tooling.ILRepack.Exec (ilMergeArgs |> List.append [mergeDlls |> Seq.head]) |> ignore + + let ShadowDependencies (ArtifactsVersion(version)) = + let fw = DotNetFramework.All + let projects = DotNetProject.AllPublishable + let currentMajor = sprintf "%i" <| version.Full.Major + for f in fw do + for p in projects do + if p.VersionedMergeDependencies <> [] then Rewrite (Some currentMajor) f p.VersionedMergeDependencies + if p.MergeDependencies <> [] then Rewrite None f p.MergeDependencies + + \ No newline at end of file diff --git a/build/scripts/Targets.fs b/build/scripts/Targets.fs new file mode 100644 index 00000000000..b8e89bb733c --- /dev/null +++ b/build/scripts/Targets.fs @@ -0,0 +1,87 @@ +namespace Scripts + +open System + +open Build +open Commandline +open Bullseye +open ProcNet + +module Main = + + let private target name action = Targets.Target(name, new Action(action)) + let private skip name = printfn "SKIPPED target '%s' evaluated not to run" name |> ignore + let private conditional optional name action = target name (if optional then action else (fun _ -> skip name)) + let private command name dependencies action = Targets.Target(name, dependencies, new Action(action)) + + let [] main args = + + let parsed = Commandline.parse (args |> Array.toList) + + let buildVersions = Versioning.BuildVersioning parsed + let artifactsVersion = Versioning.ArtifactsVersion buildVersions + Versioning.Validate parsed.Target buildVersions + + Tests.SetTestEnvironmentVariables parsed + + target "touch" <| fun _ -> printfn "Touching build %O" artifactsVersion + + target "start" <| fun _ -> + match (isMono, parsed.ValidMonoTarget) with + | (true, false) -> failwithf "%s is not a valid target on mono because it can not call ILRepack" (parsed.Target) + | _ -> printfn "STARTING BUILD" + + conditional parsed.NeedsClean "clean" Build.Clean + + conditional parsed.NeedsFullBuild "full-build" <| fun _ -> Build.Compile parsed artifactsVersion + + conditional (not isMono) "internalize-dependencies" <| fun _ -> ShadowDependencies.ShadowDependencies artifactsVersion + + conditional (not parsed.SkipDocs) "documentation" <| fun _ -> Documentation.Generate parsed + + conditional (not parsed.SkipTests) "test" <| fun _ -> Tests.RunUnitTests parsed + + target "version" <| fun _ -> printfn "Artifacts Version: %O" artifactsVersion + + target "restore" Restore + + target "inherit-doc" <| InheritDoc.PatchInheritDocs + + target "test-nuget-package" <| fun _ -> + //run release unit tests puts packages in the system cache prevent this from happening locally + if not Commandline.runningOnCi then ignore () + else Tests.RunReleaseUnitTests artifactsVersion + + target "nuget-pack" <| fun _ -> Release.NugetPack artifactsVersion + + conditional (parsed.Target = "canary") "nuget-pack-versioned" <| fun _ -> Release.NugetPackVersioned artifactsVersion + + conditional (parsed.Target <> "canary") "generate-release-notes" <| fun _ -> ReleaseNotes.GenerateNotes buildVersions + + target "validate-artifacts" <| fun _ -> Versioning.ValidateArtifacts artifactsVersion + + // the following are expected to be called as targets directly + let buildChain = [ + "clean"; "version"; "restore"; "full-build"; "test"; + "internalize-dependencies"; "inherit-doc"; "documentation"; + ] + command "build" buildChain <| fun _ -> printfn "STARTING BUILD" + + command "benchmark" [ "clean"; "full-build"; ] <| fun _ -> Benchmarker.Run parsed + + command "canary" [ "version"; "release"; "test-nuget-package";] <| fun _ -> printfn "Finished Release Build %O" artifactsVersion + + command "integrate" [ "clean"; "restore"; "full-build";] <| fun _ -> Tests.RunIntegrationTests parsed + + command "release" [ + "build"; "nuget-pack"; "nuget-pack-versioned"; "validate-artifacts"; "generate-release-notes" + ] (fun _ -> printfn "Finished Release Build %O" artifactsVersion) + + command "diff" [ "clean"; ] <| fun _ -> Differ.Run parsed + + command "cluster" [ "restore"; "full-build" ] <| fun _ -> Cluster.Run parsed + + Targets.RunTargetsAndExit([parsed.Target], fun e -> e.GetType() = typeof) + + 0 + diff --git a/build/scripts/Targets.fsx b/build/scripts/Targets.fsx deleted file mode 100644 index 5bc51067ca3..00000000000 --- a/build/scripts/Targets.fsx +++ /dev/null @@ -1,157 +0,0 @@ -#load @"Commandline.fsx" -#load @"Projects.fsx" -#load @"Paths.fsx" -#load @"Tooling.fsx" -#load @"Versioning.fsx" -#load @"Testing.fsx" -#load @"Building.fsx" -#load @"Documentation.fsx" -#load @"Releasing.fsx" -#load @"Benchmarking.fsx" -#load @"XmlDocPatcher.fsx" -#nowarn "0044" //TODO sort out FAKE 5 - -open System -open Fake -open System.IO - -open Paths -open Building -open Testing -open Versioning -open Documentation -open Releasing -open Benchmarking -open XmlDocPatcher -open Commandline -open Fake.IO -open Tooling - -Commandline.parse() - -Target "Touch" <| fun _ -> traceHeader "Touching build" -Target "Build" <| fun _ -> traceHeader "STARTING BUILD" -Target "Start" <| fun _ -> - match (isMono, Commandline.validMonoTarget) with - | (true, false) -> failwithf "%s is not a valid target on mono because it can not call ILRepack" (Commandline.target) - | _ -> traceHeader "STARTING BUILD" - -Target "Clean" Build.Clean - -Target "Restore" Build.Restore - -Target "FullBuild" <| fun _ -> Build.Compile Commandline.needsFullBuild - -Target "Test" Tests.RunUnitTests - -Target "Integrate" Tests.RunIntegrationTests - -Target "Benchmark" Benchmarker.Run - -Target "InternalizeDependencies" Build.ILRepack - -Target "InheritDoc" InheritDoc.PatchInheritDocs - -Target "Documentation" Documentation.Generate - -Target "Version" <| fun _ -> - tracefn "Current Version: %s" (Versioning.CurrentVersion.ToString()) - -Target "TestNugetPackage" <| fun _ -> - //RunReleaseUnitTests restores the canary nugetpackages in tests, since these end up being cached - //its too evasive to run on development machines or TC, Run only on AppVeyor containers. - if buildServer <> AppVeyor then Tests.RunUnitTests() - else Tests.RunReleaseUnitTests() - -Target "Canary" <| fun _ -> tracefn "Finished Release Build %O" Versioning.CurrentVersion - -Target "Diff" <| fun _ -> - let differ = Paths.PaketDotNetGlobalTool "assembly-differ" @"tools\netcoreapp2.1\any\assembly-differ.dll" - let args = Commandline.arguments |> List.skip 1 |> String.concat " " - let command = sprintf @"%s %s" differ args - setProcessEnvironVar "NUGET" Tooling.nugetFile - DotNetCli.RunCommand (fun p -> { p with TimeOut = TimeSpan.FromMinutes(3.) }) command |> ignore - -Target "Cluster" <| fun _ -> - let clusterName = getBuildParam "clusterName" - let clusterVersion = getBuildParam "clusterVersion" - let testsProjectDirectory = Path.Combine(Path.GetFullPath(Paths.Output("Tests.ClusterLauncher")), "netcoreapp2.1") - let tempDir = Path.Combine(Path.GetTempPath(), Path.GetRandomFileName()); - - let sourceDir = Paths.Source("Tests/Tests.Configuration"); - let defaultYaml = Path.Combine(sourceDir, "tests.default.yaml"); - let userYaml = Path.Combine(sourceDir, "tests.yaml"); - let e f = File.Exists f; - match ((e userYaml), (e defaultYaml)) with - | (true, _) -> setProcessEnvironVar "NEST_YAML_FILE" (Path.GetFullPath(userYaml)) - | (_, true) -> setProcessEnvironVar "NEST_YAML_FILE" (Path.GetFullPath(defaultYaml)) - | _ -> ignore() - - Shell.copyDir tempDir testsProjectDirectory (fun s -> true) - let command = sprintf "%s %s" clusterName clusterVersion - DotNetCli.RunCommand(fun p -> - { p with - WorkingDir = tempDir; - TimeOut = TimeSpan.FromMinutes(120.) - }) (sprintf "%s %s" (Path.Combine(tempDir, "Tests.ClusterLauncher.dll")) command) - - Shell.deleteDir tempDir - -Target "Release" <| fun _ -> traceHeader (sprintf "Finished Release Build %O" Versioning.CurrentVersion) - -Target "NugetPack" Release.NugetPack - -Target "NugetPackVersioned" Release.NugetPackVersioned - -Target "ValidateArtifacts" Versioning.ValidateArtifacts - -Target "GenerateReleaseNotes" Release.GenerateNotes - - -// Dependencies -"Start" - =?> ("Clean", Commandline.needsClean ) - =?> ("Version", hasBuildParam "version") - ==> "Restore" - =?> ("FullBuild", Commandline.needsFullBuild) - =?> ("Test", (not Commandline.skipTests && Commandline.target <> "canary")) - =?> ("InternalizeDependencies", (not isMono)) - ==> "InheritDoc" - =?> ("Documentation", (not Commandline.skipDocs)) - ==> "Build" - -"Start" - =?> ("Clean", Commandline.needsClean ) - =?> ("FullBuild", Commandline.needsFullBuild) - ==> "Benchmark" - -"Version" - ==> "Release" - =?> ("TestNugetPackage", (not isMono && not Commandline.skipTests)) - ==> "Canary" - -"Start" - =?> ("Clean", Commandline.needsClean ) - ==> "Restore" - =?> ("FullBuild", Commandline.needsFullBuild) - ==> "Integrate" - -"Build" - ==> "NugetPack" - =?> ("NugetPackVersioned", Commandline.target = "canary") - ==> "ValidateArtifacts" - =?> ("GenerateReleaseNotes", Commandline.target <> "canary") - ==> "Release" - -"Touch" -"Start" - ==> "Clean" - ==> "Diff" - -"Start" - ==> "Restore" - ==> "FullBuild" - ==> "Cluster" - -RunTargetOrListTargets() - diff --git a/build/scripts/Testing.fs b/build/scripts/Testing.fs new file mode 100644 index 00000000000..12cfbae385c --- /dev/null +++ b/build/scripts/Testing.fs @@ -0,0 +1,82 @@ +namespace Scripts + +open System +open Tooling +open Commandline +open Versioning +open Fake.Core +open System.IO + +module Tests = + + let private buildingOnAzurePipeline = Environment.environVarAsBool "TF_BUILD" + let private buildingOnTeamCity = match Environment.environVarOrNone "TEAMCITY_VERSION" with | Some x -> true | None -> false + + let SetTestEnvironmentVariables args = + let clusterFilter = match args.CommandArguments with | Integration a -> a.ClusterFilter | _ -> None + let testFilter = match args.CommandArguments with | Integration a -> a.TestFilter | Test t -> t.TestFilter | _ -> None + + let env key v = + match v with + | Some v -> Environment.setEnvironVar key <| sprintf "%O" v + | None -> ignore() + + env "NEST_INTEGRATION_CLUSTER" clusterFilter + env "NEST_TEST_FILTER" testFilter + env "NEST_TEST_SEED" (Some <| args.Seed) + env "NEST_COMMAND_LINE_BUILD" <| Some "1" + + for random in args.RandomArguments do + let tokens = random.Split [|':'|] + let key = tokens.[0].ToUpper() + let b = if tokens.Length = 1 then true else (bool.Parse (tokens.[1])) + let key = sprintf "NEST_RANDOM_%s" key + let value = (if b then "true" else "false") + env key (Some <| value) + ignore() + + let private dotnetTest (target: Commandline.MultiTarget) = + Directory.CreateDirectory Paths.BuildOutput |> ignore + let command = + let p = ["test"; "."; "-c"; "RELEASE"] + //make sure we only test netcoreapp on linux or requested on the command line to only test-one + match (target, Environment.isLinux) with + | (_, true) + | (Commandline.MultiTarget.One, _) -> ["--framework"; "netcoreapp2.1"] |> List.append p + | _ -> p + let commandWithCodeCoverage = + // TODO /p:CollectCoverage=true /p:CoverletOutputFormat=cobertura + // Using coverlet.msbuild package + // https://github.com/tonerdo/coverlet/issues/110 + // Bites us here as well a PR is up already but not merged will try again afterwards + // https://github.com/tonerdo/coverlet/pull/329 + match (buildingOnAzurePipeline) with + | (true) -> [ "--logger"; "trx"; "--collect"; "\"Code Coverage\""; "-v"; "m"] |> List.append command + | _ -> command + + Tooling.DotNet.ExecInWithTimeout "src/Tests/Tests" commandWithCodeCoverage (TimeSpan.FromMinutes 30.) + + let RunReleaseUnitTests (ArtifactsVersion(version)) = + //xUnit always does its own build, this env var is picked up by Tests.csproj + //if its set it will include the local package source (build/output/_packages) + //and references NEST and NEST.JsonNetSerializer by the current version + //this works by not including the local package cache (nay source) + //in the project file via: + // + //This will download all packages but its the only way to make sure we reference the built + //package and not one from cache...y + Environment.setEnvironVar "TestPackageVersion" (version.Full.ToString()) + Tooling.DotNet.ExecIn "src/Tests/Tests" ["clean";] |> ignore + Tooling.DotNet.ExecIn "src/Tests/Tests" ["restore";] |> ignore + dotnetTest Commandline.MultiTarget.One + + let RunUnitTests args = dotnetTest args.MultiTarget + + let RunIntegrationTests args = + let passedVersions = match args.CommandArguments with | Integration a -> Some a.ElasticsearchVersions | _ -> None + match passedVersions with + | None -> failwith "No versions specified to run integration tests against" + | Some esVersions -> + for esVersion in esVersions do + Environment.setEnvironVar "NEST_INTEGRATION_VERSION" esVersion + dotnetTest args.MultiTarget |> ignore diff --git a/build/scripts/Testing.fsx b/build/scripts/Testing.fsx deleted file mode 100644 index ebf0c14b2b3..00000000000 --- a/build/scripts/Testing.fsx +++ /dev/null @@ -1,93 +0,0 @@ -#I @"../../packages/build/FAKE/tools" -#r @"FakeLib.dll" - -#load @"Commandline.fsx" -#load @"Projects.fsx" -#load @"Paths.fsx" -#load @"Tooling.fsx" -#load @"Versioning.fsx" - -open Fake -open Paths -open Tooling -open Commandline -open Versioning - - -module Tests = - open Fake.Core - open System - - let private buildingOnAzurePipeline = getEnvironmentVarAsBool "TF_BUILD" - let private buildingOnTeamCity = match environVarOrNone "TEAMCITY_VERSION" with | Some x -> true | None -> false - - let private setLocalEnvVars() = - let clusterFilter = getBuildParamOrDefault "clusterfilter" "" - let testFilter = getBuildParamOrDefault "testfilter" "" - let numberOfConnections = getBuildParamOrDefault "numberOfConnections" "" - setProcessEnvironVar "NEST_INTEGRATION_CLUSTER" clusterFilter - setProcessEnvironVar "NEST_TEST_FILTER" testFilter - setProcessEnvironVar "NEST_NUMBER_OF_CONNECTIONS" numberOfConnections - setProcessEnvironVar "NEST_TEST_SEED" Commandline.seed - for random in Commandline.randomArgs do - let tokens = random.Split [|':'|] - let key = tokens.[0].ToUpper() - let b = if tokens.Length = 1 then true else (bool.Parse (tokens.[1])) - let v = sprintf "NEST_RANDOM_%s" key - setProcessEnvironVar v (if b then "true" else "false") - ignore() - - let private dotnetTest (target: Commandline.MultiTarget) = - CreateDir Paths.BuildOutput - let command = - let p = ["test"; "."; "-c"; "RELEASE"] - //make sure we only test netcoreapp on linux or requested on the command line to only test-one - match (target, Environment.isLinux) with - | (_, true) - | (Commandline.MultiTarget.One, _) -> ["--framework"; "netcoreapp2.1"] |> List.append p - | _ -> p - let commandWithCodeCoverage = - // TODO /p:CollectCoverage=true /p:CoverletOutputFormat=cobertura - // Using coverlet.msbuild package - // https://github.com/tonerdo/coverlet/issues/110 - // Bites us here as well a PR is up already but not merged will try again afterwards - // https://github.com/tonerdo/coverlet/pull/329 - match (buildingOnAzurePipeline) with - | (true) -> [ "--logger"; "trx"; "--collect"; "\"Code Coverage\""; "-v"; "m"] |> List.append command - | _ -> command - - let dotnet = Tooling.BuildTooling("dotnet") - let exitCode = dotnet.ExecWithTimeoutIn "src/Tests/Tests" commandWithCodeCoverage (TimeSpan.FromMinutes 30.) - if exitCode > 0 && not buildingOnTeamCity then raise (Exception <| (sprintf "test finished with exitCode %d" exitCode)) - - let RunReleaseUnitTests() = - setLocalEnvVars() - //xUnit always does its own build, this env var is picked up by Tests.csproj - //if its set it will include the local package source (build/output/_packages) - //and references NEST and NEST.JsonNetSerializer by the current version - //this works by not including the local package cache (nay source) - //in the project file via: - // - //This will download all packages but its the only way to make sure we reference the built - //package and not one from cache...y - setProcessEnvironVar "TestPackageVersion" (Versioning.CurrentVersion.ToString()) - let dotnet = Tooling.BuildTooling("dotnet") - dotnet.ExecIn "src/Tests/Tests" ["clean";] |> ignore - dotnet.ExecIn "src/Tests/Tests" ["restore";] |> ignore - dotnetTest Commandline.MultiTarget.One - - let RunUnitTests() = - setLocalEnvVars() - dotnetTest Commandline.multiTarget - - let RunIntegrationTests() = - setLocalEnvVars() - let commaSeparatedEsVersions = getBuildParamOrDefault "esversions" "" - let esVersions = - match commaSeparatedEsVersions with - | "" -> failwith "when running integrate you have to pass a comma separated list of elasticsearch versions to test" - | _ -> commaSeparatedEsVersions.Split ',' |> Array.toList - - for esVersion in esVersions do - setProcessEnvironVar "NEST_INTEGRATION_VERSION" esVersion - dotnetTest Commandline.multiTarget |> ignore diff --git a/build/scripts/Tooling.fs b/build/scripts/Tooling.fs new file mode 100644 index 00000000000..be8cf079f19 --- /dev/null +++ b/build/scripts/Tooling.fs @@ -0,0 +1,54 @@ +namespace Scripts + +open System +open System.IO +open ProcNet +open Fake.IO.Globbing.Operators +open ProcNet.Std + +module Tooling = + + type ExecResult = { ExitCode: int option; Output: Std.LineOut seq;} + + let private defaultTimeout = TimeSpan.FromMinutes(5.) + + let readInWithTimeout timeout workinDir bin args = + let startArgs = StartArguments(bin, args |> List.toArray) + if (Option.isSome workinDir) then + startArgs.WorkingDirectory <- Option.defaultValue "" workinDir + let result = Proc.Start(startArgs, timeout, ConsoleOutColorWriter()) + if not result.Completed then failwithf "process failed to complete within %O: %s" timeout bin + let exitCode = match result.ExitCode.HasValue with | false -> None | true -> Some result.ExitCode.Value + { ExitCode = exitCode; Output = seq result.ConsoleOut} + + let read bin args = readInWithTimeout defaultTimeout None bin args + + let execInWithTimeout timeout workinDir bin args = + let startArgs = ExecArguments(bin, args |> List.toArray) + if (Option.isSome workinDir) then + startArgs.WorkingDirectory <- Option.defaultValue "" workinDir + let result = Proc.Exec(startArgs, timeout) + try + if not result.HasValue || result.Value > 0 then + failwithf "process returned %i: %s" result.Value bin + with + | :? ProcExecException as ex -> failwithf "%s" ex.Message + + let execIn workingDir bin args = execInWithTimeout defaultTimeout workingDir bin args + + let exec bin args = execIn None bin args + + type BuildTooling(timeout, path) = + let timeout = match timeout with | Some t -> t | None -> defaultTimeout + member this.Path = path + member this.ExecInWithTimeout workingDirectory arguments timeout = execInWithTimeout timeout (Some workingDirectory) this.Path arguments + member this.ExecWithTimeout arguments timeout = execInWithTimeout timeout None this.Path arguments + member this.ExecIn workingDirectory arguments = this.ExecInWithTimeout workingDirectory arguments timeout + member this.Exec arguments = this.ExecWithTimeout arguments timeout + + let nugetFile = Path.GetFullPath "build/scripts/bin/Release/netcoreapp2.2/NuGet.exe" + let Nuget = BuildTooling(None, nugetFile) + let ILRepack = BuildTooling(None, "build/scripts/bin/Release/netcoreapp2.2/ILRepack.exe") + let DotNet = BuildTooling(Some <| TimeSpan.FromMinutes(5.), "dotnet") + + \ No newline at end of file diff --git a/build/scripts/Tooling.fsx b/build/scripts/Tooling.fsx deleted file mode 100644 index 4be2d0890c6..00000000000 --- a/build/scripts/Tooling.fsx +++ /dev/null @@ -1,131 +0,0 @@ -#I @"../../packages/build/FAKE/tools" -#r @"FakeLib.dll" -#r @"System.IO.Compression.FileSystem.dll" -#nowarn "0044" //TODO sort out FAKE 5 - -open System -open System.IO -open System.Diagnostics -open System.Net - -#load @"Paths.fsx" - -open Fake - -Fake.ProcessHelper.redirectOutputToTrace <-true - -module Tooling = - open Paths - - (* helper functions *) - #if mono_posix - #r "Mono.Posix.dll" - open Mono.Unix.Native - let private applyExecutionPermissionUnix path = - let _,stat = Syscall.lstat(path) - Syscall.chmod(path, FilePermissions.S_IXUSR ||| stat.st_mode) |> ignore - #else - let private applyExecutionPermissionUnix path = () - #endif - - let private execAt (workingDir:string) (exePath:string) (args:string seq) = - let processStart (psi:ProcessStartInfo) = - let ps = Process.Start(psi) - ps.WaitForExit () - ps.ExitCode - let fullExePath = exePath |> Path.GetFullPath - applyExecutionPermissionUnix fullExePath - let exitCode = - ProcessStartInfo( - fullExePath, - args |> String.concat " ", - WorkingDirectory = (workingDir |> Path.GetFullPath), - UseShellExecute = false) - |> processStart - if exitCode <> 0 then - exit exitCode - () - - - let execProcessWithTimeout proc arguments timeout workingDir = - let args = arguments |> String.concat " " - ExecProcess (fun info -> - info.FileName <- proc - info.WorkingDirectory <- workingDir - info.Arguments <- args - ) timeout - - let execProcessWithTimeoutAndReturnMessages proc arguments timeout = - let args = arguments |> String.concat " " - let code = - ExecProcessAndReturnMessages (fun info -> - info.FileName <- proc - info.WorkingDirectory <- "." - info.Arguments <- args - ) timeout - code - - let private defaultTimeout = TimeSpan.FromMinutes 20.0 - - let execProcessInDirectory proc arguments workingDir = - let exitCode = execProcessWithTimeout proc arguments defaultTimeout workingDir - match exitCode with - | 0 -> exitCode - | _ -> failwithf "Calling %s resulted in unexpected exitCode %i" proc exitCode - - let execProcess proc arguments = execProcessInDirectory proc arguments "." - - let execProcessAndReturnMessages proc arguments = - execProcessWithTimeoutAndReturnMessages proc arguments defaultTimeout - - let nugetFile = - let targetLocation = "build/tools/nuget/nuget.exe" - if (not (File.Exists targetLocation)) - then - trace (sprintf "Nuget not found at %s. Downloading now" targetLocation) - let url = "http://dist.nuget.org/win-x86-commandline/latest/nuget.exe" - Directory.CreateDirectory("build/tools/nuget") |> ignore - use webClient = new WebClient() - webClient.DownloadFile(url, targetLocation) - trace "nuget downloaded" - targetLocation - - type BuildTooling(path) = - member this.Path = path - member this.Exec arguments = execProcess this.Path arguments - member this.ExecIn workingDirectory arguments = this.ExecWithTimeoutIn workingDirectory arguments defaultTimeout - member this.ExecWithTimeoutIn workingDirectory arguments timeout = execProcessWithTimeout this.Path arguments timeout workingDirectory - - let Nuget = new BuildTooling(nugetFile) - let ILRepack = new BuildTooling("packages/build/ILRepack/tools/ILRepack.exe") - - type DotTraceTool = { - Name:string; - Download:string; - TargetDir:string; - } - - type DotNetTooling(exe) = - member this.Exec arguments = - this.ExecWithTimeout arguments (TimeSpan.FromMinutes 30.) - - member this.ExecWithTimeout arguments timeout = - let result = execProcessWithTimeout exe arguments timeout "." - if result <> 0 then failwith (sprintf "Failed to run dotnet tooling for %s args: %A" exe arguments) - - let DotNet = DotNetTooling("dotnet.exe") - - type DiffTooling(exe) = - let installPath = "C:\Program Files (x86)\Progress\JustAssembly\Libraries" - let downloadPage = "https://www.telerik.com/download-trial-file/v2/justassembly" - let toolPath = installPath @@ exe - - member this.Exec arguments = - if (directoryExists installPath |> not) then - failwith (sprintf "JustAssembly is not installed in the default location %s. Download and install from %s" installPath downloadPage) - - let result = execProcessWithTimeout toolPath arguments (TimeSpan.FromMinutes 5.) "." - if result <> 0 then failwith (sprintf "Failed to run diff tooling for %s args: %A" exe arguments) - - let JustAssembly = DiffTooling("JustAssembly.CommandLineTool.exe") - \ No newline at end of file diff --git a/build/scripts/Versioning.fs b/build/scripts/Versioning.fs new file mode 100644 index 00000000000..e9e2e9fecff --- /dev/null +++ b/build/scripts/Versioning.fs @@ -0,0 +1,151 @@ +namespace Scripts + +open System +open System.Reflection +open System.Diagnostics +open System.IO + +open Commandline +open Fake.Core +open Fake.IO +open Fake.IO.Globbing.Operators +open Newtonsoft.Json + +module Versioning = + // We used to rely on AssemblyInfo.cs from NEST to read and write the current version. + // Since that file is now generated by the dotnet tooling and GitVersion and similar tooling all still have + // active issues related to dotnet core, we now just burn this info in global.json + + let parse (v:string) = SemVer.parse(v) + + //Versions in form of e.g 6.1.0 is inferred as datetime so we bake the json shape into the provider like this + type SdkVersion = { Version:string; } + type GlobalJson = { Sdk: SdkVersion; Version:string; } + + let private globalJson () = + let jsonString = File.ReadAllText "global.json" + JsonConvert.DeserializeObject(jsonString) + + let writeVersionIntoGlobalJson version = + let globalJson = globalJson () + let newGlobalJson = { globalJson with Version = version.ToString(); } + File.WriteAllText("global.json", JsonConvert.SerializeObject(newGlobalJson)) + printfn "Written (%s) to global.json as the current version will use this version from now on as current in the build" (version.ToString()) + + let GlobalJsonVersion = parse <| globalJson().Version + + let private getVersion (args:Commandline.PassedArguments) = + match (args.Target, args.CommandArguments) with + | (_, SetVersion v) -> + match v.Version with + | v when String.IsNullOrEmpty v -> None + | v -> Some <| parse v + | ("canary", _) -> + let v = GlobalJsonVersion + let timestampedVersion = (sprintf "ci%s" (DateTime.UtcNow.ToString("yyyyMMddTHHmmss"))) + let canaryVersion = parse ((sprintf "%d.%d.0-%s" v.Major (v.Minor + 1u) timestampedVersion).Trim()) + Some canaryVersion + | _ -> None + + + type AnchoredVersion = { Full: SemVerInfo; Assembly:SemVerInfo; AssemblyFile:SemVerInfo } + type BuildVersions = + | Update of New: AnchoredVersion * Old: AnchoredVersion + | NoChange of Current: AnchoredVersion + + type ArtifactsVersion = ArtifactsVersion of AnchoredVersion + + let AnchoredVersion version = + let av v = parse (sprintf "%s.0.0" (v.Major.ToString())) + let fv v = parse (sprintf "%s.%s.%s.0" (v.Major.ToString()) (v.Minor.ToString()) (v.Patch.ToString())) + { Full = version; Assembly = av version; AssemblyFile = fv version } + + let BuildVersioning args = + let currentVersion = GlobalJsonVersion + let buildVersion = getVersion args + match buildVersion with + | None -> NoChange(Current = AnchoredVersion currentVersion) + | Some v -> Update(New = AnchoredVersion v, Old = AnchoredVersion currentVersion) + + let Validate target version = + match (target, version) with + | ("release", version) -> + match version with + | NoChange _ -> failwithf "cannot run release because no explicit version number was passed on the command line" + | Update (newVersion, currentVersion) -> + // fail if current is greater or equal to the new version + if (currentVersion >= newVersion) then + failwithf "Can not release %O its lower then current %O" newVersion.Full currentVersion.Full + writeVersionIntoGlobalJson newVersion.Full + | _ -> ignore() + + let ArtifactsVersion buildVersions = + match buildVersions with + | NoChange n -> ArtifactsVersion n + | Update (newVersion, _) -> ArtifactsVersion newVersion + + let private sn () = + match isMono with + | true -> "sn" + | false -> + let programFiles = Environment.environVar "PROGRAMFILES(X86)" + if not (Directory.Exists programFiles) then failwith "Can not locate 64 bit program files" + let windowsSdks = ["v10.0A"; "v8.1A"; "v8.1"; "v8.0"; "v7.0A";] + let dotNetVersion = ["4.7.2"; "4.7.1"; "4.7"; "4.6.2"; "4.6.1"; "4.0"] + let combinations = List.allPairs windowsSdks dotNetVersion + let winFolder w = Path.Combine(programFiles, "Microsoft SDKs", "Windows", w, "bin") + let sdkFolder w d = + let folder = sprintf "NETFX %s Tools" d + Path.Combine(winFolder w, folder) + let snExe w d = Path.Combine(sdkFolder w d, "sn.exe") + let sn = combinations |> List.map (fun (w, d) -> snExe w d) |> List.tryFind File.exists + match sn with + | Some sn -> sn + | None -> failwithf "Could not locate sn.exe" + + let private oficialToken = "96c599bbe3e70f5d" + + let private validate dll name = + let sn = sn () + let out = Tooling.read sn ["-v"; dll;] + + let valid = (out.ExitCode, out.Output |> Seq.findIndex(fun s -> s.Line.Contains("is valid"))) + match valid with + | (Some 0, i) when i >= 0 -> printfn "%s was signed correctly" name + | (_, _) -> failwithf "{0} was not validly signed" + + let out = Tooling.read sn ["-T"; dll;] + + let tokenMessage = (out.Output |> Seq.find(fun s -> s.Line.Contains("Public key token is"))); + + let token = (tokenMessage.Line.Replace("Public key token is", "")).Trim(); + + let valid = (out.ExitCode, token) + match valid with + | (Some 0, t) when t = oficialToken -> printfn "%s was signed with official key token %s" name t + | (_, t) -> printfn "%s was not signed with the official token: %s but %s" name oficialToken t + + let private validateDllStrongName dll name = + match File.Exists dll with + | true -> validate dll name + | _ -> failwithf "Attemped to verify signature of %s but it was not found!" dll + + let ValidateArtifacts (ArtifactsVersion(version)) = + let fileVersion = version.AssemblyFile + let tmp = "build/output/_packages/tmp" + !! "build/output/_packages/*.nupkg" + |> Seq.iter(fun f -> + Zip.unzip tmp f + !! (sprintf "%s/**/*.dll" tmp) + |> Seq.iter(fun f -> + let fv = FileVersionInfo.GetVersionInfo(f) + let a = AssemblyName.GetAssemblyName(f).Version + printfn "Assembly: %A File: %s Product: %s => %s" a fv.FileVersion fv.ProductVersion f + if (a.Minor > 0 || a.Revision > 0 || a.Build > 0) then failwith (sprintf "%s assembly version is not sticky to its major component" f) + if (parse (fv.ProductVersion) <> version.Full) then + failwith (sprintf "Expected product info %s to match new version %O " fv.ProductVersion fileVersion) + + validateDllStrongName f f + ) + Directory.delete tmp + ) \ No newline at end of file diff --git a/build/scripts/Versioning.fsx b/build/scripts/Versioning.fsx deleted file mode 100644 index e8558c45137..00000000000 --- a/build/scripts/Versioning.fsx +++ /dev/null @@ -1,114 +0,0 @@ -#I @"../../packages/build/FAKE/tools" -#I @"../../packages/build/FSharp.Data/lib/net45" -#r @"FakeLib.dll" -#r @"FSharp.Data.dll" -#r @"System.Xml.Linq.dll" -#nowarn "0044" //TODO sort out FAKE 5 - -#load @"Paths.fsx" -#load @"Commandline.fsx" - -open System -open System.Diagnostics -open System.IO -open FSharp.Data - -open Fake -open SemVerHelper -open Paths -open Commandline - -module Versioning = - // We used to rely on AssemblyInfo.cs from NEST to read and write the current version. - // Since that file is now generated by the dotnet tooling and GitVersion and similar tooling all still have - // active issues related to dotnet core, we now just burn this info in global.json - - //Versions in form of e.g 6.1.0 is inferred as datetime so we bake the json shape into the provider like this - type private GlobalJson = JsonProvider<""" { "sdk": { "version":"x" }, "version": "x" } """ > - let globalJson = GlobalJson.Load("../../global.json"); - let writeVersionIntoGlobalJson version = - let newGlobalJson = GlobalJson.Root (GlobalJson.Sdk(globalJson.Sdk.Version), version.ToString()) - use tw = new StreamWriter("global.json") - newGlobalJson.JsonValue.WriteTo(tw, JsonSaveOptions.None) - tracefn "Written (%s) to global.json as the current version will use this version from now on as current in the build" (version.ToString()) - - let GlobalJsonVersion = parse(globalJson.Version) - - let CurrentVersion = - Commandline.parse() - let currentVersion = GlobalJsonVersion - let bv = getBuildParam "version" - let buildVersion = if (isNullOrEmpty bv) then None else Some(parse(bv)) - match (getBuildParam "target", buildVersion) with - | ("release", None) -> failwithf "cannot run release because no explicit version number was passed on the command line" - | ("release", Some v) -> - // Warn if version is same as current version - if (currentVersion >= v) then traceImportant (sprintf "creating release %s when current version is already at %s" (v.ToString()) (currentVersion.ToString())) - writeVersionIntoGlobalJson v - v - | ("canary", Some v) -> failwithf "cannot run canary release, expected no version number to specified but received %s" (v.ToString()) - | ("canary", None) -> - let timestampedVersion = (sprintf "ci%s" (DateTime.UtcNow.ToString("yyyyMMddTHHmmss"))) - tracefn "Canary suffix %s " timestampedVersion - let canaryVersion = parse ((sprintf "%d.%d.0-%s" currentVersion.Major (currentVersion.Minor + 1) timestampedVersion).Trim()) - tracefn "Canary build increased currentVersion (%s) to (%s) " (currentVersion.ToString()) (canaryVersion.ToString()) - canaryVersion - | _ -> - tracefn "Not running 'release' or 'canary' target so using version in global.json (%s) as current" (currentVersion.ToString()) - currentVersion - - let CurrentAssemblyVersion = parse (sprintf "%s.0.0" (CurrentVersion.Major.ToString())) - let CurrentAssemblyFileVersion = parse (sprintf "%s.%s.%s.0" (CurrentVersion.Major.ToString()) (CurrentVersion.Minor.ToString()) (CurrentVersion.Patch.ToString())) - - let private sn = if isMono then "sn" else Paths.CheckedInTool("sn/sn.exe") - let private oficialToken = "96c599bbe3e70f5d" - - let private validate dll name = - let out = (ExecProcessAndReturnMessages(fun p -> - p.FileName <- sn - p.Arguments <- sprintf @"-v %s" dll - ) (TimeSpan.FromMinutes 5.0)) - - let valid = (out.ExitCode, out.Messages.FindIndex(fun s -> s.Contains("is valid"))) - match valid with - | (0, i) when i >= 0 -> trace (sprintf "%s was signed correctly" name) - | (_, _) -> failwithf "{0} was not validly signed" - - let out = (ExecProcessAndReturnMessages(fun p -> - p.FileName <- sn - p.Arguments <- sprintf @"-T %s" dll - ) (TimeSpan.FromMinutes 5.0)) - - let tokenMessage = (out.Messages.Find(fun s -> s.Contains("Public key token is"))); - let token = (tokenMessage.Replace("Public key token is", "")).Trim(); - - let valid = (out.ExitCode, token) - match valid with - | (0, t) when t = oficialToken -> - trace (sprintf "%s was signed with official key token %s" name t) - | (_, t) -> traceFAKE "%s was not signed with the official token: %s but %s" name oficialToken t - - let private validateDllStrongName dll name = - match fileExists dll with - | true -> validate dll name - | _ -> failwithf "Attemped to verify signature of %s but it was not found!" dll - - let ValidateArtifacts() = - let fileVersion = CurrentVersion - let assemblyVersion = parse (sprintf "%i.0.0" fileVersion.Major) - let tmp = "build/output/_packages/tmp" - !! "build/output/_packages/*.nupkg" - |> Seq.iter(fun f -> - Unzip tmp f - !! (sprintf "%s/**/*.dll" tmp) - |> Seq.iter(fun f -> - let fv = FileVersionInfo.GetVersionInfo(f) - let a = GetAssemblyVersion f - traceFAKE "Assembly: %A File: %s Product: %s => %s" a fv.FileVersion fv.ProductVersion f - if (a.Minor > 0 || a.Revision > 0 || a.Build > 0) then failwith (sprintf "%s assembly version is not sticky to its major component" f) - if (parse (fv.ProductVersion) <> fileVersion) then failwith (sprintf "Expected product info %s to match new version %s " fv.ProductVersion (fileVersion.ToString())) - - validateDllStrongName f f - ) - DeleteDir tmp - ) \ No newline at end of file diff --git a/build/scripts/XmlDocPatcher.fsx b/build/scripts/XmlDocPatcher.fs similarity index 88% rename from build/scripts/XmlDocPatcher.fsx rename to build/scripts/XmlDocPatcher.fs index 2cc31c548ea..12d2cd2e441 100644 --- a/build/scripts/XmlDocPatcher.fsx +++ b/build/scripts/XmlDocPatcher.fs @@ -1,21 +1,14 @@ -#I @"../../packages/build/FAKE/tools" -#r @"FakeLib.dll" -#r "System.Xml.Linq.dll" -#nowarn "0044" //TODO sort out FAKE 5 - -#load @"Paths.fsx" - -namespace XmlDocPatcher +namespace Scripts +open System open System.Linq open System.Text.RegularExpressions open System.Xml open System.Xml.Linq open System.Xml.XPath +open System.IO -open Paths open Projects -open Fake module InheritDoc = @@ -47,13 +40,13 @@ module InheritDoc = while reader.ReadToFollowing("member") do let name = apiName(reader.GetAttribute("name")) let innerXml = reader.ReadInnerXml().Trim(); - if (isNotNullOrEmpty innerXml && not (innerXml.Contains("" + innerXml + "") yield (name, xdoc) } |> Map.ofSeq let private patchInheritDoc file = - traceFAKE "Rewriting xmldoc: %s" file + printfn "Rewriting xmldoc: %s" file let mapOfDocumentedApis = documentedApis file @@ -90,7 +83,7 @@ module InheritDoc = AllPublishableProjectsWithSupportedFrameworks |> Seq.map (fun p -> let folder = Paths.ProjectOutputFolder p.project p.framework - folder @@ p.project.Name + ".xml" + Path.Combine(folder, p.project.Name) + ".xml" ) - |> Seq.filter fileExists + |> Seq.filter File.Exists |> Seq.iter patchInheritDoc diff --git a/build/scripts/scripts.fsproj b/build/scripts/scripts.fsproj index 83fee524a02..0e158725d5d 100644 --- a/build/scripts/scripts.fsproj +++ b/build/scripts/scripts.fsproj @@ -1,26 +1,90 @@  - netstandard2.0 + netcoreapp2.2 + Exe + + $(NoWarn);NU1701 - - - - - - - - - - - - + + + + + + + + + + + + + + + + - paket.bat - paket.bat - paket.bat - paket.bat + build.sh + build.bat + + + true + true + true + + + C:\Program Files (x86)\Microsoft SDKs\F#\4.1\Framework\v4.0 + fsc.exe + + + C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\Common7\IDE\CommonExtensions\Microsoft\FSharp + fsc.exe + + + C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\CommonExtensions\Microsoft\FSharp + fsc.exe + + + C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\CommonExtensions\Microsoft\FSharp + fsc.exe + + + C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\CommonExtensions\Microsoft\FSharp + fsc.exe + + + C:\Program Files (x86)\Microsoft SDKs\F#\10.1\Framework\v4.0 + fsc.exe + + + /Library/Frameworks/Mono.framework/Versions/Current/Commands + fsharpc + + + /usr/bin + fsharpc + + + + + + + + + + + + + + + + + + + + + + diff --git a/build/tools/ilmerge/mscorsn.dll b/build/tools/ilmerge/mscorsn.dll deleted file mode 100755 index 5656ce3071d..00000000000 Binary files a/build/tools/ilmerge/mscorsn.dll and /dev/null differ diff --git a/build/tools/sn/sn.exe b/build/tools/sn/sn.exe deleted file mode 100755 index 90975fd7fd9..00000000000 Binary files a/build/tools/sn/sn.exe and /dev/null differ diff --git a/build/tools/sn/sn.exe.config b/build/tools/sn/sn.exe.config deleted file mode 100644 index 5a5e8ab3f4a..00000000000 --- a/build/tools/sn/sn.exe.config +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/paket.bat b/paket.bat deleted file mode 100644 index 1eb3c7c0645..00000000000 --- a/paket.bat +++ /dev/null @@ -1,8 +0,0 @@ -@echo off -REM we need nuget to install tools locally -.paket\paket.bootstrapper.exe -if errorlevel 1 ( - exit /b %errorlevel% -) - -.paket\paket.exe %* diff --git a/paket.dependencies b/paket.dependencies deleted file mode 100644 index 535fbdef533..00000000000 --- a/paket.dependencies +++ /dev/null @@ -1,19 +0,0 @@ -source https://www.nuget.org/api/v2 - -group build - - source https://www.nuget.org/api/v2 - - nuget FAKE prerelease - nuget FSharp.Data - nuget Newtonsoft.Json - - nuget Octokit - - nuget ILRepack 2.0.16 - - source https://ci.appveyor.com/nuget/assemblyrewriter - clitool assembly-rewriter - - source https://ci.appveyor.com/nuget/assemblydiffer - clitool assembly-differ diff --git a/paket.lock b/paket.lock deleted file mode 100644 index 5ba9a467cd5..00000000000 --- a/paket.lock +++ /dev/null @@ -1,598 +0,0 @@ - - -GROUP build -NUGET - remote: https://ci.appveyor.com/nuget/assemblydiffer - assembly-differ (1.0.0-alpha20181126T222017) - clitool: true - remote: https://ci.appveyor.com/nuget/assemblyrewriter - assembly-rewriter (1.0.0-alpha20181126T140416) - clitool: true - remote: https://www.nuget.org/api/v2 - FAKE (5.0) - FSharp.Core (4.5) - restriction: && (< net40) (< portable-net45+win8+wp8+wpa81) - FSharp.Data (2.4.6) - FSharp.Core (>= 4.0.0.1) - restriction: && (< net40) (< portable-net45+win8+wp8+wpa81) - Zlib.Portable (>= 1.11) - restriction: || (&& (< net40) (>= portable-net45+win8)) (&& (< net40) (< portable-net45+win8) (>= portable-net45+win8+wp8+wpa81)) - ILRepack (2.0.16) - Microsoft.CSharp (4.5) - restriction: || (&& (< net20) (>= netstandard1.0) (< netstandard1.3)) (&& (< net20) (>= netstandard1.3) (< netstandard2.0)) - NETStandard.Library (>= 1.6.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< win8) (< wpa81) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (< portable-net45+win8+wp8+wpa81) - System.Dynamic.Runtime (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< win8) (< wpa81) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (< portable-net45+win8+wp8+wpa81) - System.Reflection.TypeExtensions (>= 4.4) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< win8) (< wpa81) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wp8+wpa81) - Microsoft.NETCore.Platforms (2.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net20) (>= netstandard1.5) (< netstandard2.0) (< win8) (< wpa81) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net20) (< netstandard1.2) (>= netstandard1.4) (< win8)) (&& (< monoandroid) (< net20) (< netstandard1.2) (>= netstandard1.5) (< win8)) (&& (< monoandroid) (< net20) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net20) (< netstandard1.4) (>= netstandard1.5) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= net45) (< netstandard1.3)) (&& (< net20) (>= net46) (< netstandard1.3)) (&& (< net20) (>= net46) (< netstandard1.4)) (&& (< net20) (>= net46) (< portable-net45+win8+wpa81)) (&& (< net20) (>= net461) (< netstandard1.3)) (&& (< net20) (>= net461) (< netstandard2.0)) (&& (< net20) (>= netstandard1.0) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.0) (< portable-net45+win8+wpa81)) (&& (< net20) (< netstandard1.0) (>= netstandard1.3) (< portable-net45+win8)) (&& (< net20) (< netstandard1.0) (>= netstandard1.3) (< win8)) (&& (< net20) (>= netstandard1.1) (< netstandard1.2) (< win8)) (&& (< net20) (>= netstandard1.1) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.1) (< portable-net45+win8+wpa81)) (&& (< net20) (>= netstandard1.2) (< netstandard1.3) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.2) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.2) (< portable-net45+win8+wpa81)) (&& (< net20) (>= netstandard1.2) (< portable-net451+win81+wpa81) (< win8)) (&& (< net20) (< netstandard1.2) (>= netstandard1.3) (< win8)) (&& (< net20) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.3) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.3) (< portable-net45+win8+wpa81)) (&& (< net20) (>= netstandard1.3) (< portable-net451+win81+wpa81) (< win8)) (&& (< net20) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.5) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard2.0)) (&& (< net20) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.4) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.4) (< portable-net45+win8+wpa81)) (&& (< net20) (>= netstandard1.4) (< portable-net451+win81+wpa81) (< win8)) (&& (< net20) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.5) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.5) (< portable-net45+win8+wpa81)) (&& (< net20) (>= netstandard1.5) (< portable-net451+win81+wpa81) (< win8)) (&& (< net20) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.6) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.6) (< portable-net45+win8+wpa81)) (&& (< net20) (>= netstandard1.6) (< portable-net451+win81+wpa81) (< win8)) (&& (>= netcoreapp2.0) (< netstandard1.3)) (&& (>= netcoreapp2.0) (< netstandard2.0)) (&& (< netstandard1.0) (>= netstandard1.3) (>= win8)) (&& (< netstandard1.2) (>= uap10.0) (< win8)) (&& (< netstandard1.3) (>= uap10.0)) (&& (< netstandard1.3) (< win8) (>= wpa81)) (&& (< netstandard1.5) (>= uap10.0)) (&& (< portable-net45+win8+wp8+wpa81) (>= uap10.0)) (&& (< portable-net45+win8+wpa81) (>= uap10.0)) (&& (< portable-net451+win81+wpa81) (>= uap10.0)) (>= uap10.1) (>= wp8) - Microsoft.NETCore.Targets (2.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net20) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net20) (>= netstandard1.1) (< netstandard1.2) (< win8)) (&& (< monoandroid) (< net20) (>= netstandard1.2) (< netstandard1.3) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.2) (>= netstandard1.3) (< win8)) (&& (< monoandroid) (< net20) (< netstandard1.2) (>= netstandard1.4) (< win8)) (&& (< monoandroid) (< net20) (< netstandard1.2) (>= netstandard1.5) (< win8)) (&& (< monoandroid) (< net20) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net20) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.3) (>= netstandard1.5) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.4) (>= netstandard1.5) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= net46) (< netstandard1.3)) (&& (< net20) (>= net46) (< netstandard1.4)) (&& (< net20) (>= net46) (< portable-net45+win8+wpa81)) (&& (< net20) (>= netstandard1.0) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.0) (< portable-net45+win8+wpa81) (< wp8)) (&& (< net20) (>= netstandard1.1) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.1) (< portable-net45+win8+wpa81)) (&& (< net20) (>= netstandard1.2) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.2) (< portable-net45+win8+wpa81)) (&& (< net20) (>= netstandard1.2) (< portable-net451+win81+wpa81) (< win8)) (&& (< net20) (>= netstandard1.3) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.3) (< portable-net45+win8+wpa81)) (&& (< net20) (>= netstandard1.3) (< portable-net451+win81+wpa81) (< win8)) (&& (< net20) (>= netstandard1.4) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.4) (< portable-net45+win8+wpa81)) (&& (< net20) (>= netstandard1.4) (< portable-net451+win81+wpa81) (< win8)) (&& (< net20) (>= netstandard1.5) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.5) (< portable-net45+win8+wpa81)) (&& (< net20) (>= netstandard1.5) (< portable-net451+win81+wpa81) (< win8)) (&& (< net20) (>= netstandard1.6) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.6) (< portable-net45+win8+wpa81)) (&& (< net20) (>= netstandard1.6) (< portable-net451+win81+wpa81) (< win8)) (&& (< netstandard1.2) (>= uap10.0) (< win8)) (&& (< netstandard1.3) (>= uap10.0)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) (&& (< netstandard1.5) (>= uap10.0) (< win8) (< wpa81)) (&& (< netstandard1.5) (>= uap10.0) (< win81) (< wpa81)) (&& (< portable-net45+win8+wp8+wpa81) (>= uap10.0)) (&& (< portable-net45+win8+wpa81) (>= uap10.0)) (&& (< portable-net451+win81+wpa81) (>= uap10.0)) - Microsoft.Win32.Primitives (4.3) - restriction: || (&& (< monoandroid) (< net20) (< netstandard1.2) (>= netstandard1.3) (< win8)) (&& (< net20) (>= net46) (< netstandard1.3)) (&& (< net20) (>= net46) (< netstandard1.4)) (&& (< net20) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.5) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (< netstandard1.3) (>= uap10.0)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) (&& (< netstandard1.5) (>= uap10.0) (< win8) (< wpa81)) - 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) - NETStandard.Library (2.0.3) - restriction: || (&& (< net20) (>= netstandard1.0) (< netstandard1.3)) (&& (< net20) (>= netstandard1.0) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.3) (< netstandard2.0)) (&& (< net20) (>= netstandard1.3) (< portable-net45+win8+wp8+wpa81)) (&& (< net45) (>= netstandard1.1)) - Microsoft.NETCore.Platforms (>= 1.1) - restriction: || (&& (>= net45) (< netstandard1.3)) (&& (< net45) (>= netstandard1.1) (< netstandard1.2) (< win8)) (&& (< net45) (>= netstandard1.2) (< netstandard1.3) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (< net45) (>= netstandard2.0)) (&& (>= net46) (< netstandard1.4)) (>= net461) (>= netcoreapp2.0) (&& (>= netstandard1.0) (< portable-net45+win8+wpa81)) (&& (< netstandard1.0) (>= portable-net45+win8) (< win8)) (&& (< netstandard1.0) (< portable-net45+win8) (>= portable-net45+win8+wpa81)) (&& (< netstandard1.0) (>= portable-net45+win8+wp8+wpa81) (< portable-net45+win8+wpa81)) (&& (< netstandard1.0) (>= win8)) (&& (< netstandard1.3) (< win8) (>= wpa81)) (&& (< netstandard1.5) (>= uap10.0)) (>= uap10.1) (>= wp8) - Microsoft.Win32.Primitives (>= 4.3) - restriction: || (&& (< net45) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (>= net46) (< netstandard1.4)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) - System.AppContext (>= 4.3) - restriction: || (&& (< net45) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (>= net46) (< netstandard1.4)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) - System.Collections (>= 4.3) - restriction: || (&& (< net45) (>= netstandard1.1) (< netstandard1.2) (< win8)) (&& (< net45) (>= netstandard1.2) (< netstandard1.3) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (>= netstandard1.0) (< portable-net45+win8+wpa81) (< wp8)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) - System.Collections.Concurrent (>= 4.3) - restriction: || (&& (< net45) (>= netstandard1.1) (< netstandard1.2) (< win8)) (&& (< net45) (>= netstandard1.2) (< netstandard1.3) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) - System.Console (>= 4.3) - restriction: || (&& (< net45) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (>= net46) (< netstandard1.4)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) - System.Diagnostics.Debug (>= 4.3) - restriction: || (&& (< net45) (>= netstandard1.1) (< netstandard1.2) (< win8)) (&& (< net45) (>= netstandard1.2) (< netstandard1.3) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (>= netstandard1.0) (< portable-net45+win8+wpa81) (< wp8)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) - System.Diagnostics.Tools (>= 4.3) - restriction: || (&& (< net45) (>= netstandard1.1) (< netstandard1.2) (< win8)) (&& (< net45) (>= netstandard1.2) (< netstandard1.3) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (>= netstandard1.0) (< portable-net45+win8+wpa81) (< wp8)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) - System.Diagnostics.Tracing (>= 4.3) - restriction: || (&& (< net45) (>= netstandard1.1) (< netstandard1.2) (< win8)) (&& (< net45) (>= netstandard1.2) (< netstandard1.3) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) - System.Globalization (>= 4.3) - restriction: || (&& (< net45) (>= netstandard1.1) (< netstandard1.2) (< win8)) (&& (< net45) (>= netstandard1.2) (< netstandard1.3) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (>= netstandard1.0) (< portable-net45+win8+wpa81) (< wp8)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) - System.Globalization.Calendars (>= 4.3) - restriction: || (&& (< net45) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (>= net46) (< netstandard1.4)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) - System.IO (>= 4.3) - restriction: || (&& (< net45) (>= netstandard1.1) (< netstandard1.2) (< win8)) (&& (< net45) (>= netstandard1.2) (< netstandard1.3) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (>= netstandard1.0) (< portable-net45+win8+wpa81) (< wp8)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) - System.IO.Compression (>= 4.3) - restriction: || (&& (< net45) (>= netstandard1.1) (< netstandard1.2) (< win8)) (&& (< net45) (>= netstandard1.2) (< netstandard1.3) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (>= net46) (< netstandard1.4)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) - System.IO.Compression.ZipFile (>= 4.3) - restriction: || (&& (< net45) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (>= net46) (< netstandard1.4)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) - System.IO.FileSystem (>= 4.3) - restriction: || (&& (< net45) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (>= net46) (< netstandard1.4)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) - System.IO.FileSystem.Primitives (>= 4.3) - restriction: || (&& (< net45) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (>= net46) (< netstandard1.4)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) - System.Linq (>= 4.3) - restriction: || (&& (< net45) (>= netstandard1.1) (< netstandard1.2) (< win8)) (&& (< net45) (>= netstandard1.2) (< netstandard1.3) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (>= netstandard1.0) (< portable-net45+win8+wpa81) (< wp8)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) - System.Linq.Expressions (>= 4.3) - restriction: || (&& (< net45) (>= netstandard1.1) (< netstandard1.2) (< win8)) (&& (< net45) (>= netstandard1.2) (< netstandard1.3) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (>= netstandard1.0) (< portable-net45+win8+wpa81) (< wp8)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) - System.Net.Http (>= 4.3.2) - restriction: || (&& (< net45) (>= netstandard1.1) (< netstandard1.2) (< win8)) (&& (< net45) (>= netstandard1.2) (< netstandard1.3) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (>= net46) (< netstandard1.4)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) - System.Net.Primitives (>= 4.3) - restriction: || (&& (< net45) (>= netstandard1.1) (< netstandard1.2) (< win8)) (&& (< net45) (>= netstandard1.2) (< netstandard1.3) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (>= netstandard1.0) (< portable-net45+win8+wpa81) (< wp8)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) - System.Net.Sockets (>= 4.3) - restriction: || (&& (< net45) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (>= net46) (< netstandard1.4)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) - System.ObjectModel (>= 4.3) - restriction: || (&& (< net45) (>= netstandard1.1) (< netstandard1.2) (< win8)) (&& (< net45) (>= netstandard1.2) (< netstandard1.3) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (>= netstandard1.0) (< portable-net45+win8+wpa81) (< wp8)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) - System.Reflection (>= 4.3) - restriction: || (&& (< net45) (>= netstandard1.1) (< netstandard1.2) (< win8)) (&& (< net45) (>= netstandard1.2) (< netstandard1.3) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (>= netstandard1.0) (< portable-net45+win8+wpa81) (< wp8)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) - System.Reflection.Extensions (>= 4.3) - restriction: || (&& (< net45) (>= netstandard1.1) (< netstandard1.2) (< win8)) (&& (< net45) (>= netstandard1.2) (< netstandard1.3) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (>= netstandard1.0) (< portable-net45+win8+wpa81) (< wp8)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) - System.Reflection.Primitives (>= 4.3) - restriction: || (&& (< net45) (>= netstandard1.1) (< netstandard1.2) (< win8)) (&& (< net45) (>= netstandard1.2) (< netstandard1.3) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (>= netstandard1.0) (< portable-net45+win8+wpa81) (< wp8)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) - System.Resources.ResourceManager (>= 4.3) - restriction: || (&& (< net45) (>= netstandard1.1) (< netstandard1.2) (< win8)) (&& (< net45) (>= netstandard1.2) (< netstandard1.3) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (>= netstandard1.0) (< portable-net45+win8+wpa81) (< wp8)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) - System.Runtime (>= 4.3) - restriction: || (&& (< net45) (>= netstandard1.1) (< netstandard1.2) (< win8)) (&& (< net45) (>= netstandard1.2) (< netstandard1.3) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (>= netstandard1.0) (< portable-net45+win8+wpa81) (< wp8)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) - System.Runtime.Extensions (>= 4.3) - restriction: || (&& (< net45) (>= netstandard1.1) (< netstandard1.2) (< win8)) (&& (< net45) (>= netstandard1.2) (< netstandard1.3) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (>= netstandard1.0) (< portable-net45+win8+wpa81) (< wp8)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) - System.Runtime.Handles (>= 4.3) - restriction: || (&& (< net45) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) - System.Runtime.InteropServices (>= 4.3) - restriction: || (&& (< net45) (>= netstandard1.1) (< netstandard1.2) (< win8)) (&& (< net45) (>= netstandard1.2) (< netstandard1.3) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) - System.Runtime.InteropServices.RuntimeInformation (>= 4.3) - restriction: || (&& (>= net45) (< netstandard1.3)) (&& (< net45) (>= netstandard1.1) (< netstandard1.2) (< win8)) (&& (< net45) (>= netstandard1.2) (< netstandard1.3) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (>= net46) (< netstandard1.4)) (&& (< netstandard1.0) (>= portable-net45+win8) (< win8)) (&& (< netstandard1.0) (< portable-net45+win8) (>= portable-net45+win8+wpa81)) (&& (< netstandard1.0) (>= win8)) (&& (< netstandard1.3) (< win8) (>= wpa81)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) - System.Runtime.Numerics (>= 4.3) - restriction: || (&& (< net45) (>= netstandard1.1) (< netstandard1.2) (< win8)) (&& (< net45) (>= netstandard1.2) (< netstandard1.3) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) - System.Security.Cryptography.Algorithms (>= 4.3) - restriction: || (&& (< net45) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (>= net46) (< netstandard1.4)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) - System.Security.Cryptography.Encoding (>= 4.3) - restriction: || (&& (< net45) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (>= net46) (< netstandard1.4)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) - System.Security.Cryptography.Primitives (>= 4.3) - restriction: || (&& (< net45) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (>= net46) (< netstandard1.4)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) - System.Security.Cryptography.X509Certificates (>= 4.3) - restriction: || (&& (< net45) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (>= net46) (< netstandard1.4)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) - System.Text.Encoding (>= 4.3) - restriction: || (&& (< net45) (>= netstandard1.1) (< netstandard1.2) (< win8)) (&& (< net45) (>= netstandard1.2) (< netstandard1.3) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (>= netstandard1.0) (< portable-net45+win8+wpa81) (< wp8)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) - System.Text.Encoding.Extensions (>= 4.3) - restriction: || (&& (< net45) (>= netstandard1.1) (< netstandard1.2) (< win8)) (&& (< net45) (>= netstandard1.2) (< netstandard1.3) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (>= netstandard1.0) (< portable-net45+win8+wpa81) (< wp8)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) - System.Text.RegularExpressions (>= 4.3) - restriction: || (&& (< net45) (>= netstandard1.1) (< netstandard1.2) (< win8)) (&& (< net45) (>= netstandard1.2) (< netstandard1.3) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (>= netstandard1.0) (< portable-net45+win8+wpa81) (< wp8)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) - System.Threading (>= 4.3) - restriction: || (&& (< net45) (>= netstandard1.1) (< netstandard1.2) (< win8)) (&& (< net45) (>= netstandard1.2) (< netstandard1.3) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (>= netstandard1.0) (< portable-net45+win8+wpa81) (< wp8)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) - System.Threading.Tasks (>= 4.3) - restriction: || (&& (< net45) (>= netstandard1.1) (< netstandard1.2) (< win8)) (&& (< net45) (>= netstandard1.2) (< netstandard1.3) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (>= netstandard1.0) (< portable-net45+win8+wpa81) (< wp8)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) - System.Threading.Timer (>= 4.3) - restriction: || (&& (< net45) (>= netstandard1.2) (< netstandard1.3) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) - System.Xml.ReaderWriter (>= 4.3) - restriction: || (&& (< net45) (>= netstandard1.1) (< netstandard1.2) (< win8)) (&& (< net45) (>= netstandard1.2) (< netstandard1.3) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (>= net46) (< netstandard1.4)) (&& (>= netstandard1.0) (< portable-net45+win8+wpa81) (< wp8)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) - System.Xml.XDocument (>= 4.3) - restriction: || (&& (< net45) (>= netstandard1.1) (< netstandard1.2) (< win8)) (&& (< net45) (>= netstandard1.2) (< netstandard1.3) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (>= netstandard1.0) (< portable-net45+win8+wpa81) (< wp8)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) - Newtonsoft.Json (11.0.2) - Microsoft.CSharp (>= 4.3) - restriction: || (&& (< net20) (>= netstandard1.0) (< netstandard1.3)) (&& (< net20) (>= netstandard1.3) (< netstandard2.0)) - NETStandard.Library (>= 1.6.1) - restriction: || (&& (< net20) (>= netstandard1.0) (< netstandard1.3)) (&& (< net20) (>= netstandard1.3) (< netstandard2.0)) - System.ComponentModel.TypeConverter (>= 4.3) - restriction: || (&& (< net20) (>= netstandard1.0) (< netstandard1.3)) (&& (< net20) (>= netstandard1.3) (< netstandard2.0)) - System.Runtime.Serialization.Formatters (>= 4.3) - restriction: && (< net20) (>= netstandard1.3) (< netstandard2.0) - System.Runtime.Serialization.Primitives (>= 4.3) - restriction: || (&& (< net20) (>= netstandard1.0) (< netstandard1.3)) (&& (< net20) (>= netstandard1.3) (< netstandard2.0)) - System.Xml.XmlDocument (>= 4.3) - restriction: && (< net20) (>= netstandard1.3) (< netstandard2.0) - Octokit (0.29) - NETStandard.Library (>= 1.6) - restriction: && (< net45) (>= netstandard1.1) - runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.2) - restriction: || (&& (< monoandroid) (< monotouch) (< net20) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net20) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net20) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= net46) (< netstandard1.3) (>= netstandard1.6)) (&& (< net20) (>= net46) (< netstandard1.4) (>= netstandard1.6)) (&& (< netstandard1.3) (>= netstandard1.6) (>= uap10.0)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) - runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.2) - restriction: || (&& (< monoandroid) (< monotouch) (< net20) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net20) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net20) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= net46) (< netstandard1.3) (>= netstandard1.6)) (&& (< net20) (>= net46) (< netstandard1.4) (>= netstandard1.6)) (&& (< netstandard1.3) (>= netstandard1.6) (>= uap10.0)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) - runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.2) - restriction: || (&& (< monoandroid) (< monotouch) (< net20) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net20) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net20) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= net46) (< netstandard1.3) (>= netstandard1.6)) (&& (< net20) (>= net46) (< netstandard1.4) (>= netstandard1.6)) (&& (< netstandard1.3) (>= netstandard1.6) (>= uap10.0)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) - runtime.native.System (4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net20) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net20) (< netstandard1.0) (>= netstandard1.3) (< win8)) (&& (< monoandroid) (< net20) (>= netstandard1.1) (< netstandard1.2) (< win8)) (&& (< monoandroid) (< net20) (>= netstandard1.2) (< netstandard1.3) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.2) (>= netstandard1.3) (< win8)) (&& (< monoandroid) (< net20) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net20) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.3) (>= netstandard1.5) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= net45) (< netstandard1.3)) (&& (< net20) (>= net46) (< netstandard1.3)) (&& (< net20) (>= net46) (< netstandard1.4)) (&& (< net20) (< netstandard1.0) (>= netstandard1.3) (< portable-net45+win8)) (&& (< netstandard1.3) (>= netstandard1.6) (>= uap10.0)) (&& (< netstandard1.3) (>= uap10.0) (< win8) (< wpa81)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) (&& (< netstandard1.5) (>= uap10.0) (< win8) (< wpa81)) - Microsoft.NETCore.Platforms (>= 1.1) - Microsoft.NETCore.Targets (>= 1.1) - runtime.native.System.IO.Compression (4.3.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net20) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net20) (< netstandard1.2) (>= netstandard1.3) (< win8)) (&& (< monoandroid) (< net20) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.3) (>= netstandard1.5) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= net46) (< netstandard1.3)) (&& (< net20) (>= net46) (< netstandard1.4)) (&& (< net20) (>= net46) (< portable-net45+win8+wpa81)) (&& (< net20) (>= netstandard1.1) (< portable-net45+win8+wpa81)) (&& (< net20) (>= netstandard1.2) (< portable-net45+win8+wpa81)) (&& (< net20) (>= netstandard1.3) (< portable-net45+win8+wpa81)) (&& (< net20) (>= netstandard1.4) (< portable-net45+win8+wpa81)) (&& (< net20) (>= netstandard1.5) (< portable-net45+win8+wpa81)) (&& (< net20) (>= netstandard1.6) (< portable-net45+win8+wpa81)) (&& (< netstandard1.3) (>= uap10.0) (< win8) (< wpa81)) (&& (< netstandard1.5) (>= uap10.0) (< win8) (< wpa81)) (&& (< portable-net45+win8+wpa81) (>= uap10.0)) - Microsoft.NETCore.Platforms (>= 1.1) - Microsoft.NETCore.Targets (>= 1.1.1) - runtime.native.System.Net.Http (4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net20) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net20) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net20) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= net46) (< netstandard1.3) (>= netstandard1.6)) (&& (< net20) (>= net46) (< netstandard1.4) (>= netstandard1.6)) (&& (< netstandard1.3) (>= netstandard1.6) (>= uap10.0)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) - Microsoft.NETCore.Platforms (>= 1.1) - Microsoft.NETCore.Targets (>= 1.1) - runtime.native.System.Security.Cryptography.Apple (4.3.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net20) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net20) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= net46) (< netstandard1.3) (>= netstandard1.6)) (&& (< net20) (>= net46) (< netstandard1.4) (>= netstandard1.6)) (&& (< netstandard1.3) (>= netstandard1.6) (>= uap10.0)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) - runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple (>= 4.3.1) - runtime.native.System.Security.Cryptography.OpenSsl (4.3.2) - restriction: || (&& (< monoandroid) (< monotouch) (< net20) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net20) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net20) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.3) (>= netstandard1.5) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= net46) (< netstandard1.3)) (&& (< net20) (>= net46) (< netstandard1.4)) (&& (< netstandard1.3) (>= uap10.0)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) - runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.2) - runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.2) - runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.2) - runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.2) - runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.2) - runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.2) - runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.2) - runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.2) - runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.2) - runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.2) - runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.2) - restriction: || (&& (< monoandroid) (< monotouch) (< net20) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net20) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net20) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= net46) (< netstandard1.3) (>= netstandard1.6)) (&& (< net20) (>= net46) (< netstandard1.4) (>= netstandard1.6)) (&& (< netstandard1.3) (>= netstandard1.6) (>= uap10.0)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) - runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.2) - restriction: || (&& (< monoandroid) (< monotouch) (< net20) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net20) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net20) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= net46) (< netstandard1.3) (>= netstandard1.6)) (&& (< net20) (>= net46) (< netstandard1.4) (>= netstandard1.6)) (&& (< netstandard1.3) (>= netstandard1.6) (>= uap10.0)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) - runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple (4.3.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net20) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net20) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= net46) (< netstandard1.3) (>= netstandard1.6)) (&& (< net20) (>= net46) (< netstandard1.4) (>= netstandard1.6)) (&& (< netstandard1.3) (>= netstandard1.6) (>= uap10.0)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) - runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.2) - restriction: || (&& (< monoandroid) (< monotouch) (< net20) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net20) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net20) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= net46) (< netstandard1.3) (>= netstandard1.6)) (&& (< net20) (>= net46) (< netstandard1.4) (>= netstandard1.6)) (&& (< netstandard1.3) (>= netstandard1.6) (>= uap10.0)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) - runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.2) - restriction: || (&& (< monoandroid) (< monotouch) (< net20) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net20) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net20) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= net46) (< netstandard1.3) (>= netstandard1.6)) (&& (< net20) (>= net46) (< netstandard1.4) (>= netstandard1.6)) (&& (< netstandard1.3) (>= netstandard1.6) (>= uap10.0)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) - runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.2) - restriction: || (&& (< monoandroid) (< monotouch) (< net20) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net20) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net20) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= net46) (< netstandard1.3) (>= netstandard1.6)) (&& (< net20) (>= net46) (< netstandard1.4) (>= netstandard1.6)) (&& (< netstandard1.3) (>= netstandard1.6) (>= uap10.0)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) - runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.2) - restriction: || (&& (< monoandroid) (< monotouch) (< net20) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net20) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net20) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= net46) (< netstandard1.3) (>= netstandard1.6)) (&& (< net20) (>= net46) (< netstandard1.4) (>= netstandard1.6)) (&& (< netstandard1.3) (>= netstandard1.6) (>= uap10.0)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) - runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.2) - restriction: || (&& (< monoandroid) (< monotouch) (< net20) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net20) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net20) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= net46) (< netstandard1.3) (>= netstandard1.6)) (&& (< net20) (>= net46) (< netstandard1.4) (>= netstandard1.6)) (&& (< netstandard1.3) (>= netstandard1.6) (>= uap10.0)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) - System.AppContext (4.3) - restriction: || (&& (< net20) (>= net46) (< netstandard1.3)) (&& (< net20) (>= net46) (< netstandard1.4)) (&& (< net20) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.5) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (< netstandard1.3) (>= uap10.0)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) - System.Runtime (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net46) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net46) (>= netstandard1.3) (< netstandard1.6)) (&& (< monoandroid) (< netstandard1.3)) - System.Buffers (4.5) - restriction: || (&& (< monoandroid) (< monotouch) (< net20) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net20) (< netstandard1.2) (>= netstandard1.3) (< win8)) (&& (< monoandroid) (< net20) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.3) (>= netstandard1.5) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= net46) (< netstandard1.3)) (&& (< net20) (>= net46) (< netstandard1.4)) (&& (< net20) (>= net46) (< portable-net45+win8+wpa81)) (&& (< net20) (>= netstandard1.1) (< portable-net45+win8+wpa81)) (&& (< net20) (>= netstandard1.2) (< portable-net45+win8+wpa81)) (&& (< net20) (>= netstandard1.3) (< portable-net45+win8+wpa81)) (&& (< net20) (>= netstandard1.4) (< portable-net45+win8+wpa81)) (&& (< net20) (>= netstandard1.5) (< portable-net45+win8+wpa81)) (&& (< net20) (>= netstandard1.6) (< portable-net45+win8+wpa81)) (&& (< netstandard1.3) (>= uap10.0)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) (&& (< netstandard1.5) (>= uap10.0) (< win8) (< wpa81)) (&& (< portable-net45+win8+wpa81) (>= uap10.0)) - System.Diagnostics.Debug (>= 4.3) - restriction: && (< net45) (>= netstandard1.1) (< netstandard2.0) (< win8) (< wpa81) - System.Diagnostics.Tracing (>= 4.3) - restriction: && (< net45) (>= netstandard1.1) (< netstandard2.0) (< win8) (< wpa81) - System.Resources.ResourceManager (>= 4.3) - restriction: && (< net45) (>= netstandard1.1) (< netstandard2.0) (< win8) (< wpa81) - System.Runtime (>= 4.3) - restriction: && (< net45) (>= netstandard1.1) (< netstandard2.0) (< win8) (< wpa81) - System.Threading (>= 4.3) - restriction: && (< net45) (>= netstandard1.1) (< netstandard2.0) (< win8) (< wpa81) - System.Collections (4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net20) (>= netstandard1.3) (< netstandard2.0) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< monotouch) (< net20) (>= netstandard1.4) (< netstandard2.0) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< monotouch) (< net20) (>= netstandard1.5) (< netstandard2.0) (< win8) (< wpa81) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net20) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net20) (>= netstandard1.3) (< netstandard1.5) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= net46) (< netstandard1.3)) (&& (< net20) (>= net46) (< netstandard1.4)) (&& (< net20) (>= net46) (< portable-net45+win8+wpa81)) (&& (< net20) (>= netstandard1.0) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.0) (< portable-net45+win8+wpa81) (< wp8)) (&& (< net20) (>= netstandard1.1) (< netstandard1.2) (< win8)) (&& (< net20) (>= netstandard1.1) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.1) (< portable-net45+win8+wpa81)) (&& (< net20) (>= netstandard1.2) (< netstandard1.3) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.2) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.2) (< portable-net45+win8+wpa81)) (&& (< net20) (< netstandard1.2) (>= netstandard1.3) (< win8)) (&& (< net20) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.3) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.3) (< portable-net45+win8+wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.5) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.4) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.4) (< portable-net45+win8+wpa81)) (&& (< net20) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.5) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.5) (< portable-net45+win8+wpa81)) (&& (< net20) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.6) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.6) (< portable-net45+win8+wpa81)) (&& (< netstandard1.3) (>= uap10.0)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) (&& (< netstandard1.5) (>= uap10.0) (< win8) (< wpa81)) (&& (< portable-net45+win8+wp8+wpa81) (>= uap10.0)) (&& (< portable-net45+win8+wpa81) (>= uap10.0)) - 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)) (< portable-net45+win8+wp8+wpa81) - 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)) (< portable-net45+win8+wp8+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)) (< portable-net45+win8+wp8+wpa81) - System.Collections.Concurrent (4.3) - restriction: || (&& (< net20) (>= net46) (< netstandard1.3)) (&& (< net20) (>= net46) (< netstandard1.4)) (&& (< net20) (>= netstandard1.1) (< netstandard1.2) (< win8)) (&& (< net20) (>= netstandard1.2) (< netstandard1.3) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.2) (>= netstandard1.3) (< win8)) (&& (< net20) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.5) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (< netstandard1.3) (>= uap10.0)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) - System.Collections (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wpa81) - System.Diagnostics.Debug (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wpa81) - System.Diagnostics.Tracing (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wpa81) - System.Globalization (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wpa81) - System.Reflection (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Resources.ResourceManager (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wpa81) - System.Runtime (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.1) (< netstandard1.3) (< win8) (< wpa81)) (< portable-net45+win8+wpa81) - System.Runtime.Extensions (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wpa81) - System.Threading (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wpa81) - System.Threading.Tasks (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.1) (< netstandard1.3) (< win8) (< wpa81)) (< portable-net45+win8+wpa81) - System.Collections.NonGeneric (4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net20) (>= netstandard1.5) (< netstandard2.0) (< win8) (< wpa81) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net20) (< netstandard1.3) (>= netstandard1.5) (< win8) (< wpa81)) (&& (< net20) (>= net462) (< netstandard1.3)) (&& (< net20) (>= net462) (< netstandard2.0)) - System.Diagnostics.Debug (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Globalization (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Resources.ResourceManager (>= 4.3) - 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.Extensions (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Threading (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Collections.Specialized (4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net20) (>= netstandard1.5) (< netstandard2.0) (< win8) (< wpa81) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net20) (< netstandard1.3) (>= netstandard1.5) (< win8) (< wpa81)) - System.Collections.NonGeneric (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Globalization (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Globalization.Extensions (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Resources.ResourceManager (>= 4.3) - 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.Extensions (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Threading (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.ComponentModel (4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net20) (>= netstandard1.5) (< netstandard2.0) (< win8) (< wpa81) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net20) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (&& (< monoandroid) (< net20) (>= netstandard1.3) (< netstandard1.5) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.3) (>= netstandard1.5) (< 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)) (< portable-net45+win8+wp8+wpa81) - System.ComponentModel.Primitives (4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net20) (>= netstandard1.5) (< netstandard2.0) (< win8) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net20) (>= netstandard1.0) (< netstandard1.3) (< win8)) (&& (< monoandroid) (< net20) (>= netstandard1.3) (< netstandard1.5) (< win8)) (&& (< monoandroid) (< net20) (< netstandard1.3) (>= netstandard1.5) (< win8)) (&& (< net20) (>= net45) (>= netstandard1.3) (< netstandard1.5)) (&& (< net20) (>= net45) (< netstandard1.3)) (&& (< net20) (>= net462) (< netstandard1.3)) (&& (< net20) (>= net462) (< netstandard2.0)) (&& (< netstandard1.0) (>= netstandard1.3) (>= win8)) (&& (>= netstandard1.3) (< netstandard2.0) (>= wpa81)) (&& (< netstandard1.3) (>= wpa81)) (>= wp8) - System.ComponentModel (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net45) (>= netstandard1.0) (< win8) (< wp8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Resources.ResourceManager (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net45) (>= netstandard1.0) (< win8) (< wp8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Runtime (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net45) (>= netstandard1.0) (< win8) (< wp8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.ComponentModel.TypeConverter (4.3) - restriction: || (&& (< net20) (>= netstandard1.0) (< netstandard1.3)) (&& (< net20) (>= netstandard1.3) (< netstandard2.0)) - System.Collections (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.5) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.5) (< win8) (< wp8) (< wpa81)) - System.Collections.NonGeneric (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.5) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= net462) - System.Collections.Specialized (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net45) (>= netstandard1.5) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.ComponentModel (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.5) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.5) (< win8) (< wp8) (< wpa81)) - System.ComponentModel.Primitives (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.5) (< win8) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.5) (< win8)) (&& (>= net45) (< netstandard1.5)) (>= net462) (&& (< netstandard1.0) (>= win8)) (>= wp8) (>= wpa81) - System.Globalization (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.5) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.5) (< win8) (< wp8) (< wpa81)) - System.Linq (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net45) (>= netstandard1.5) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Reflection (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.5) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.5) (< win8) (< wp8) (< wpa81)) - System.Reflection.Extensions (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.5) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.5) (< win8) (< wp8) (< wpa81)) - System.Reflection.Primitives (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.5) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.5) (< win8) (< wp8) (< wpa81)) - System.Reflection.TypeExtensions (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net45) (>= netstandard1.5) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Resources.ResourceManager (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.5) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.5) (< win8) (< wp8) (< wpa81)) - System.Runtime (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.5) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.5) (< win8) (< wp8) (< wpa81)) - System.Runtime.Extensions (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.5) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.5) (< win8) (< wp8) (< wpa81)) - System.Threading (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.5) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.5) (< win8) (< wp8) (< wpa81)) - System.Console (4.3.1) - restriction: || (&& (< net20) (>= net46) (< netstandard1.3)) (&& (< net20) (>= net46) (< netstandard1.4)) (&& (< net20) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.5) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (< netstandard1.3) (>= uap10.0)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) - Microsoft.NETCore.Platforms (>= 1.1) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - Microsoft.NETCore.Targets (>= 1.1.2) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.IO (>= 4.3) - 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.Text.Encoding (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Diagnostics.Debug (4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net20) (>= netstandard1.3) (< netstandard2.0) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< monotouch) (< net20) (>= netstandard1.5) (< netstandard2.0) (< win8) (< wpa81) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net20) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net20) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= net46) (< netstandard1.3)) (&& (< net20) (>= net46) (< netstandard1.4)) (&& (< net20) (>= net46) (< portable-net45+win8+wpa81)) (&& (< net20) (>= net462) (< netstandard1.3)) (&& (< net20) (>= net462) (< netstandard2.0)) (&& (< net20) (>= netstandard1.0) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.0) (< portable-net45+win8+wpa81) (< wp8)) (&& (< net20) (>= netstandard1.1) (< netstandard1.2) (< win8)) (&& (< net20) (>= netstandard1.1) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.1) (< portable-net45+win8+wpa81)) (&& (< net20) (>= netstandard1.2) (< netstandard1.3) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.2) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.2) (< portable-net45+win8+wpa81)) (&& (< net20) (< netstandard1.2) (>= netstandard1.3) (< win8)) (&& (< net20) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.3) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.3) (< portable-net45+win8+wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.5) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.4) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.4) (< portable-net45+win8+wpa81)) (&& (< net20) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.5) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.5) (< portable-net45+win8+wpa81)) (&& (< net20) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.6) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.6) (< portable-net45+win8+wpa81)) (&& (< netstandard1.3) (>= uap10.0)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) (&& (< netstandard1.5) (>= uap10.0) (< win8) (< wpa81)) (&& (< portable-net45+win8+wp8+wpa81) (>= uap10.0)) (&& (< portable-net45+win8+wpa81) (>= uap10.0)) - 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)) (< portable-net45+win8+wp8+wpa81) - 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)) (< portable-net45+win8+wp8+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)) (< portable-net45+win8+wp8+wpa81) - System.Diagnostics.DiagnosticSource (4.5) - restriction: || (&& (< monoandroid) (< monotouch) (< net20) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net20) (< netstandard1.2) (>= netstandard1.3) (< win8)) (&& (< monoandroid) (< net20) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net20) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.3) (>= netstandard1.5) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= net46) (< netstandard1.3)) (&& (< net20) (>= net46) (< netstandard1.4)) (&& (< net20) (>= net46) (< portable-net45+win8+wpa81)) (&& (< net20) (>= netstandard1.1) (< portable-net45+win8+wpa81)) (&& (< net20) (>= netstandard1.2) (< portable-net45+win8+wpa81)) (&& (< net20) (>= netstandard1.3) (< portable-net45+win8+wpa81)) (&& (< net20) (>= netstandard1.4) (< portable-net45+win8+wpa81)) (&& (< net20) (>= netstandard1.5) (< portable-net45+win8+wpa81)) (&& (< net20) (>= netstandard1.6) (< portable-net45+win8+wpa81)) (&& (< netstandard1.3) (>= netstandard1.6) (>= uap10.0)) (&& (< netstandard1.3) (>= uap10.0) (< win8) (< wpa81)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) (&& (< netstandard1.5) (>= uap10.0) (< win8) (< wpa81)) (&& (< portable-net45+win8+wpa81) (>= uap10.0)) - System.Collections (>= 4.3) - restriction: || (&& (< net45) (>= netstandard1.1) (< netstandard1.3) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.3) (< netstandard2.0) (< win8) (< wpa81)) - System.Diagnostics.Debug (>= 4.3) - restriction: && (< net45) (>= netstandard1.3) (< netstandard2.0) (< win8) (< wpa81) - System.Diagnostics.Tracing (>= 4.3) - restriction: || (&& (< net45) (>= netstandard1.1) (< netstandard1.3) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.3) (< netstandard2.0) (< win8) (< wpa81)) - System.Reflection (>= 4.3) - restriction: || (&& (< net45) (>= netstandard1.1) (< netstandard1.3) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.3) (< netstandard2.0) (< win8) (< wpa81)) - System.Runtime (>= 4.3) - restriction: || (&& (< net45) (>= netstandard1.1) (< netstandard1.3) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.3) (< netstandard2.0) (< win8) (< wpa81)) - System.Runtime.Extensions (>= 4.3) - restriction: && (< net45) (>= netstandard1.3) (< netstandard2.0) (< win8) (< wpa81) - System.Threading (>= 4.3) - restriction: || (&& (< net45) (>= netstandard1.1) (< netstandard1.3) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.3) (< netstandard2.0) (< win8) (< wpa81)) - System.Diagnostics.Tools (4.3) - restriction: || (&& (< net20) (>= netstandard1.0) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.0) (< portable-net45+win8+wpa81) (< wp8)) (&& (< net20) (>= netstandard1.1) (< netstandard1.2) (< win8)) (&& (< net20) (>= netstandard1.1) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.2) (< netstandard1.3) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.2) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (< netstandard1.2) (>= netstandard1.3) (< win8)) (&& (< net20) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.3) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.3) (< portable-net45+win8+wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.5) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.4) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.5) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.6) (< portable-net45+win8+wp8+wpa81)) (&& (< netstandard1.3) (>= uap10.0)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) (&& (< netstandard1.5) (>= uap10.0) (< win8) (< wpa81)) (&& (< portable-net45+win8+wp8+wpa81) (>= uap10.0)) - Microsoft.NETCore.Platforms (>= 1.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.0) (< win8) (< wp8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wp8+wpa81) - Microsoft.NETCore.Targets (>= 1.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.0) (< win8) (< wp8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wp8+wpa81) - System.Runtime (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.0) (< win8) (< wp8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wp8+wpa81) - System.Diagnostics.Tracing (4.3) - restriction: || (&& (< monoandroid) (< net20) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net20) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= net46) (< netstandard1.3)) (&& (< net20) (>= net46) (< netstandard1.4)) (&& (< net20) (>= net46) (< portable-net45+win8+wpa81)) (&& (< net20) (>= netstandard1.1) (< netstandard1.2) (< win8)) (&& (< net20) (>= netstandard1.1) (< portable-net45+win8+wpa81)) (&& (< net20) (>= netstandard1.2) (< netstandard1.3) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.2) (< portable-net45+win8+wpa81)) (&& (< net20) (< netstandard1.2) (>= netstandard1.3) (< win8)) (&& (< net20) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.3) (< portable-net45+win8+wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.5) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.4) (< portable-net45+win8+wpa81)) (&& (< net20) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.5) (< portable-net45+win8+wpa81)) (&& (< net20) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.6) (< portable-net45+win8+wpa81)) (&& (< netstandard1.3) (>= uap10.0)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) (&& (< netstandard1.5) (>= uap10.0) (< win8) (< wpa81)) (&& (< portable-net45+win8+wpa81) (>= uap10.0)) - 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)) (< portable-net45+win8+wpa81) - 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)) (< portable-net45+win8+wpa81) - System.Runtime (>= 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)) (< portable-net45+win8+wpa81) - System.Dynamic.Runtime (4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net20) (>= netstandard1.3) (< netstandard2.0) (< win8) (< wpa81) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net20) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (&& (< net20) (>= netstandard1.0) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.3) (< portable-net45+win8+wp8+wpa81)) - System.Collections (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wp8+wpa81) - System.Diagnostics.Debug (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wp8+wpa81) - System.Linq (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wp8+wpa81) - System.Linq.Expressions (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (< portable-net45+win8+wp8+wpa81) - System.ObjectModel (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (< portable-net45+win8+wp8+wpa81) - System.Reflection (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (< portable-net45+win8+wp8+wpa81) - System.Reflection.Emit (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Reflection.Emit.ILGeneration (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Reflection.Primitives (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Reflection.TypeExtensions (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wp8+wpa81) - System.Resources.ResourceManager (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wp8+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)) (< portable-net45+win8+wp8+wpa81) - System.Runtime.Extensions (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wp8+wpa81) - System.Threading (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wp8+wpa81) - System.Globalization (4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net20) (>= netstandard1.3) (< netstandard2.0) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< monotouch) (< net20) (>= netstandard1.5) (< netstandard2.0) (< win8) (< wpa81) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net20) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net20) (>= netstandard1.3) (< netstandard1.5) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= net46) (< netstandard1.3)) (&& (< net20) (>= net46) (< netstandard1.4)) (&& (< net20) (>= net46) (< portable-net45+win8+wpa81)) (&& (< net20) (>= net462) (< netstandard1.3)) (&& (< net20) (>= net462) (< netstandard2.0)) (&& (< net20) (>= netstandard1.0) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.0) (< portable-net45+win8+wpa81) (< wp8)) (&& (< net20) (>= netstandard1.1) (< netstandard1.2) (< win8)) (&& (< net20) (>= netstandard1.1) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.1) (< portable-net45+win8+wpa81)) (&& (< net20) (>= netstandard1.2) (< netstandard1.3) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.2) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.2) (< portable-net45+win8+wpa81)) (&& (< net20) (< netstandard1.2) (>= netstandard1.3) (< win8)) (&& (< net20) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.3) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.3) (< portable-net45+win8+wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.5) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.4) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.4) (< portable-net45+win8+wpa81)) (&& (< net20) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.5) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.5) (< portable-net45+win8+wpa81)) (&& (< net20) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.6) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.6) (< portable-net45+win8+wpa81)) (&& (< netstandard1.3) (>= uap10.0)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) (&& (< netstandard1.5) (>= uap10.0) (< win8) (< wpa81)) (&& (< portable-net45+win8+wp8+wpa81) (>= uap10.0)) (&& (< portable-net45+win8+wpa81) (>= uap10.0)) - 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)) (< portable-net45+win8+wp8+wpa81) - 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)) (< portable-net45+win8+wp8+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)) (< portable-net45+win8+wp8+wpa81) - System.Globalization.Calendars (4.3) - restriction: || (&& (< monoandroid) (< net20) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= net46) (< netstandard1.3)) (&& (< net20) (>= net46) (< netstandard1.4)) (&& (< net20) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.5) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (< netstandard1.3) (>= uap10.0)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) - 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.Globalization (>= 4.3) - 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.Globalization.Extensions (4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net20) (>= netstandard1.5) (< netstandard2.0) (< win8) (< wpa81) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< monotouch) (< net20) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net20) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net20) (< netstandard1.3) (>= netstandard1.5) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= net46) (< netstandard1.3) (>= netstandard1.6)) (&& (< net20) (>= net46) (< netstandard1.4) (>= netstandard1.6)) (&& (< netstandard1.3) (>= netstandard1.6) (>= uap10.0)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) - Microsoft.NETCore.Platforms (>= 1.1) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Globalization (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Resources.ResourceManager (>= 4.3) - 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.Extensions (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Runtime.InteropServices (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.IO (4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net20) (>= netstandard1.3) (< netstandard2.0) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net20) (< netstandard1.2) (>= netstandard1.5) (< win8)) (&& (< monoandroid) (< net20) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net20) (< netstandard1.4) (>= netstandard1.5) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= net46) (< netstandard1.3)) (&& (< net20) (>= net46) (< netstandard1.4)) (&& (< net20) (>= net46) (< portable-net45+win8+wpa81)) (&& (< net20) (>= netstandard1.0) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.0) (< portable-net45+win8+wpa81) (< wp8)) (&& (< net20) (>= netstandard1.1) (< netstandard1.2) (< win8)) (&& (< net20) (>= netstandard1.1) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.1) (< portable-net45+win8+wpa81)) (&& (< net20) (>= netstandard1.2) (< netstandard1.3) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.2) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.2) (< portable-net45+win8+wpa81)) (&& (< net20) (< netstandard1.2) (>= netstandard1.3) (< win8)) (&& (< net20) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.3) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.3) (< portable-net45+win8+wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.5) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.4) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.4) (< portable-net45+win8+wpa81)) (&& (< net20) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.5) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.5) (< portable-net45+win8+wpa81)) (&& (< net20) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.6) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.6) (< portable-net45+win8+wpa81)) (&& (< netstandard1.3) (>= uap10.0)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) (&& (< netstandard1.5) (>= uap10.0) (< win8) (< wpa81)) (&& (< portable-net45+win8+wp8+wpa81) (>= uap10.0)) (&& (< portable-net45+win8+wpa81) (>= uap10.0)) - 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)) (< portable-net45+win8+wp8+wpa81) - 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)) (< portable-net45+win8+wp8+wpa81) - 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)) (< portable-net45+win8+wp8+wpa81) - 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)) (< portable-net45+win8+wp8+wpa81) - 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)) (< portable-net45+win8+wp8+wpa81) - System.IO.Compression (4.3) - restriction: || (&& (< net20) (>= net46) (< netstandard1.3)) (&& (< net20) (>= net46) (< netstandard1.4)) (&& (< net20) (>= netstandard1.1) (< netstandard1.2) (< win8)) (&& (< net20) (>= netstandard1.2) (< netstandard1.3) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.2) (>= netstandard1.3) (< win8)) (&& (< net20) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.5) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (< netstandard1.3) (>= uap10.0)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) (&& (< netstandard1.5) (>= uap10.0) (< win8) (< wpa81)) - Microsoft.NETCore.Platforms (>= 1.1) - restriction: && (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - runtime.native.System (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net45) (>= 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)) (< portable-net45+win8+wpa81) - System.Buffers (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wpa81) - System.Collections (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wpa81) - System.Diagnostics.Debug (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wpa81) - System.IO (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.1) (< netstandard1.3) (< win8) (< wpa81)) (< portable-net45+win8+wpa81) - System.Resources.ResourceManager (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wpa81) - System.Runtime (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.1) (< netstandard1.3) (< win8) (< wpa81)) (< portable-net45+win8+wpa81) - System.Runtime.Extensions (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wpa81) - System.Runtime.Handles (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wpa81) - System.Runtime.InteropServices (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wpa81) - 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)) (< portable-net45+win8+wpa81) - System.Threading (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wpa81) - System.Threading.Tasks (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wpa81) - System.IO.Compression.ZipFile (4.3) - restriction: || (&& (< net20) (>= net46) (< netstandard1.3)) (&& (< net20) (>= net46) (< netstandard1.4)) (&& (< net20) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.5) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (< netstandard1.3) (>= uap10.0)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) - System.Buffers (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.IO (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.IO.Compression (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.IO.FileSystem (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.IO.FileSystem.Primitives (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Resources.ResourceManager (>= 4.3) - 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.Extensions (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Text.Encoding (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.IO.FileSystem (4.3) - restriction: || (&& (< monoandroid) (< net20) (< netstandard1.2) (>= netstandard1.3) (< win8)) (&& (< monoandroid) (< net20) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net20) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= net46) (< netstandard1.3)) (&& (< net20) (>= net46) (< netstandard1.4)) (&& (< net20) (>= net46) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.0) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.1) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.2) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.3) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.3) (< portable-net45+win8+wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.5) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.4) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.5) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.6) (< portable-net45+win8+wp8+wpa81)) (&& (< netstandard1.3) (>= uap10.0)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) (&& (< netstandard1.5) (>= uap10.0) (< win8) (< wpa81)) (&& (< portable-net45+win8+wp8+wpa81) (>= uap10.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.IO (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.IO.FileSystem.Primitives (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= net46) - System.Runtime (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Runtime.Handles (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Text.Encoding (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Threading.Tasks (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.IO.FileSystem.Primitives (4.3) - restriction: || (&& (< monoandroid) (< net20) (< netstandard1.2) (>= netstandard1.3) (< win8)) (&& (< monoandroid) (< net20) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= net46) (< netstandard1.3)) (&& (< net20) (>= net46) (< netstandard1.4)) (&& (< net20) (>= net46) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.0) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.1) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.2) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.3) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.3) (< portable-net45+win8+wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.5) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.4) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.5) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.6) (< portable-net45+win8+wp8+wpa81)) (&& (< netstandard1.3) (>= uap10.0)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) (&& (< netstandard1.5) (>= uap10.0) (< win8) (< wpa81)) (&& (< portable-net45+win8+wp8+wpa81) (>= uap10.0)) - System.Runtime (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Linq (4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net20) (>= netstandard1.3) (< netstandard2.0) (< win8) (< wpa81) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< monotouch) (< net20) (>= netstandard1.5) (< netstandard2.0) (< win8) (< wpa81) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net20) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net20) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= net46) (< netstandard1.3)) (&& (< net20) (>= net46) (< netstandard1.4)) (&& (< net20) (>= netstandard1.0) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.0) (< portable-net45+win8+wpa81) (< wp8)) (&& (< net20) (>= netstandard1.1) (< netstandard1.2) (< win8)) (&& (< net20) (>= netstandard1.1) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.2) (< netstandard1.3) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.2) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (< netstandard1.2) (>= netstandard1.3) (< win8)) (&& (< net20) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.3) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.3) (< portable-net45+win8+wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.5) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.4) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.5) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.6) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.6) (< portable-net45+win8+wpa81)) (&& (< netstandard1.3) (>= uap10.0)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) (&& (< portable-net45+win8+wp8+wpa81) (>= uap10.0)) - System.Collections (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.6) (< win8) (< wp8) (< wpa81)) (< portable-net45+win8+wp8+wpa81) - System.Diagnostics.Debug (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wp8+wpa81) - System.Resources.ResourceManager (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wp8+wpa81) - System.Runtime (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.6) (< win8) (< wp8) (< wpa81)) (< portable-net45+win8+wp8+wpa81) - System.Runtime.Extensions (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wp8+wpa81) - System.Linq.Expressions (4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net20) (>= netstandard1.3) (< netstandard2.0) (< win8) (< wpa81) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net20) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (&& (< net20) (>= netstandard1.0) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.0) (< portable-net45+win8+wpa81) (< wp8)) (&& (< net20) (>= netstandard1.1) (< netstandard1.2) (< win8)) (&& (< net20) (>= netstandard1.2) (< netstandard1.3) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.2) (>= netstandard1.3) (< win8)) (&& (< net20) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.3) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.3) (< portable-net45+win8+wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.5) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (< netstandard1.3) (>= uap10.0)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) - System.Collections (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wp8+wpa81) - System.Diagnostics.Debug (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wp8+wpa81) - System.Globalization (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wp8+wpa81) - System.IO (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wp8+wpa81) - System.Linq (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wp8+wpa81) - System.ObjectModel (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Reflection (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.6) (< win8) (< wpa81)) (< portable-net45+win8+wp8+wpa81) - System.Reflection.Emit (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Reflection.Emit.ILGeneration (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wp8+wpa81) - System.Reflection.Emit.Lightweight (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wp8+wpa81) - System.Reflection.Extensions (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wp8+wpa81) - System.Reflection.Primitives (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wp8+wpa81) - System.Reflection.TypeExtensions (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wp8+wpa81) - System.Resources.ResourceManager (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wp8+wpa81) - System.Runtime (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.6) (< win8) (< wpa81)) (< portable-net45+win8+wp8+wpa81) - System.Runtime.Extensions (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wp8+wpa81) - System.Threading (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wp8+wpa81) - System.Net.Http (4.3.3) - restriction: || (&& (< net20) (>= net46) (< netstandard1.3)) (&& (< net20) (>= net46) (< netstandard1.4)) (&& (< net20) (>= netstandard1.1) (< netstandard1.2) (< win8)) (&& (< net20) (>= netstandard1.2) (< netstandard1.3) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.2) (>= netstandard1.3) (< win8)) (&& (< net20) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.5) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (< netstandard1.3) (>= uap10.0)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) - Microsoft.NETCore.Platforms (>= 1.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.6) (< win8) (< wpa81)) (< portable-net45+win8+wpa81) - Microsoft.Win32.Primitives (>= 4.3) - restriction: && (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.6) (< win8) (< wpa81) - runtime.native.System (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - runtime.native.System.Net.Http (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.2) - restriction: && (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Collections (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.6) (< win8) (< wpa81)) (< portable-net45+win8+wpa81) - System.Diagnostics.Debug (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.6) (< win8) (< wpa81)) (< portable-net45+win8+wpa81) - System.Diagnostics.DiagnosticSource (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.6) (< win8) (< wpa81)) (< portable-net45+win8+wpa81) - System.Diagnostics.Tracing (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.6) (< win8) (< wpa81)) (< portable-net45+win8+wpa81) - System.Globalization (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.6) (< win8) (< wpa81)) (< portable-net45+win8+wpa81) - System.Globalization.Extensions (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.IO (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.1) (< netstandard1.3) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.6) (< win8) (< wpa81)) (< portable-net45+win8+wpa81) - System.IO.Compression (>= 4.3) - restriction: && (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.6) (< win8) (< wpa81) - System.IO.FileSystem (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Net.Primitives (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.1) (< netstandard1.3) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.6) (< win8) (< wpa81)) (< portable-net45+win8+wpa81) - System.Resources.ResourceManager (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.6) (< win8) (< wpa81)) (< portable-net45+win8+wpa81) - System.Runtime (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.1) (< netstandard1.3) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.6) (< win8) (< wpa81)) (< portable-net45+win8+wpa81) - System.Runtime.Extensions (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.6) (< win8) (< wpa81)) (< portable-net45+win8+wpa81) - System.Runtime.Handles (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.6) (< win8) (< wpa81)) - System.Runtime.InteropServices (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.6) (< win8) (< wpa81)) (< portable-net45+win8+wpa81) - System.Security.Cryptography.Algorithms (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Security.Cryptography.Encoding (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.6) (< win8) (< wpa81)) - System.Security.Cryptography.OpenSsl (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Security.Cryptography.Primitives (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Security.Cryptography.X509Certificates (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.6) (< win8) (< wpa81)) (>= net46) (< portable-net45+win8+wpa81) - System.Text.Encoding (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.1) (< netstandard1.3) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.6) (< win8) (< wpa81)) (< portable-net45+win8+wpa81) - System.Threading (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.6) (< win8) (< wpa81)) (< portable-net45+win8+wpa81) - System.Threading.Tasks (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.1) (< netstandard1.3) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.6) (< win8) (< wpa81)) (< portable-net45+win8+wpa81) - System.Net.Primitives (4.3) - restriction: || (&& (< monoandroid) (< net20) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net20) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= net46) (< netstandard1.3)) (&& (< net20) (>= net46) (< netstandard1.4)) (&& (< net20) (>= net46) (< portable-net45+win8+wpa81)) (&& (< net20) (>= netstandard1.0) (< portable-net45+win8+wpa81) (< wp8)) (&& (< net20) (>= netstandard1.1) (< netstandard1.2) (< win8)) (&& (< net20) (>= netstandard1.1) (< portable-net45+win8+wpa81)) (&& (< net20) (>= netstandard1.2) (< netstandard1.3) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.2) (< portable-net45+win8+wpa81)) (&& (< net20) (< netstandard1.2) (>= netstandard1.3) (< win8)) (&& (< net20) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.3) (< portable-net45+win8+wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.5) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.4) (< portable-net45+win8+wpa81)) (&& (< net20) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.5) (< portable-net45+win8+wpa81)) (&& (< net20) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.6) (< portable-net45+win8+wpa81)) (&& (< netstandard1.3) (>= uap10.0)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) (&& (< netstandard1.5) (>= uap10.0) (< win8) (< wpa81)) (&& (< portable-net45+win8+wpa81) (>= uap10.0)) - Microsoft.NETCore.Platforms (>= 1.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.1) (< netstandard1.3) (< win8) (< wpa81)) (&& (< monoandroid) (>= netstandard1.0) (< netstandard1.1) (< win8) (< wp8)) (< portable-net45+win8+wp8+wpa81) - Microsoft.NETCore.Targets (>= 1.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.1) (< netstandard1.3) (< win8) (< wpa81)) (&& (< monoandroid) (>= netstandard1.0) (< netstandard1.1) (< win8) (< wp8)) (< portable-net45+win8+wp8+wpa81) - System.Runtime (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.1) (< netstandard1.3) (< win8) (< wpa81)) (&& (< monoandroid) (>= netstandard1.0) (< netstandard1.1) (< win8) (< wp8)) (< portable-net45+win8+wp8+wpa81) - System.Runtime.Handles (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wp8+wpa81) - System.Net.Sockets (4.3) - restriction: || (&& (< net20) (>= net46) (< netstandard1.3)) (&& (< net20) (>= net46) (< netstandard1.4)) (&& (< net20) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.5) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (< netstandard1.3) (>= uap10.0)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) - 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.IO (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Net.Primitives (>= 4.3) - 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.Threading.Tasks (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.ObjectModel (4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net20) (>= netstandard1.3) (< netstandard2.0) (< win8) (< wpa81) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net20) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net20) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.0) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.0) (< portable-net45+win8+wpa81) (< wp8)) (&& (< net20) (>= netstandard1.1) (< netstandard1.2) (< win8)) (&& (< net20) (>= netstandard1.2) (< netstandard1.3) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.2) (>= netstandard1.3) (< win8)) (&& (< net20) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.3) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.3) (< portable-net45+win8+wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.5) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.6) (< portable-net45+win8+wpa81)) (&& (< netstandard1.3) (>= uap10.0)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) - System.Collections (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wp8+wpa81) - System.Diagnostics.Debug (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wp8+wpa81) - System.Resources.ResourceManager (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wp8+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)) (< portable-net45+win8+wp8+wpa81) - System.Threading (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wp8+wpa81) - System.Reflection (4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net20) (>= netstandard1.4) (< netstandard2.0) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< monotouch) (< net20) (>= netstandard1.5) (< netstandard2.0) (< win8) (< wpa81) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net20) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.2) (>= netstandard1.4) (< win8)) (&& (< monoandroid) (< net20) (< netstandard1.2) (>= netstandard1.5) (< win8)) (&& (< monoandroid) (< net20) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net20) (>= netstandard1.3) (< netstandard1.5) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.4) (>= netstandard1.5) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.0) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.0) (< portable-net45+win8+wpa81) (< wp8)) (&& (< net20) (>= netstandard1.1) (< netstandard1.2) (< win8)) (&& (< net20) (>= netstandard1.1) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.1) (< portable-net45+win8+wpa81)) (&& (< net20) (>= netstandard1.2) (< netstandard1.3) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.2) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.2) (< portable-net45+win8+wpa81)) (&& (< net20) (< netstandard1.2) (>= netstandard1.3) (< win8)) (&& (< net20) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.3) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.3) (< portable-net45+win8+wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.5) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.4) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.4) (< portable-net45+win8+wpa81)) (&& (< net20) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.5) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.5) (< portable-net45+win8+wpa81)) (&& (< net20) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.6) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.6) (< portable-net45+win8+wpa81)) (&& (>= netcoreapp1.0) (< netstandard2.0)) (&& (>= netcoreapp1.0) (< portable-net45+win8+wp8+wpa81)) (&& (>= netcoreapp1.1) (< netstandard1.2)) (&& (>= netcoreapp1.1) (< netstandard1.3)) (&& (>= netcoreapp1.1) (< netstandard1.4)) (&& (>= netcoreapp1.1) (< netstandard1.5)) (&& (>= netcoreapp1.1) (< netstandard1.6)) (&& (>= netcoreapp1.1) (< netstandard2.0)) (&& (< netstandard1.2) (>= uap10.0) (< win8)) (&& (< netstandard1.3) (>= uap10.0)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) (&& (< netstandard1.5) (>= uap10.0) (< win8) (< wpa81)) (&& (< portable-net45+win8+wp8+wpa81) (>= uap10.0)) (&& (< portable-net45+win8+wpa81) (>= uap10.0)) - 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)) (< portable-net45+win8+wp8+wpa81) - 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)) (< portable-net45+win8+wp8+wpa81) - 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)) (< portable-net45+win8+wp8+wpa81) - 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)) (< portable-net45+win8+wp8+wpa81) - 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)) (< portable-net45+win8+wp8+wpa81) - System.Reflection.Emit (4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net20) (>= netstandard1.3) (< netstandard2.0) (< win8) (< wpa81) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< monotouch) (< net20) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net20) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net20) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.3) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.6) (< portable-net45+win8+wpa81)) (&& (< netstandard1.3) (>= netstandard1.6) (>= uap10.0)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) - System.IO (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net45) (>= netstandard1.1) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Reflection (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net45) (>= netstandard1.1) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Reflection.Emit.ILGeneration (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net45) (>= netstandard1.1) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Reflection.Primitives (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net45) (>= netstandard1.1) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Runtime (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net45) (>= netstandard1.1) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Reflection.Emit.ILGeneration (4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net20) (>= netstandard1.3) (< netstandard2.0) (< win8) (< wpa81) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< monotouch) (< net20) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net20) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net20) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.0) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.1) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.2) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.3) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.4) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.5) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.6) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.6) (< portable-net45+win8+wpa81)) (&& (< netstandard1.3) (>= netstandard1.6) (>= uap10.0)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) (&& (< portable-net45+win8+wp8+wpa81) (>= uap10.0)) - System.Reflection (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net45) (>= netstandard1.0) (< wp8) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Reflection.Primitives (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net45) (>= netstandard1.0) (< wp8) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Runtime (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net45) (>= netstandard1.0) (< wp8) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Reflection.Emit.Lightweight (4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net20) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net20) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net20) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.0) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.1) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.2) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.3) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.4) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.5) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.6) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.6) (< portable-net45+win8+wpa81)) (&& (< netstandard1.3) (>= netstandard1.6) (>= uap10.0)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) (&& (< portable-net45+win8+wp8+wpa81) (>= uap10.0)) - System.Reflection (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net45) (>= netstandard1.0) (< wp8) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Reflection.Emit.ILGeneration (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net45) (>= netstandard1.0) (< wp8) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Reflection.Primitives (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net45) (>= netstandard1.0) (< wp8) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Runtime (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net45) (>= netstandard1.0) (< wp8) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Reflection.Extensions (4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net20) (>= netstandard1.5) (< netstandard2.0) (< win8) (< wpa81) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net20) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.0) (>= netstandard1.3) (< win8)) (&& (< monoandroid) (< net20) (< netstandard1.1) (>= netstandard1.2) (< win8)) (&& (< monoandroid) (< net20) (< netstandard1.1) (>= netstandard1.3) (< win8)) (&& (< monoandroid) (< net20) (< netstandard1.1) (>= netstandard1.4) (< win8)) (&& (< monoandroid) (< net20) (< netstandard1.1) (>= netstandard1.5) (< win8)) (&& (< monoandroid) (< net20) (< netstandard1.1) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net20) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net20) (>= netstandard1.3) (< netstandard1.5) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= net45) (< netstandard1.1)) (&& (< net20) (>= net45) (< netstandard1.3)) (&& (< net20) (>= net46) (< netstandard1.1)) (&& (< net20) (>= net46) (< netstandard1.3)) (&& (< net20) (>= net46) (< netstandard1.4)) (&& (< net20) (>= netstandard1.0) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.0) (< portable-net45+win8+wpa81) (< wp8)) (&& (< net20) (< netstandard1.0) (>= netstandard1.3) (< portable-net45+win8)) (&& (< net20) (>= netstandard1.1) (< netstandard1.2) (< win8)) (&& (< net20) (>= netstandard1.1) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.2) (< netstandard1.3) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.2) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (< netstandard1.2) (>= netstandard1.3) (< win8)) (&& (< net20) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.3) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.3) (< portable-net45+win8+wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.5) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.4) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.5) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.6) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.6) (< portable-net45+win8+wpa81)) (&& (< netstandard1.1) (>= uap10.0) (< win8)) (&& (< netstandard1.1) (< win8) (>= wpa81)) (&& (< netstandard1.3) (>= uap10.0)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) (&& (< netstandard1.5) (>= uap10.0) (< win8) (< wpa81)) (&& (< portable-net45+win8+wp8+wpa81) (>= uap10.0)) - Microsoft.NETCore.Platforms (>= 1.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.0) (< win8) (< wp8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wp8+wpa81) - Microsoft.NETCore.Targets (>= 1.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.0) (< win8) (< wp8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wp8+wpa81) - System.Reflection (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.0) (< win8) (< wp8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wp8+wpa81) - System.Runtime (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.0) (< win8) (< wp8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wp8+wpa81) - System.Reflection.Primitives (4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net20) (>= netstandard1.3) (< netstandard2.0) (< win8) (< wpa81) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< monotouch) (< net20) (>= netstandard1.5) (< netstandard2.0) (< win8) (< wpa81) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net20) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.2) (>= netstandard1.4) (< win8)) (&& (< monoandroid) (< net20) (< netstandard1.2) (>= netstandard1.5) (< win8)) (&& (< monoandroid) (< net20) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net20) (>= netstandard1.3) (< netstandard1.5) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.4) (>= netstandard1.5) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.0) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.0) (< portable-net45+win8+wpa81) (< wp8)) (&& (< net20) (>= netstandard1.1) (< netstandard1.2) (< win8)) (&& (< net20) (>= netstandard1.1) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.1) (< portable-net45+win8+wpa81)) (&& (< net20) (>= netstandard1.2) (< netstandard1.3) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.2) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.2) (< portable-net45+win8+wpa81)) (&& (< net20) (< netstandard1.2) (>= netstandard1.3) (< win8)) (&& (< net20) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.3) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.3) (< portable-net45+win8+wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.5) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.4) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.4) (< portable-net45+win8+wpa81)) (&& (< net20) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.5) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.5) (< portable-net45+win8+wpa81)) (&& (< net20) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.6) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.6) (< portable-net45+win8+wpa81)) (&& (>= netcoreapp1.1) (< netstandard1.2)) (&& (>= netcoreapp1.1) (< netstandard1.3)) (&& (>= netcoreapp1.1) (< netstandard1.4)) (&& (>= netcoreapp1.1) (< netstandard1.5)) (&& (>= netcoreapp1.1) (< netstandard1.6)) (&& (>= netcoreapp1.1) (< netstandard2.0)) (&& (< netstandard1.2) (>= uap10.0) (< win8)) (&& (< netstandard1.3) (>= uap10.0)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) (&& (< netstandard1.5) (>= uap10.0) (< win8) (< wpa81)) (&& (< portable-net45+win8+wp8+wpa81) (>= uap10.0)) (&& (< portable-net45+win8+wpa81) (>= uap10.0)) - Microsoft.NETCore.Platforms (>= 1.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.0) (< win8) (< wp8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wp8+wpa81) - Microsoft.NETCore.Targets (>= 1.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.0) (< win8) (< wp8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wp8+wpa81) - System.Runtime (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.0) (< win8) (< wp8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wp8+wpa81) - System.Reflection.TypeExtensions (4.5) - restriction: || (&& (< monoandroid) (< monotouch) (< net20) (>= netstandard1.3) (< netstandard2.0) (< win8) (< wpa81) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< monotouch) (< net20) (>= netstandard1.5) (< netstandard2.0) (< win8) (< wpa81) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< monotouch) (< net20) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net20) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net20) (< netstandard1.3) (>= netstandard1.5) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.0) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.1) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.2) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.3) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.4) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.5) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.6) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.6) (< portable-net45+win8+wpa81)) (&& (< netstandard1.3) (>= netstandard1.6) (>= uap10.0)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) (&& (< portable-net45+win8+wp8+wpa81) (>= uap10.0)) - System.Reflection (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net46) (< netcoreapp1.0) (>= netstandard1.5) (< netstandard2.0) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net46) (>= netstandard1.3) (< netstandard1.5) (< uap10.1)) (&& (< monoandroid) (< netstandard1.3)) (&& (>= netcoreapp1.0) (< netstandard2.0)) - System.Resources.ResourceManager (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net46) (< netcoreapp1.0) (>= netstandard1.5) (< netstandard2.0) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net46) (>= netstandard1.3) (< netstandard1.5) (< uap10.1)) (&& (< monoandroid) (< netstandard1.3)) (&& (>= netcoreapp1.0) (< netstandard2.0)) - System.Runtime (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net46) (< netcoreapp1.0) (>= netstandard1.5) (< netstandard2.0) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net46) (>= netstandard1.3) (< netstandard1.5) (< uap10.1)) (&& (< monoandroid) (< netstandard1.3)) (&& (>= netcoreapp1.0) (< netstandard2.0)) - System.Resources.ResourceManager (4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net20) (>= netstandard1.3) (< netstandard2.0) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< monotouch) (< net20) (>= netstandard1.4) (< netstandard2.0) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< monotouch) (< net20) (>= netstandard1.5) (< netstandard2.0) (< win8) (< wpa81) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net20) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.0) (>= netstandard1.3) (< win8)) (&& (< monoandroid) (< net20) (< netstandard1.1) (>= netstandard1.2) (< win8)) (&& (< monoandroid) (< net20) (< netstandard1.1) (>= netstandard1.3) (< win8)) (&& (< monoandroid) (< net20) (< netstandard1.1) (>= netstandard1.4) (< win8)) (&& (< monoandroid) (< net20) (< netstandard1.1) (>= netstandard1.5) (< win8)) (&& (< monoandroid) (< net20) (< netstandard1.1) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net20) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net20) (>= netstandard1.3) (< netstandard1.5) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= net45) (< netstandard1.1)) (&& (< net20) (>= net45) (< netstandard1.3)) (&& (< net20) (>= net46) (< netstandard1.1)) (&& (< net20) (>= net46) (< netstandard1.3)) (&& (< net20) (>= net46) (< netstandard1.4)) (&& (< net20) (>= net462) (< netstandard1.3)) (&& (< net20) (>= net462) (< netstandard2.0)) (&& (< net20) (>= netstandard1.0) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.0) (< portable-net45+win8+wpa81) (< wp8)) (&& (< net20) (< netstandard1.0) (>= netstandard1.3) (< portable-net45+win8)) (&& (< net20) (>= netstandard1.1) (< netstandard1.2) (< win8)) (&& (< net20) (>= netstandard1.1) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.2) (< netstandard1.3) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.2) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (< netstandard1.2) (>= netstandard1.3) (< win8)) (&& (< net20) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.3) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.3) (< portable-net45+win8+wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.5) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.4) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.5) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.6) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.6) (< portable-net45+win8+wpa81)) (&& (< netstandard1.1) (>= uap10.0) (< win8)) (&& (< netstandard1.1) (< win8) (>= wpa81)) (&& (< netstandard1.3) (>= uap10.0)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) (&& (< netstandard1.5) (>= uap10.0) (< win8) (< wpa81)) (&& (< portable-net45+win8+wp8+wpa81) (>= uap10.0)) - Microsoft.NETCore.Platforms (>= 1.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.0) (< win8) (< wp8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wp8+wpa81) - Microsoft.NETCore.Targets (>= 1.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.0) (< win8) (< wp8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wp8+wpa81) - System.Globalization (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.0) (< win8) (< wp8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wp8+wpa81) - System.Reflection (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.0) (< win8) (< wp8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wp8+wpa81) - System.Runtime (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.0) (< win8) (< wp8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wp8+wpa81) - System.Runtime (4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net20) (>= netstandard1.4) (< netstandard2.0) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< monotouch) (< net20) (>= netstandard1.5) (< netstandard2.0) (< win8) (< wpa81) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net20) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net20) (>= netstandard1.3) (< netstandard1.4)) (&& (< monoandroid) (< net20) (>= netstandard1.3) (< netstandard1.5) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= net46) (< netstandard1.3)) (&& (< net20) (>= net46) (< netstandard1.4)) (&& (< net20) (>= net46) (< portable-net45+win8+wpa81)) (&& (< net20) (>= net462) (< netstandard1.3)) (&& (< net20) (>= net462) (< netstandard2.0)) (&& (< net20) (>= netstandard1.0) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.0) (< portable-net45+win8+wpa81) (< wp8)) (&& (< net20) (>= netstandard1.1) (< netstandard1.2) (< win8)) (&& (< net20) (>= netstandard1.1) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.1) (< portable-net45+win8+wpa81)) (&& (< net20) (>= netstandard1.2) (< netstandard1.3) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.2) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.2) (< portable-net45+win8+wpa81)) (&& (< net20) (>= netstandard1.2) (< portable-net451+win81+wpa81) (< win8)) (&& (< net20) (< netstandard1.2) (>= netstandard1.3) (< win8)) (&& (< net20) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.3) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.3) (< portable-net45+win8+wpa81)) (&& (< net20) (>= netstandard1.3) (< portable-net451+win81+wpa81) (< win8)) (&& (< net20) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.5) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.4) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.4) (< portable-net45+win8+wpa81)) (&& (< net20) (>= netstandard1.4) (< portable-net451+win81+wpa81) (< win8)) (&& (< net20) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.5) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.5) (< portable-net45+win8+wpa81)) (&& (< net20) (>= netstandard1.5) (< portable-net451+win81+wpa81) (< win8)) (&& (< net20) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.6) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.6) (< portable-net45+win8+wpa81)) (&& (< net20) (>= netstandard1.6) (< portable-net451+win81+wpa81) (< win8)) (&& (>= netcoreapp1.0) (< netstandard2.0)) (&& (>= netcoreapp1.0) (< portable-net45+win8+wp8+wpa81)) (&& (< netstandard1.3) (>= uap10.0)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) (&& (< netstandard1.5) (>= uap10.0) (< win8) (< wpa81)) (&& (< netstandard1.5) (>= uap10.0) (< win81) (< wpa81)) (&& (< portable-net45+win8+wp8+wpa81) (>= uap10.0)) (&& (< portable-net45+win8+wpa81) (>= uap10.0)) (&& (< portable-net451+win81+wpa81) (>= uap10.0)) - Microsoft.NETCore.Platforms (>= 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)) (< portable-net45+win8+wp8+wpa81) - Microsoft.NETCore.Targets (>= 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)) (< portable-net45+win8+wp8+wpa81) - System.Runtime.CompilerServices.Unsafe (4.5) - restriction: || (&& (< monoandroid) (< monotouch) (< net20) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net20) (< netstandard1.0) (>= netstandard1.3) (< win8)) (&& (< monoandroid) (< net20) (< netstandard1.0) (>= netstandard1.4) (< win8)) (&& (< monoandroid) (< net20) (< netstandard1.0) (>= netstandard1.5) (< win8)) (&& (< monoandroid) (< net20) (< netstandard1.0) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net20) (< netstandard1.2) (>= netstandard1.3) (< win8)) (&& (< monoandroid) (< net20) (< netstandard1.2) (>= netstandard2.0) (< win8)) (&& (< monoandroid) (< net20) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.3) (>= netstandard1.5) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.3) (>= netstandard2.0) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.4) (>= netstandard2.0) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.5) (>= netstandard2.0) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.6) (>= netstandard2.0) (< win8) (< wpa81)) (&& (< net20) (>= net45) (< netstandard1.2) (>= netstandard1.3)) (&& (< net20) (>= net45) (>= netstandard1.3) (< netstandard1.4)) (&& (< net20) (>= net45) (< netstandard1.3) (>= netstandard1.4)) (&& (< net20) (>= net45) (< netstandard1.3) (>= netstandard1.5)) (&& (< net20) (>= net45) (< netstandard1.3) (>= netstandard1.6)) (&& (< net20) (>= net45) (>= netstandard1.4) (< netstandard1.5)) (&& (< net20) (>= net45) (>= netstandard1.5) (< netstandard1.6)) (&& (< net20) (>= net45) (>= netstandard1.6) (< netstandard2.0)) (&& (< net20) (>= net45) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= net46) (< netstandard1.0)) (&& (< net20) (>= net46) (< netstandard1.3)) (&& (< net20) (>= net46) (< netstandard1.4)) (&& (< net20) (>= net46) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.0) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.1) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.2) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.3) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.3) (< portable-net45+win8+wpa81)) (&& (< net20) (>= netstandard1.4) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.5) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.6) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard2.0) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard2.0) (< portable-net45+win8+wpa81)) (&& (>= net45) (< netstandard1.3) (>= uap10.0)) (&& (>= net45) (< netstandard1.5) (>= uap10.0)) (&& (>= net46) (< netstandard1.0) (>= win8)) (&& (>= net46) (< netstandard1.3) (>= wpa81)) (&& (>= net46) (< netstandard1.4) (>= wpa81)) (&& (>= net46) (< portable-net45+win8+wp8+wpa81) (>= win8)) (&& (>= net46) (>= wp8)) (&& (>= netstandard1.0) (< portable-net45+win8+wp8+wpa81) (>= win8)) (&& (< netstandard1.0) (>= netstandard1.3) (< portable-net45+win8+wpa81) (>= win8)) (&& (< netstandard1.0) (>= uap10.0) (< win8)) (&& (>= netstandard1.1) (< portable-net45+win8+wp8+wpa81) (>= win8)) (&& (>= netstandard1.2) (< portable-net45+win8+wp8+wpa81) (>= win8)) (&& (< netstandard1.2) (>= netstandard1.3) (< win8) (>= wpa81)) (&& (>= netstandard1.3) (< portable-net45+win8+wp8+wpa81) (>= win8)) (&& (>= netstandard1.3) (< portable-net45+win8+wpa81) (>= wpa81)) (&& (>= netstandard1.3) (>= wp8)) (&& (< netstandard1.3) (>= uap10.0) (< win8) (< wpa81)) (&& (>= netstandard1.4) (< portable-net45+win8+wp8+wpa81) (>= win8)) (&& (>= netstandard1.4) (>= wp8)) (&& (>= netstandard1.5) (< portable-net45+win8+wp8+wpa81) (>= win8)) (&& (>= netstandard1.5) (>= wp8)) (&& (< netstandard1.5) (>= uap10.0) (< win8) (< wpa81)) (&& (>= netstandard1.6) (< portable-net45+win8+wp8+wpa81) (>= win8)) (&& (>= netstandard1.6) (>= wp8)) (&& (< portable-net45+win8+wp8+wpa81) (>= uap10.0)) (&& (< portable-net45+win8+wp8+wpa81) (>= wp8)) (&& (< portable-net45+win8+wp8+wpa81) (>= wpa81)) (&& (>= uap10.0) (>= wp8)) - System.Runtime (>= 4.3) - restriction: && (< net45) (>= netstandard1.0) (< netstandard2.0) (< win8) (< wp8) (< wpa81) - System.Runtime.Extensions (4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net20) (>= netstandard1.3) (< netstandard2.0) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< monotouch) (< net20) (>= netstandard1.5) (< netstandard2.0) (< win8) (< wpa81) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net20) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net20) (>= netstandard1.3) (< netstandard1.5) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= net46) (< netstandard1.3)) (&& (< net20) (>= net46) (< netstandard1.4)) (&& (< net20) (>= net46) (< portable-net45+win8+wpa81)) (&& (< net20) (>= net462) (< netstandard1.3)) (&& (< net20) (>= net462) (< netstandard2.0)) (&& (< net20) (>= netstandard1.0) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.0) (< portable-net45+win8+wpa81) (< wp8)) (&& (< net20) (>= netstandard1.1) (< netstandard1.2) (< win8)) (&& (< net20) (>= netstandard1.1) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.1) (< portable-net45+win8+wpa81)) (&& (< net20) (>= netstandard1.2) (< netstandard1.3) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.2) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.2) (< portable-net45+win8+wpa81)) (&& (< net20) (< netstandard1.2) (>= netstandard1.3) (< win8)) (&& (< net20) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.3) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.3) (< portable-net45+win8+wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.5) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.4) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.4) (< portable-net45+win8+wpa81)) (&& (< net20) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.5) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.5) (< portable-net45+win8+wpa81)) (&& (< net20) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.6) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.6) (< portable-net45+win8+wpa81)) (&& (< netstandard1.3) (>= uap10.0)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) (&& (< netstandard1.5) (>= uap10.0) (< win8) (< wpa81)) (&& (< portable-net45+win8+wp8+wpa81) (>= uap10.0)) (&& (< portable-net45+win8+wpa81) (>= uap10.0)) - 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)) (< portable-net45+win8+wp8+wpa81) - 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)) (< portable-net45+win8+wp8+wpa81) - 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)) (< portable-net45+win8+wp8+wpa81) - System.Runtime.Handles (4.3) - restriction: || (&& (< monoandroid) (< net20) (< netstandard1.2) (>= netstandard1.3) (< win8)) (&& (< monoandroid) (< net20) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net20) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= net46) (< netstandard1.3)) (&& (< net20) (>= net46) (< netstandard1.4)) (&& (< net20) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.5) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (< netstandard1.3) (>= uap10.0)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) (&& (< netstandard1.5) (>= uap10.0) (< win8) (< wpa81)) - 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) (< monotouch) (< net20) (>= netstandard1.5) (< netstandard2.0) (< win8) (< wpa81) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net20) (< netstandard1.0) (>= netstandard1.3) (< win8)) (&& (< monoandroid) (< net20) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net20) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= net45) (< netstandard1.3)) (&& (< net20) (>= net46) (< netstandard1.3)) (&& (< net20) (>= net46) (< netstandard1.4)) (&& (< net20) (>= net46) (< portable-net45+win8+wpa81)) (&& (< net20) (< netstandard1.0) (>= netstandard1.3) (< portable-net45+win8)) (&& (< net20) (>= netstandard1.1) (< netstandard1.2) (< win8)) (&& (< net20) (>= netstandard1.1) (< portable-net45+win8+wpa81)) (&& (< net20) (>= netstandard1.2) (< netstandard1.3) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.2) (< portable-net45+win8+wpa81)) (&& (< net20) (< netstandard1.2) (>= netstandard1.3) (< win8)) (&& (< net20) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.3) (< portable-net45+win8+wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.5) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.4) (< portable-net45+win8+wpa81)) (&& (< net20) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.5) (< portable-net45+win8+wpa81)) (&& (< net20) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.6) (< portable-net45+win8+wpa81)) (&& (< netstandard1.3) (>= uap10.0)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) (&& (< netstandard1.5) (>= uap10.0) (< win8) (< wpa81)) (&& (< portable-net45+win8+wpa81) (>= uap10.0)) - 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) (< portable-net45+win8+wpa81) - 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) (< portable-net45+win8+wpa81) - 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) (< portable-net45+win8+wpa81) - System.Reflection.Primitives (>= 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) (< portable-net45+win8+wpa81) - System.Runtime (>= 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)) (>= net462) (>= netcoreapp1.1) (< portable-net45+win8+wpa81) - 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) (< portable-net45+win8+wpa81) - System.Runtime.InteropServices.RuntimeInformation (4.3) - restriction: || (&& (< net20) (>= net45) (< netstandard1.3)) (&& (< net20) (>= net46) (< netstandard1.3)) (&& (< net20) (>= net46) (< netstandard1.4)) (&& (< net20) (< netstandard1.0) (>= netstandard1.3) (< portable-net45+win8)) (&& (< net20) (< netstandard1.0) (>= netstandard1.3) (< win8)) (&& (< net20) (>= netstandard1.1) (< netstandard1.2) (< win8)) (&& (< net20) (>= netstandard1.2) (< netstandard1.3) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.2) (>= netstandard1.3) (< win8)) (&& (< net20) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.5) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (< netstandard1.0) (>= netstandard1.3) (>= win8)) (&& (< netstandard1.3) (>= uap10.0)) (&& (< netstandard1.3) (< win8) (>= wpa81)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) - runtime.native.System (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net45) (>= netstandard1.1) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Reflection (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.1) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< netstandard1.1) (< win8)) - System.Reflection.Extensions (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.1) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< netstandard1.1) (< win8)) - System.Resources.ResourceManager (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.1) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< netstandard1.1) (< win8)) - System.Runtime (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.1) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< netstandard1.1) (< win8)) - System.Runtime.InteropServices (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net45) (>= netstandard1.1) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Threading (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.1) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< netstandard1.1) (< win8)) - System.Runtime.Numerics (4.3) - restriction: || (&& (< monoandroid) (< net20) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= net46) (< netstandard1.3) (>= netstandard1.6)) (&& (< net20) (>= net46) (< netstandard1.4) (>= netstandard1.6)) (&& (< net20) (>= netstandard1.1) (< netstandard1.2) (< win8)) (&& (< net20) (>= netstandard1.2) (< netstandard1.3) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.2) (>= netstandard1.3) (< win8)) (&& (< net20) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.5) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (< netstandard1.3) (>= uap10.0)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) - System.Globalization (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wpa81) - System.Resources.ResourceManager (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wpa81) - System.Runtime (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.1) (< netstandard1.3) (< win8) (< wpa81)) (< portable-net45+win8+wpa81) - System.Runtime.Extensions (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wpa81) - System.Runtime.Serialization.Formatters (4.3) - restriction: && (< net20) (>= netstandard1.3) (< netstandard2.0) - System.Collections (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.4) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Reflection (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.4) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Resources.ResourceManager (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.4) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Runtime (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net46) (>= netstandard1.4) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net46) (>= netstandard1.3) (< netstandard1.4)) - System.Runtime.Serialization.Primitives (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (>= netstandard1.4) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (>= netstandard1.3) (< netstandard1.4)) (>= net46) - System.Runtime.Serialization.Primitives (4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net20) (>= netstandard1.4) (< netstandard2.0) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net20) (>= netstandard1.3) (< netstandard1.4)) (&& (< net20) (>= net46) (< netstandard2.0)) (&& (< net20) (>= netstandard1.0) (< netstandard1.3)) (&& (< net20) (>= netstandard1.3) (< netstandard2.0)) - System.Resources.ResourceManager (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wp8+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)) (< portable-net45+win8+wp8+wpa81) - System.Security.Cryptography.Algorithms (4.3.1) - restriction: || (&& (< monoandroid) (< net20) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net20) (< netstandard1.4) (>= netstandard1.5) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= net46) (< netstandard1.3)) (&& (< net20) (>= net46) (< netstandard1.4)) (&& (< net20) (>= net461) (< netstandard1.3)) (&& (< net20) (>= net461) (< netstandard1.4)) (&& (< net20) (>= net461) (>= netstandard1.5) (< netstandard1.6)) (&& (< net20) (>= net461) (< netstandard1.5)) (&& (< net20) (>= net461) (>= netstandard1.6) (< netstandard2.0)) (&& (< net20) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.5) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (>= net461) (< netstandard1.5) (>= uap10.0)) (&& (< netstandard1.3) (>= uap10.0)) (&& (< netstandard1.4) (>= uap10.0)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) - Microsoft.NETCore.Platforms (>= 1.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net46) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< netstandard1.3)) - runtime.native.System.Security.Cryptography.Apple (>= 4.3.1) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.2) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Collections (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.IO (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net46) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net46) (>= netstandard1.3) (< netstandard1.4)) (&& (< monoandroid) (< net46) (>= netstandard1.4) (< netstandard1.6)) (&& (< monoandroid) (< netstandard1.3)) (>= net463) - System.Resources.ResourceManager (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net46) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< netstandard1.3)) - System.Runtime (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net46) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net46) (>= netstandard1.3) (< netstandard1.4)) (&& (< monoandroid) (< net46) (>= netstandard1.4) (< netstandard1.6)) (&& (< monoandroid) (< netstandard1.3)) (>= net463) - System.Runtime.Extensions (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net46) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< netstandard1.3)) - System.Runtime.Handles (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net46) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< netstandard1.3)) - System.Runtime.InteropServices (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net46) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< netstandard1.3)) - System.Runtime.Numerics (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Security.Cryptography.Encoding (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net46) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< netstandard1.3)) (>= net463) - System.Security.Cryptography.Primitives (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net46) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net46) (>= netstandard1.3) (< netstandard1.4)) (&& (< monoandroid) (< net46) (>= netstandard1.4) (< netstandard1.6)) (&& (< monoandroid) (< netstandard1.3)) (&& (>= net46) (< netstandard1.4)) (&& (>= net461) (< netstandard1.6)) (>= net463) - System.Text.Encoding (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net46) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< netstandard1.3)) - System.Security.Cryptography.Cng (4.5) - restriction: || (&& (< monoandroid) (< monotouch) (< net20) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net20) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.3) (>= netstandard1.5) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= net46) (< netstandard1.3)) (&& (< net20) (>= net46) (< netstandard1.4) (>= netstandard1.6)) (&& (< netstandard1.3) (>= uap10.0)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) - System.IO (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net46) (>= netstandard1.6) (< netstandard2.0) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net46) (>= netstandard1.3) (< netstandard1.4)) (&& (< monoandroid) (< net46) (>= netstandard1.4) (< netstandard1.6) (< uap10.1)) - System.Resources.ResourceManager (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net46) (>= netstandard1.6) (< netstandard2.0) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net46) (>= netstandard1.3) (< netstandard1.4)) (&& (< monoandroid) (< net46) (>= netstandard1.4) (< netstandard1.6) (< uap10.1)) - System.Runtime (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net46) (>= netstandard1.6) (< netstandard2.0) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net46) (>= netstandard1.3) (< netstandard1.4)) (&& (< monoandroid) (< net46) (>= netstandard1.4) (< netstandard1.6) (< uap10.1)) - System.Runtime.Extensions (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net46) (>= netstandard1.6) (< netstandard2.0) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net46) (>= netstandard1.4) (< netstandard1.6) (< uap10.1)) - System.Runtime.Handles (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net46) (>= netstandard1.6) (< netstandard2.0) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net46) (>= netstandard1.3) (< netstandard1.4)) (&& (< monoandroid) (< net46) (>= netstandard1.4) (< netstandard1.6) (< uap10.1)) - System.Runtime.InteropServices (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net46) (>= netstandard1.6) (< netstandard2.0) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net46) (>= netstandard1.3) (< netstandard1.4)) (&& (< monoandroid) (< net46) (>= netstandard1.4) (< netstandard1.6) (< uap10.1)) - System.Security.Cryptography.Algorithms (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net46) (>= netstandard1.6) (< netstandard2.0) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net46) (>= netstandard1.3) (< netstandard1.4)) (&& (< monoandroid) (< net46) (>= netstandard1.4) (< netstandard1.6) (< uap10.1)) (&& (>= net46) (< netstandard1.4)) - System.Security.Cryptography.Encoding (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net46) (>= netstandard1.6) (< netstandard2.0) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net46) (>= netstandard1.4) (< netstandard1.6) (< uap10.1)) - System.Security.Cryptography.Primitives (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net46) (>= netstandard1.6) (< netstandard2.0) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net46) (>= netstandard1.3) (< netstandard1.4)) (&& (< monoandroid) (< net46) (>= netstandard1.4) (< netstandard1.6) (< uap10.1)) (&& (>= net46) (< netstandard1.4)) - System.Text.Encoding (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net46) (>= netstandard1.6) (< netstandard2.0) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net46) (>= netstandard1.4) (< netstandard1.6) (< uap10.1)) - System.Security.Cryptography.Csp (4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net20) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net20) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= net46) (< netstandard1.3) (>= netstandard1.6)) (&& (< net20) (>= net46) (< netstandard1.4) (>= netstandard1.6)) (&& (< netstandard1.3) (>= netstandard1.6) (>= uap10.0)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) - Microsoft.NETCore.Platforms (>= 1.1) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.IO (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Reflection (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Resources.ResourceManager (>= 4.3) - 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.Extensions (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Runtime.Handles (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Runtime.InteropServices (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Security.Cryptography.Algorithms (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= net46) - System.Security.Cryptography.Encoding (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Security.Cryptography.Primitives (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= net46) - System.Text.Encoding (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Threading (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Security.Cryptography.Encoding (4.3) - restriction: || (&& (< monoandroid) (< net20) (< netstandard1.2) (>= netstandard1.3) (< win8)) (&& (< monoandroid) (< net20) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net20) (< netstandard1.4) (>= netstandard1.5) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= net46) (< netstandard1.3)) (&& (< net20) (>= net46) (< netstandard1.4)) (&& (< net20) (>= net461) (< netstandard1.3)) (&& (< net20) (>= net461) (< netstandard1.4)) (&& (< net20) (>= net461) (>= netstandard1.5) (< netstandard1.6)) (&& (< net20) (>= net461) (< netstandard1.5)) (&& (< net20) (>= net461) (>= netstandard1.6) (< netstandard2.0)) (&& (< net20) (>= net463) (< netstandard1.3)) (&& (< net20) (>= net463) (< netstandard1.4)) (&& (< net20) (>= net463) (< netstandard1.5)) (&& (< net20) (>= net463) (>= netstandard1.6) (< netstandard2.0)) (&& (< net20) (>= net463) (< netstandard1.6)) (&& (< net20) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.5) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (>= net461) (< netstandard1.5) (>= uap10.0)) (&& (>= net463) (< netstandard1.5) (>= uap10.0)) (&& (< netstandard1.3) (>= uap10.0)) (&& (< netstandard1.4) (>= uap10.0)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) (&& (< netstandard1.5) (>= uap10.0) (< win8) (< wpa81)) - Microsoft.NETCore.Platforms (>= 1.1) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Collections (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Collections.Concurrent (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Linq (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Resources.ResourceManager (>= 4.3) - 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.Extensions (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Runtime.Handles (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Runtime.InteropServices (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Security.Cryptography.Primitives (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Text.Encoding (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Security.Cryptography.OpenSsl (4.5) - restriction: || (&& (< monoandroid) (< monotouch) (< net20) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net20) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net20) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= net46) (< netstandard1.3) (>= netstandard1.6)) (&& (< net20) (>= net46) (< netstandard1.4) (>= netstandard1.6)) (&& (< netstandard1.3) (>= netstandard1.6) (>= uap10.0)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) - System.Collections (>= 4.3) - restriction: && (>= netstandard1.6) (< netstandard2.0) - System.IO (>= 4.3) - restriction: && (>= netstandard1.6) (< netstandard2.0) - System.Resources.ResourceManager (>= 4.3) - restriction: && (>= netstandard1.6) (< netstandard2.0) - System.Runtime (>= 4.3) - restriction: && (>= netstandard1.6) (< netstandard2.0) - System.Runtime.Extensions (>= 4.3) - restriction: && (>= netstandard1.6) (< netstandard2.0) - System.Runtime.Handles (>= 4.3) - restriction: && (>= netstandard1.6) (< netstandard2.0) - System.Runtime.InteropServices (>= 4.3) - restriction: && (>= netstandard1.6) (< netstandard2.0) - System.Runtime.Numerics (>= 4.3) - restriction: && (>= netstandard1.6) (< netstandard2.0) - System.Security.Cryptography.Algorithms (>= 4.3) - restriction: && (>= netstandard1.6) (< netstandard2.0) - System.Security.Cryptography.Encoding (>= 4.3) - restriction: && (>= netstandard1.6) (< netstandard2.0) - System.Security.Cryptography.Primitives (>= 4.3) - restriction: && (>= netstandard1.6) (< netstandard2.0) - System.Text.Encoding (>= 4.3) - restriction: && (>= netstandard1.6) (< netstandard2.0) - System.Security.Cryptography.Primitives (4.3) - restriction: || (&& (< monoandroid) (< net20) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net20) (< netstandard1.4) (>= netstandard1.5) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= net46) (< netstandard1.3)) (&& (< net20) (>= net46) (< netstandard1.4)) (&& (< net20) (>= net461) (< netstandard1.3)) (&& (< net20) (>= net461) (< netstandard1.4)) (&& (< net20) (>= net461) (>= netstandard1.5) (< netstandard1.6)) (&& (< net20) (>= net461) (< netstandard1.5)) (&& (< net20) (>= net463) (< netstandard1.3)) (&& (< net20) (>= net463) (< netstandard1.4)) (&& (< net20) (>= net463) (< netstandard1.5)) (&& (< net20) (>= net463) (>= netstandard1.6) (< netstandard2.0)) (&& (< net20) (>= net463) (< netstandard1.6)) (&& (< net20) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.5) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (>= net461) (< netstandard1.5) (>= uap10.0)) (&& (>= net463) (< netstandard1.5) (>= uap10.0)) (&& (< netstandard1.3) (>= uap10.0)) (&& (< netstandard1.4) (>= uap10.0)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) - System.Diagnostics.Debug (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Globalization (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.IO (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Resources.ResourceManager (>= 4.3) - 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.Threading (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Threading.Tasks (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Security.Cryptography.X509Certificates (4.3.2) - restriction: || (&& (< monoandroid) (< net20) (< netstandard1.2) (>= netstandard1.3) (< win8)) (&& (< monoandroid) (< net20) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net20) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= net46) (< netstandard1.2)) (&& (< net20) (>= net46) (< netstandard1.3)) (&& (< net20) (>= net46) (>= netstandard1.4) (< netstandard1.5)) (&& (< net20) (>= net46) (< netstandard1.4)) (&& (< net20) (>= net46) (>= netstandard1.5) (< netstandard1.6)) (&& (< net20) (>= net46) (>= netstandard1.6) (< netstandard2.0)) (&& (< net20) (>= net46) (< portable-net45+win8+wpa81)) (&& (< net20) (>= netstandard1.1) (< portable-net45+win8+wpa81)) (&& (< net20) (>= netstandard1.2) (< portable-net45+win8+wpa81)) (&& (< net20) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.3) (< portable-net45+win8+wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.5) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.4) (< portable-net45+win8+wpa81)) (&& (< net20) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.5) (< portable-net45+win8+wpa81)) (&& (< net20) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.6) (< portable-net45+win8+wpa81)) (&& (>= net46) (< netstandard1.5) (>= uap10.0)) (&& (< netstandard1.3) (>= uap10.0)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) (&& (< netstandard1.5) (>= uap10.0) (< win8) (< wpa81)) (&& (< portable-net45+win8+wpa81) (>= uap10.0)) - Microsoft.NETCore.Platforms (>= 1.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net46) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< netstandard1.3)) - runtime.native.System (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - runtime.native.System.Net.Http (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.2) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Collections (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net46) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< netstandard1.3)) - System.Diagnostics.Debug (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Globalization (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net46) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< netstandard1.3)) - System.Globalization.Calendars (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net46) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< netstandard1.3)) - System.IO (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net46) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< netstandard1.3)) - System.IO.FileSystem (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net46) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< netstandard1.3)) - System.IO.FileSystem.Primitives (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Resources.ResourceManager (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net46) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< netstandard1.3)) - System.Runtime (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net46) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net46) (>= netstandard1.3) (< netstandard1.4)) (&& (< monoandroid) (< net46) (>= netstandard1.4) (< netstandard1.6)) (&& (< monoandroid) (< netstandard1.3)) - System.Runtime.Extensions (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net46) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< netstandard1.3)) - System.Runtime.Handles (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net46) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net46) (>= netstandard1.3) (< netstandard1.4)) (&& (< monoandroid) (< net46) (>= netstandard1.4) (< netstandard1.6)) (&& (< monoandroid) (< netstandard1.3)) - System.Runtime.InteropServices (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net46) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< netstandard1.3)) - System.Runtime.Numerics (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net46) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< netstandard1.3)) - System.Security.Cryptography.Algorithms (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net46) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net46) (>= netstandard1.3) (< netstandard1.4)) (&& (< monoandroid) (< net46) (>= netstandard1.4) (< netstandard1.6)) (&& (< monoandroid) (< netstandard1.3)) (&& (>= net46) (< netstandard1.4)) (>= net461) - System.Security.Cryptography.Cng (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net46) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< netstandard1.3)) - System.Security.Cryptography.Csp (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Security.Cryptography.Encoding (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net46) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net46) (>= netstandard1.3) (< netstandard1.4)) (&& (< monoandroid) (< net46) (>= netstandard1.4) (< netstandard1.6)) (&& (< monoandroid) (< netstandard1.3)) (&& (>= net46) (< netstandard1.4)) (>= net461) - System.Security.Cryptography.OpenSsl (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Security.Cryptography.Primitives (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net46) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< netstandard1.3)) - System.Text.Encoding (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net46) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< netstandard1.3)) - System.Threading (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net46) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< netstandard1.3)) - System.Text.Encoding (4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net20) (>= netstandard1.3) (< netstandard2.0) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net20) (< netstandard1.2) (>= netstandard1.5) (< win8)) (&& (< monoandroid) (< net20) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net20) (< netstandard1.4) (>= netstandard1.5) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= net46) (< netstandard1.3)) (&& (< net20) (>= net46) (< netstandard1.4)) (&& (< net20) (>= net46) (< portable-net45+win8+wpa81)) (&& (< net20) (>= netstandard1.0) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.0) (< portable-net45+win8+wpa81) (< wp8)) (&& (< net20) (>= netstandard1.1) (< netstandard1.2) (< win8)) (&& (< net20) (>= netstandard1.1) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.1) (< portable-net45+win8+wpa81)) (&& (< net20) (>= netstandard1.2) (< netstandard1.3) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.2) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.2) (< portable-net45+win8+wpa81)) (&& (< net20) (< netstandard1.2) (>= netstandard1.3) (< win8)) (&& (< net20) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.3) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.3) (< portable-net45+win8+wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.5) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.4) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.4) (< portable-net45+win8+wpa81)) (&& (< net20) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.5) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.5) (< portable-net45+win8+wpa81)) (&& (< net20) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.6) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.6) (< portable-net45+win8+wpa81)) (&& (< netstandard1.3) (>= uap10.0)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) (&& (< netstandard1.5) (>= uap10.0) (< win8) (< wpa81)) (&& (< portable-net45+win8+wp8+wpa81) (>= uap10.0)) (&& (< portable-net45+win8+wpa81) (>= uap10.0)) - 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)) (< portable-net45+win8+wp8+wpa81) - 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)) (< portable-net45+win8+wp8+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)) (< portable-net45+win8+wp8+wpa81) - System.Text.Encoding.Extensions (4.3) - restriction: || (&& (< net20) (>= net46) (< netstandard1.3)) (&& (< net20) (>= net46) (< netstandard1.4)) (&& (< net20) (>= net46) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.0) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.0) (< portable-net45+win8+wpa81) (< wp8)) (&& (< net20) (>= netstandard1.1) (< netstandard1.2) (< win8)) (&& (< net20) (>= netstandard1.1) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.2) (< netstandard1.3) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.2) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (< netstandard1.2) (>= netstandard1.3) (< win8)) (&& (< net20) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.3) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.3) (< portable-net45+win8+wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.5) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.4) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.5) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.6) (< portable-net45+win8+wp8+wpa81)) (&& (< netstandard1.3) (>= uap10.0)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) (&& (< netstandard1.5) (>= uap10.0) (< win8) (< wpa81)) (&& (< portable-net45+win8+wp8+wpa81) (>= uap10.0)) - 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)) (< portable-net45+win8+wp8+wpa81) - 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)) (< portable-net45+win8+wp8+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)) (< portable-net45+win8+wp8+wpa81) - 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)) (< portable-net45+win8+wp8+wpa81) - System.Text.RegularExpressions (4.3) - restriction: || (&& (< net20) (>= net46) (< netstandard1.3)) (&& (< net20) (>= net46) (< netstandard1.4)) (&& (< net20) (>= net46) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.0) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.0) (< portable-net45+win8+wpa81) (< wp8)) (&& (< net20) (>= netstandard1.1) (< netstandard1.2) (< win8)) (&& (< net20) (>= netstandard1.1) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.2) (< netstandard1.3) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.2) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (< netstandard1.2) (>= netstandard1.3) (< win8)) (&& (< net20) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.3) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.3) (< portable-net45+win8+wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.5) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.4) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.5) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.6) (< portable-net45+win8+wp8+wpa81)) (&& (< netstandard1.3) (>= uap10.0)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) (&& (< netstandard1.5) (>= uap10.0) (< win8) (< wpa81)) (&& (< portable-net45+win8+wp8+wpa81) (>= uap10.0)) - System.Collections (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (< netcoreapp1.1) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wp8+wpa81) - System.Globalization (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (< netcoreapp1.1) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wp8+wpa81) - System.Resources.ResourceManager (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (< netcoreapp1.1) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wp8+wpa81) - System.Runtime (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.6) (< win8) (< wpa81)) (>= netcoreapp1.1) (< portable-net45+win8+wp8+wpa81) - System.Runtime.Extensions (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (< netcoreapp1.1) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wp8+wpa81) - System.Threading (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (< netcoreapp1.1) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wp8+wpa81) - System.Threading (4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net20) (>= netstandard1.3) (< netstandard2.0) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< monotouch) (< net20) (>= netstandard1.5) (< netstandard2.0) (< win8) (< wpa81) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net20) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.0) (>= netstandard1.3) (< win8)) (&& (< monoandroid) (< net20) (< netstandard1.1) (>= netstandard1.2) (< win8)) (&& (< monoandroid) (< net20) (< netstandard1.1) (>= netstandard1.3) (< win8)) (&& (< monoandroid) (< net20) (< netstandard1.1) (>= netstandard1.4) (< win8)) (&& (< monoandroid) (< net20) (< netstandard1.1) (>= netstandard1.5) (< win8)) (&& (< monoandroid) (< net20) (< netstandard1.1) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net20) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net20) (>= netstandard1.3) (< netstandard1.5) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= net45) (< netstandard1.1)) (&& (< net20) (>= net45) (< netstandard1.3)) (&& (< net20) (>= net46) (< netstandard1.1)) (&& (< net20) (>= net46) (< netstandard1.3)) (&& (< net20) (>= net46) (< netstandard1.4)) (&& (< net20) (>= net46) (< portable-net45+win8+wpa81)) (&& (< net20) (>= net462) (< netstandard1.3)) (&& (< net20) (>= net462) (< netstandard2.0)) (&& (< net20) (>= netstandard1.0) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.0) (< portable-net45+win8+wpa81) (< wp8)) (&& (< net20) (< netstandard1.0) (>= netstandard1.3) (< portable-net45+win8)) (&& (< net20) (>= netstandard1.1) (< netstandard1.2) (< win8)) (&& (< net20) (>= netstandard1.1) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.1) (< portable-net45+win8+wpa81)) (&& (< net20) (>= netstandard1.2) (< netstandard1.3) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.2) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.2) (< portable-net45+win8+wpa81)) (&& (< net20) (< netstandard1.2) (>= netstandard1.3) (< win8)) (&& (< net20) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.3) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.3) (< portable-net45+win8+wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.5) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.4) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.4) (< portable-net45+win8+wpa81)) (&& (< net20) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.5) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.5) (< portable-net45+win8+wpa81)) (&& (< net20) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.6) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.6) (< portable-net45+win8+wpa81)) (&& (< netstandard1.1) (>= uap10.0) (< win8)) (&& (< netstandard1.1) (< win8) (>= wpa81)) (&& (< netstandard1.3) (>= uap10.0)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) (&& (< netstandard1.5) (>= uap10.0) (< win8) (< wpa81)) (&& (< portable-net45+win8+wp8+wpa81) (>= uap10.0)) (&& (< portable-net45+win8+wpa81) (>= uap10.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)) (< portable-net45+win8+wp8+wpa81) - 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)) (< portable-net45+win8+wp8+wpa81) - System.Threading.Tasks (4.3) - restriction: || (&& (< monoandroid) (< net20) (< netstandard1.2) (>= netstandard1.5) (< win8)) (&& (< monoandroid) (< net20) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net20) (< netstandard1.4) (>= netstandard1.5) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= net46) (< netstandard1.3)) (&& (< net20) (>= net46) (< netstandard1.4)) (&& (< net20) (>= net46) (< portable-net45+win8+wpa81)) (&& (< net20) (>= netstandard1.0) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.0) (< portable-net45+win8+wpa81) (< wp8)) (&& (< net20) (>= netstandard1.1) (< netstandard1.2) (< win8)) (&& (< net20) (>= netstandard1.1) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.1) (< portable-net45+win8+wpa81)) (&& (< net20) (>= netstandard1.2) (< netstandard1.3) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.2) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.2) (< portable-net45+win8+wpa81)) (&& (< net20) (< netstandard1.2) (>= netstandard1.3) (< win8)) (&& (< net20) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.3) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.3) (< portable-net45+win8+wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.5) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.4) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.4) (< portable-net45+win8+wpa81)) (&& (< net20) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.5) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.5) (< portable-net45+win8+wpa81)) (&& (< net20) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.6) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.6) (< portable-net45+win8+wpa81)) (&& (< netstandard1.3) (>= uap10.0)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) (&& (< netstandard1.5) (>= uap10.0) (< win8) (< wpa81)) (&& (< portable-net45+win8+wp8+wpa81) (>= uap10.0)) (&& (< portable-net45+win8+wpa81) (>= uap10.0)) - 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)) (< portable-net45+win8+wp8+wpa81) - 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)) (< portable-net45+win8+wp8+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)) (< portable-net45+win8+wp8+wpa81) - System.Threading.Tasks.Extensions (4.5) - restriction: || (&& (< monoandroid) (< monotouch) (< net20) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net20) (< netstandard1.2) (>= netstandard1.3) (< win8)) (&& (< monoandroid) (< net20) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.3) (>= netstandard1.5) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< monoandroid) (< net20) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= net46) (< netstandard1.3)) (&& (< net20) (>= net46) (< netstandard1.4)) (&& (< net20) (>= net46) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.0) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.1) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.2) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.3) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.3) (< portable-net45+win8+wpa81)) (&& (< net20) (>= netstandard1.4) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.5) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.6) (< portable-net45+win8+wp8+wpa81)) (&& (< netstandard1.3) (>= uap10.0) (< win8) (< wpa81)) (&& (< netstandard1.5) (>= uap10.0) (< win8) (< wpa81)) (&& (< portable-net45+win8+wp8+wpa81) (>= uap10.0)) - System.Collections (>= 4.3) - restriction: && (< net45) (>= netstandard1.0) (< netstandard2.0) (< win8) (< wp8) (< wpa81) - System.Runtime (>= 4.3) - restriction: && (< net45) (>= netstandard1.0) (< netstandard2.0) (< win8) (< wp8) (< wpa81) - System.Runtime.CompilerServices.Unsafe (>= 4.5) - restriction: || (>= net45) (&& (< netcoreapp2.1) (>= netstandard2.0)) (&& (>= netstandard1.0) (< netstandard2.0) (< win8) (< wpa81)) (&& (< netstandard1.0) (>= portable-net45+win8+wp8+wpa81) (< win8)) (&& (< netstandard1.0) (>= win8)) (&& (< netstandard2.0) (< uap10.1) (>= wpa81)) (>= wp8) - System.Threading.Tasks (>= 4.3) - restriction: && (< net45) (>= netstandard1.0) (< netstandard2.0) (< win8) (< wp8) (< wpa81) - System.Threading.Timer (4.3) - restriction: || (&& (< net20) (>= netstandard1.2) (< netstandard1.3) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.5) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (< netstandard1.3) (>= uap10.0)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) - Microsoft.NETCore.Platforms (>= 1.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net451) (>= netstandard1.2) (< win81) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net451+win81+wpa81) - Microsoft.NETCore.Targets (>= 1.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net451) (>= netstandard1.2) (< win81) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net451+win81+wpa81) - System.Runtime (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net451) (>= netstandard1.2) (< win81) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net451+win81+wpa81) - System.Xml.ReaderWriter (4.3.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net20) (>= netstandard1.3) (< netstandard2.0) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< net20) (>= net46) (< netstandard1.3)) (&& (< net20) (>= net46) (< netstandard1.4)) (&& (< net20) (>= netstandard1.0) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.0) (< portable-net45+win8+wpa81) (< wp8)) (&& (< net20) (>= netstandard1.1) (< netstandard1.2) (< win8)) (&& (< net20) (>= netstandard1.1) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.2) (< netstandard1.3) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.2) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (< netstandard1.2) (>= netstandard1.3) (< win8)) (&& (< net20) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.3) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.3) (< portable-net45+win8+wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.5) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.4) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.5) (< portable-net45+win8+wp8+wpa81)) (&& (< net20) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.6) (< portable-net45+win8+wp8+wpa81)) (&& (< netstandard1.3) (>= uap10.0)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) (&& (< netstandard1.5) (>= uap10.0) (< win8) (< wpa81)) (&& (< portable-net45+win8+wp8+wpa81) (>= uap10.0)) - System.Collections (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wp8+wpa81) - System.Diagnostics.Debug (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wp8+wpa81) - System.Globalization (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wp8+wpa81) - System.IO (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (< portable-net45+win8+wp8+wpa81) - System.IO.FileSystem (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wp8+wpa81) - System.IO.FileSystem.Primitives (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wp8+wpa81) - System.Resources.ResourceManager (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wp8+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)) (< portable-net45+win8+wp8+wpa81) - System.Runtime.Extensions (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wp8+wpa81) - System.Runtime.InteropServices (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wp8+wpa81) - 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)) (< portable-net45+win8+wp8+wpa81) - System.Text.Encoding.Extensions (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wp8+wpa81) - System.Text.RegularExpressions (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wp8+wpa81) - 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)) (< portable-net45+win8+wp8+wpa81) - System.Threading.Tasks.Extensions (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wp8+wpa81) - System.Xml.XDocument (4.3) - restriction: || (&& (< net20) (>= netstandard1.0) (< portable-net45+win8+wpa81) (< wp8)) (&& (< net20) (>= netstandard1.1) (< netstandard1.2) (< win8)) (&& (< net20) (>= netstandard1.2) (< netstandard1.3) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.2) (>= netstandard1.3) (< win8)) (&& (< net20) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.3) (< portable-net45+win8+wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.5) (< win8) (< wpa81)) (&& (< net20) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net20) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (< netstandard1.3) (>= uap10.0)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) - System.Collections (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wp8+wpa81) - System.Diagnostics.Debug (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wp8+wpa81) - System.Diagnostics.Tools (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wp8+wpa81) - System.Globalization (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wp8+wpa81) - System.IO (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (< portable-net45+win8+wp8+wpa81) - System.Reflection (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wp8+wpa81) - System.Resources.ResourceManager (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wp8+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)) (< portable-net45+win8+wp8+wpa81) - System.Runtime.Extensions (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wp8+wpa81) - System.Text.Encoding (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wp8+wpa81) - System.Threading (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wp8+wpa81) - System.Xml.ReaderWriter (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (< portable-net45+win8+wp8+wpa81) - System.Xml.XmlDocument (4.3) - restriction: && (< net20) (>= netstandard1.3) (< netstandard2.0) - System.Collections (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Diagnostics.Debug (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Globalization (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.IO (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Resources.ResourceManager (>= 4.3) - 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.Extensions (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Text.Encoding (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Threading (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Xml.ReaderWriter (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - Zlib.Portable (1.11) - restriction: || (&& (< net40) (>= portable-net45+win8)) (&& (< net40) (< portable-net45+win8) (>= portable-net45+win8+wp8+wpa81)) diff --git a/src/Tests/Tests.Benchmarking/Tests.Benchmarking.csproj b/src/Tests/Tests.Benchmarking/Tests.Benchmarking.csproj index 004d8b1faec..451f5a639a1 100644 --- a/src/Tests/Tests.Benchmarking/Tests.Benchmarking.csproj +++ b/src/Tests/Tests.Benchmarking/Tests.Benchmarking.csproj @@ -1,7 +1,8 @@  - netcoreapp2.1;net461 + netstandard2.0;net461 + netstandard2.0 Exe diff --git a/src/Tests/Tests.Configuration/ConfigurationLoader.cs b/src/Tests/Tests.Configuration/ConfigurationLoader.cs index 16efea1488b..bb0152bc223 100644 --- a/src/Tests/Tests.Configuration/ConfigurationLoader.cs +++ b/src/Tests/Tests.Configuration/ConfigurationLoader.cs @@ -14,18 +14,16 @@ private static readonly Lazy Lazy private static ITestConfiguration LoadConfiguration() { - // The build script sets a FAKEBUILD env variable, so if it exists then + // The build script sets a NEST_COMMAND_LINE_BUILD env variable, so if it exists then // we must be running tests from the build script - if (!string.IsNullOrEmpty(Environment.GetEnvironmentVariable("FAKEBUILD"))) + if (!string.IsNullOrEmpty(Environment.GetEnvironmentVariable("NEST_COMMAND_LINE_BUILD"))) { var yamlFile = Environment.GetEnvironmentVariable("NEST_YAML_FILE"); if (!string.IsNullOrWhiteSpace(yamlFile) && File.Exists(yamlFile)) { //load the test seed from the explicitly passed yaml file when running from FAKE var tempYamlConfiguration = new YamlConfiguration(yamlFile); - Environment.SetEnvironmentVariable("NEST_TEST_SEED", tempYamlConfiguration.Seed.ToString(CultureInfo.InvariantCulture), - EnvironmentVariableTarget.Process); - Console.WriteLine("--->" + tempYamlConfiguration.Seed); + return new EnvironmentConfiguration(tempYamlConfiguration); } return new EnvironmentConfiguration(); } diff --git a/src/Tests/Tests.Configuration/EnvironmentConfiguration.cs b/src/Tests/Tests.Configuration/EnvironmentConfiguration.cs index 2b4b0c8092d..e31fd15d8ff 100644 --- a/src/Tests/Tests.Configuration/EnvironmentConfiguration.cs +++ b/src/Tests/Tests.Configuration/EnvironmentConfiguration.cs @@ -4,10 +4,15 @@ namespace Tests.Configuration { public class EnvironmentConfiguration : TestConfigurationBase { + public EnvironmentConfiguration(YamlConfiguration tempYamlConfiguration) : this() + { + ElasticsearchVersion = tempYamlConfiguration.ElasticsearchVersion; + Seed = tempYamlConfiguration.Seed; + } + public EnvironmentConfiguration() { - //if env var NEST_INTEGRATION_VERSION is set assume integration mode - //used by the build script FAKE + //if env var NEST_INTEGRATION_VERSION is set assume integration mode used by the build script FAKE var version = Environment.GetEnvironmentVariable("NEST_INTEGRATION_VERSION"); if (!string.IsNullOrEmpty(version)) Mode = TestMode.Integration; diff --git a/src/Tests/Tests/Tests.csproj b/src/Tests/Tests/Tests.csproj index 5ffb735d02a..e8bcc76eb2e 100644 --- a/src/Tests/Tests/Tests.csproj +++ b/src/Tests/Tests/Tests.csproj @@ -2,7 +2,6 @@ - netcoreapp2.1 6.0.0 alpha