diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 000000000..f5d61413b --- /dev/null +++ b/.editorconfig @@ -0,0 +1,12 @@ +# top-most EditorConfig file +root = true + +[*] +end_of_line = lf + +[*.{fs,fsi,fsx}] +charset = utf-8 +end_of_line = lf +indent_style = space +indent_size = 4 +trim_trailing_whitespace = true diff --git a/.gitignore b/.gitignore index 57687b5ce..93a235811 100644 --- a/.gitignore +++ b/.gitignore @@ -2,7 +2,9 @@ .fake/ .vs/ bin/ +lib/ obj/ +/.paket/paket.exe paket-files/ nuget/*.nupkg docs/output/ @@ -27,3 +29,6 @@ release.cmd *.synctex *.log *.svclog + +.paket/paket.exe +fsbuild.targets \ No newline at end of file diff --git a/.paket/paket.bootstrapper.exe b/.paket/paket.bootstrapper.exe deleted file mode 100644 index 019c517a1..000000000 Binary files a/.paket/paket.bootstrapper.exe and /dev/null differ diff --git a/.paket/paket.exe b/.paket/paket.exe index 117ede660..dd6568442 100644 Binary files a/.paket/paket.exe and b/.paket/paket.exe differ diff --git a/.paket/paket.targets b/.paket/paket.targets index 22c9f0a87..30d74f718 100644 --- a/.paket/paket.targets +++ b/.paket/paket.targets @@ -1,38 +1,62 @@ + true - - true $(MSBuildThisFileDirectory) $(MSBuildThisFileDirectory)..\ + /Library/Frameworks/Mono.framework/Commands/mono + mono + + $(PaketRootPath)paket.exe $(PaketToolsPath)paket.exe - $(PaketToolsPath)paket.bootstrapper.exe "$(PaketExePath)" - mono --runtime=v4.0.30319 $(PaketExePath) - "$(PaketBootStrapperExePath)" - mono --runtime=v4.0.30319 $(PaketBootStrapperExePath) - - $(MSBuildProjectDirectory)\paket.references + $(MonoPath) --runtime=v4.0.30319 "$(PaketExePath)" + + + + + + $(MSBuildProjectFullPath).paket.references + + + + + $(MSBuildProjectDirectory)\$(MSBuildProjectName).paket.references + + + + + $(MSBuildProjectDirectory)\paket.references + + + + + + + + + + + + $(MSBuildProjectDirectory)\$(MSBuildProjectName).paket.references + $(MSBuildProjectDirectory)\paket.references + $(MSBuildStartupDirectory)\paket.references $(MSBuildProjectFullPath).paket.references $(PaketCommand) restore --references-files "$(PaketReferences)" - $(PaketBootStrapperCommand) RestorePackages; $(BuildDependsOn); - - - - - - - - - - + + diff --git a/FSharp.Formatting.nunit b/FSharp.Formatting.nunit deleted file mode 100644 index 8467168e7..000000000 --- a/FSharp.Formatting.nunit +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/FSharp.Formatting.sln b/FSharp.Formatting.sln index 3a653244f..638e76e59 100644 --- a/FSharp.Formatting.sln +++ b/FSharp.Formatting.sln @@ -1,10 +1,11 @@  Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 15 -VisualStudioVersion = 15.0.26228.9 +VisualStudioVersion = 15.0.26403.3 MinimumVisualStudioVersion = 12.0.31101.0 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "project", "project", "{194BD478-0DB5-44F3-A6C2-1FC75D3F3294}" ProjectSection(SolutionItems) = preProject + .editorconfig = .editorconfig .gitignore = .gitignore .travis.yml = .travis.yml appveyor.yml = appveyor.yml @@ -117,6 +118,12 @@ Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "FSharp.Formatting.Common", EndProject Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "FSharp.Formatting.Razor", "src\FSharp.Formatting.Razor\FSharp.Formatting.Razor.fsproj", "{C6B3C274-71A8-4239-BA9A-1AF7B2F7C736}" EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".paket", ".paket", "{DE45ED41-E1BD-4028-A985-8668C209D1D7}" + ProjectSection(SolutionItems) = preProject + .paket\paket.exe.config = .paket\paket.exe.config + .paket\paket.targets = .paket\paket.targets + EndProjectSection +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU diff --git a/appveyor.yml b/appveyor.yml index 019846854..fb6d0032a 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -4,6 +4,7 @@ build_script: - cmd: build.cmd test: off version: 0.0.1.{build} + artifacts: - path: bin name: bin diff --git a/build.cmd b/build.cmd index 84ce4640e..fb7a09d3b 100644 --- a/build.cmd +++ b/build.cmd @@ -5,5 +5,4 @@ if errorlevel 1 ( exit /b %errorlevel% ) -packages\FAKE\tools\FAKE.exe build.fsx %* - +packages\FAKE\tools\FAKE.exe build.fsx %* \ No newline at end of file diff --git a/build.fsx b/build.fsx index 8c5f40d1e..6ef6bb463 100644 --- a/build.fsx +++ b/build.fsx @@ -1,4 +1,4 @@ -System.IO.Directory.SetCurrentDirectory __SOURCE_DIRECTORY__ +System.IO.Directory.SetCurrentDirectory __SOURCE_DIRECTORY__ // -------------------------------------------------------------------------------------- // FAKE build script @@ -59,50 +59,55 @@ Target "AssemblyInfo" (fun _ -> CreateCSharpAssemblyInfo "src/Common/AssemblyInfo.cs" info ) -// -------------------------------------------------------------------------------------- -// Clean build results +// Clean build results +// -------------------------------------------------------------------------------------- Target "Clean" (fun _ -> - CleanDirs ["bin"; "temp" ] - CleanDirs ["docs/output"] - CleanDirs ["tests/FSharp.MetadataFormat.Tests/files/FsLib/bin"] - CleanDirs ["tests/FSharp.MetadataFormat.Tests/files/FsLib/obj"] - CleanDirs ["tests/FSharp.MetadataFormat.Tests/files/crefLib/bin"] - CleanDirs ["tests/FSharp.MetadataFormat.Tests/files/crefLib/obj"] - CleanDirs ["tests/FSharp.MetadataFormat.Tests/files/csharpSupport/bin"] - CleanDirs ["tests/FSharp.MetadataFormat.Tests/files/csharpSupport/obj"] - CleanDirs ["tests/FSharp.MetadataFormat.Tests/files/TestLib/bin"] - CleanDirs ["tests/FSharp.MetadataFormat.Tests/files/TestLib/obj"] + !! "bin" + ++ "temp" + ++ "docs/output" + ++ "tests/bin" + ++ "tests/FSharp.MetadataFormat.Tests/files/**/bin" + ++ "tests/FSharp.MetadataFormat.Tests/files/**/obj" + |> CleanDirs + // in case the above pattern is empty as it only matches existing stuff + ["bin"; "temp"; "docs/output"; "tests/bin"] + |> Seq.iter ensureDirectory ) -// -------------------------------------------------------------------------------------- + // Update the assembly version numbers in the script file. +// -------------------------------------------------------------------------------------- open System.IO Target "UpdateFsxVersions" (fun _ -> - let packages = [ "FSharp.Compiler.Service"; "FSharpVSPowerTools.Core" ] + let packages = [ "FSharp.Compiler.Service" ] let replacements = - packages |> Seq.map (fun packageName -> - sprintf "/%s.(.*)/lib" packageName, - sprintf "/%s.%s/lib" packageName (GetPackageVersion "packages" packageName)) + packages |> Seq.map (fun packageName -> + sprintf "/%s.(.*)/lib" packageName, + sprintf "/%s.%s/lib" packageName (GetPackageVersion "packages" packageName) + ) let path = "./packages/FSharp.Formatting/FSharp.Formatting.fsx" let text = File.ReadAllText(path) - let text = (text, replacements) ||> Seq.fold (fun text (pattern, replacement) -> - Text.RegularExpressions.Regex.Replace(text, pattern, replacement) ) + let text = + (text, replacements) + ||> Seq.fold (fun text (pattern, replacement) -> + Text.RegularExpressions.Regex.Replace (text, pattern, replacement) + ) File.WriteAllText(path, text) ) -// -------------------------------------------------------------------------------------- -// Build library +// Build library +// -------------------------------------------------------------------------------------- let solutionFile = "FSharp.Formatting.sln" let msbuild14 = ProgramFilesX86"MSBuild""14.0""Bin""MSBuild.exe" -if isWindows && fileExists msbuild14 then +if isWindows && fileExists msbuild14 then setEnvironVar "MSBUILD" msbuild14 Target "Build" (fun _ -> @@ -112,87 +117,41 @@ Target "Build" (fun _ -> ) -Target "MergeVSPowerTools" (fun _ -> - () (* - let binDir = __SOURCE_DIRECTORY__ @@ "bin" - CreateDir (binDir @@ "merged") - let toPack = - (binDir @@ "FSharp.CodeFormat.dll") + " " + - (binDir @@ "FSharpVSPowerTools.Core.dll") - - let result = - ExecProcess (fun info -> - info.FileName <- currentDirectory @@ "packages/ILRepack/tools/ILRepack.exe" - info.Arguments <- - sprintf - "/internalize /verbose /lib:bin /ver:%s /out:%s %s" - release.AssemblyVersion (binDir @@ "merged" @@ "FSharp.CodeFormat.dll") toPack - ) (TimeSpan.FromMinutes 5.) - - if result <> 0 then failwithf "Error during ILRepack execution." - - !! (binDir @@ "merged" @@ "*.*") - |> CopyFiles binDir - DeleteDir (binDir @@ "merged") - *) -) -// -------------------------------------------------------------------------------------- // Build tests and generate tasks to run the tests in sequence +// -------------------------------------------------------------------------------------- Target "BuildTests" (fun _ -> - { BaseDirectory = __SOURCE_DIRECTORY__ - Includes = ["FSharp.Formatting.sln"] - Excludes = [] } - |> MSBuildRelease "" "Build" - |> ignore - - { BaseDirectory = __SOURCE_DIRECTORY__ - Includes = ["tests/*/files/FsLib/FsLib.sln"] - Excludes = [] } - |> MSBuildDebug "" "Build" - |> ignore - - { BaseDirectory = __SOURCE_DIRECTORY__ - Includes = ["tests/*/files/crefLib/crefLib.sln"] - Excludes = [] } - |> MSBuildDebug "" "Build" - |> ignore - - { BaseDirectory = __SOURCE_DIRECTORY__ - Includes = ["tests/*/files/csharpSupport/csharpSupport.sln"] - Excludes = [] } - |> MSBuildDebug "" "Build" - |> ignore - - { BaseDirectory = __SOURCE_DIRECTORY__ - Includes = ["tests/*/files/TestLib/TestLib.sln"] - Excludes = [] } - |> MSBuildDebug "" "Build" - |> ignore + let debugBuild sln = + { BaseDirectory = __SOURCE_DIRECTORY__ + Includes = [sln] + Excludes = [] + //} |> MSBuildDebug "" "Build" |> ignore + } |> MSBuildDebug "tests/bin" "Build" |> ignore + + debugBuild "tests/*/files/FsLib/FsLib.sln" + debugBuild "tests/*/files/crefLib/crefLib.sln" + debugBuild "tests/*/files/csharpSupport/csharpSupport.sln" + debugBuild "tests/*/files/TestLib/TestLib.sln" ) -open Fake.Testing +open Fake.Testing -let testProjects = - [ "FSharp.CodeFormat.Tests"; "FSharp.Literate.Tests"; - "FSharp.Markdown.Tests"; "FSharp.MetadataFormat.Tests" ] +let testAssemblies = + [ "FSharp.CodeFormat.Tests"; "FSharp.Literate.Tests"; + "FSharp.Markdown.Tests"; "FSharp.MetadataFormat.Tests" ] + |> List.map (fun asm -> sprintf "tests/bin/%s.dll" asm) -Target "RunTests" <| ignore -// For each test project file, generate a new "RunTest_Xyz" which -// runs the test (to process them sequentially which is needed in Travis) -for name in testProjects do - let taskName = sprintf "RunTest_%s" name - Target taskName <| fun () -> - !! (sprintf "tests/*/bin/Release/%s.dll" name) - |> NUnit3 (fun p -> - { p with - ShadowCopy = true - TimeOut = TimeSpan.FromMinutes 20. - OutputDir = "TestResults.xml" }) - taskName ==> "RunTests" |> ignore - "BuildTests" ==> taskName |> ignore +Target "RunTests" (fun _ -> + testAssemblies + |> NUnit3 (fun p -> + { p with + ShadowCopy = true + TimeOut = TimeSpan.FromMinutes 20. + ToolPath = "./packages/test/NUnit.ConsoleRunner/tools/nunit3-console.exe" + OutputDir = "TestResults.xml" }) +) // -------------------------------------------------------------------------------------- // Build a NuGet package @@ -216,10 +175,28 @@ let RequireRange breakingPoint version = Target "CopyFSharpCore" (fun _ -> // We need to include optdata and sigdata as well, we copy everything to be consistent - for file in System.IO.Directory.EnumerateFiles("packages" "FSharp.Core" "lib" "net40") do - let source, dest = file, Path.Combine("bin", Path.GetFileName(file)) - printfn "Copying %s to %s" source dest - File.Copy(source, dest, true)) + for file in System.IO.Directory.EnumerateFiles("packages" "FSharp.Core" "lib" "net45") do + let source, binDest = file, "bin" Path.GetFileName file + printfn "Copying %s to %s" source binDest + File.Copy (source, binDest, true) +) + + +Target "SetupLibForTests" (fun _ -> + + let copyPackageFiles dir = + let dir = Path.GetFullPath dir + for file in System.IO.Directory.EnumerateFiles dir do + let source, libDest = file, "tests""bin"(Path.GetFileName file) + tracefn "Copying %s to %s" source libDest + File.Copy (source, libDest, true) + [ "packages" "FSharp.Core" "lib" "net45" + "packages" "System.ValueTuple" "lib" "portable-net40+sl4+win8+wp8" + "packages" "FSharp.Compiler.Service" "lib" "net45" + "packages" "FSharp.Data" "lib" "portable-net45+netcore45" + ] |> List.iter copyPackageFiles +) + Target "NuGet" (fun _ -> NuGet (fun p -> @@ -257,8 +234,10 @@ Target "NuGet" (fun _ -> "nuget/FSharp.Formatting.CommandTool.nuspec" ) -// -------------------------------------------------------------------------------------- + // Generate the documentation +// -------------------------------------------------------------------------------------- + let fakePath = "packages" "FAKE" "tools" "FAKE.exe" let fakeStartInfo script workingDirectory args fsiargs environmentVars = @@ -510,14 +489,31 @@ Target "CreateTestJson" (fun _ -> File.Copy(resultFile, "tests""commonmark_spec.json") ) -"Clean" ==> "AssemblyInfo" ==> "Build" ==> "BuildTests" -"Build" ==> "MergeVSPowerTools" ==> "All" -"BuildTests" ==> "RunTests" ==> "All" +"Clean" + ==> "AssemblyInfo" + ==> "CopyFSharpCore" + ==> "SetupLibForTests" + ==> "Build" + ==> "BuildTests" + + +"Build" ==> "All" + +"BuildTests" + ==> "RunTests" + ==> "All" + "GenerateDocs" ==> "All" -"Build" ==> "CopyFSharpCore" ==> "DogFoodCommandTool" ==> "All" + +"Build" + + ==> "DogFoodCommandTool" + ==> "All" + "UpdateFsxVersions" ==> "All" "CopyFSharpCore" ==> "NuGet" + "All" ==> "NuGet" ==> "ReleaseDocs" diff --git a/build.sh b/build.sh index bd9340e37..6bd9227b6 100755 --- a/build.sh +++ b/build.sh @@ -1,24 +1,36 @@ -#!/bin/bash +#!/usr/bin/env bash if test "$OS" = "Windows_NT" then # use .Net + .paket/paket.exe restore exit_code=$? if [ $exit_code -ne 0 ]; then - exit $exit_code + exit $exit_code fi - packages/FAKE/tools/FAKE.exe build.fsx $@ + packages/FAKE/tools/FAKE.exe $@ --fsiargs -d:MONO build.fsx else # use mono - - mono .paket/paket.exe restore + exit_code=$? if [ $exit_code -ne 0 ]; then - exit $exit_code + certificate_count=$(certmgr -list -c Trust | grep X.509 | wc -l) + if [ $certificate_count -le 1 ]; then + echo "Couldn't download Paket. This might be because your Mono installation" + echo "doesn't have the right SSL root certificates installed. One way" + echo "to fix this would be to download the list of SSL root certificates" + echo "from the Mozilla project by running the following command:" + echo "" + echo " mozroots --import --sync" + echo "" + echo "This will import over 100 SSL root certificates into your Mono" + echo "certificate repository. Then try running the build script again." + fi + exit $exit_code fi - - mono packages/FAKE/tools/FAKE.exe $@ --fsiargs -d:MONO build.fsx + + mono packages/FAKE/tools/FAKE.exe $@ --fsiargs -d:MONO build.fsx fi \ No newline at end of file diff --git a/csharp/MarkdownSharp/MarkdownSharp.csproj b/csharp/MarkdownSharp/MarkdownSharp.csproj index 9e650b47d..ba7d4f98d 100644 --- a/csharp/MarkdownSharp/MarkdownSharp.csproj +++ b/csharp/MarkdownSharp/MarkdownSharp.csproj @@ -1,24 +1,15 @@  - + Debug AnyCPU - 9.0.30729 - 2.0 {37619116-CCE8-465A-8B1F-081CA53364BB} Library Properties MarkdownSharp MarkdownSharp - v3.5 + v4.6.1 512 - - - - - 3.5 - - publish\ true Disk false diff --git a/docs/files/content/style.css b/docs/files/content/style.css index 34e182845..1dbbd0ca6 100644 --- a/docs/files/content/style.css +++ b/docs/files/content/style.css @@ -12,14 +12,31 @@ span.pf { color:#E0C57F; } span.e { color:#EA8675; } /* identifiers --- and styles for more specific identifier types */ -span.i { color:#d1d1d1; } -/* type or module */ -span.t { color:#43AEC6; } +span.id { color:#d1d1d1; } +/* module */ +span.m { color:#43AEC6; } +/* reference type */ +span.rt { color:#43AEC6; } +/* value type */ +span.vt { color:#43AEC6; } +/* interface */ +span.if{ color:#43AEC6; } +/* type argument */ +span.ta { color:#43AEC6; } +/* disposable */ +span.d { color:#43AEC6; } +/* property */ +span.prop { color:#43AEC6; } +/* punctuation */ +span.p { color:#43AEC6; } /* function */ span.f { color:#e1e1e1; } -/* DU case or active pattern */ -span.p { color:#4ec9b0; } - +/* active pattern */ +span.pat { color:#4ec9b0; } +/* union case */ +span.u { color:#4ec9b0; } +/* enumeration */ +span.e { color:#4ec9b0; } /* keywords */ span.k { color:#FAB11D; } /* comment */ diff --git a/lib/FSharp.Core.dll b/lib/FSharp.Core.dll index a8ab07827..02d078679 100644 Binary files a/lib/FSharp.Core.dll and b/lib/FSharp.Core.dll differ diff --git a/lib/FSharp.Core.optdata b/lib/FSharp.Core.optdata index adcd24299..6c697fbf1 100644 Binary files a/lib/FSharp.Core.optdata and b/lib/FSharp.Core.optdata differ diff --git a/lib/FSharp.Core.sigdata b/lib/FSharp.Core.sigdata index 3499ff854..26a642aae 100644 Binary files a/lib/FSharp.Core.sigdata and b/lib/FSharp.Core.sigdata differ diff --git a/packages/FSharp.Formatting/FSharp.Formatting.fsx b/packages/FSharp.Formatting/FSharp.Formatting.fsx index 807340663..f5a88b49e 100644 --- a/packages/FSharp.Formatting/FSharp.Formatting.fsx +++ b/packages/FSharp.Formatting/FSharp.Formatting.fsx @@ -2,24 +2,23 @@ // Standard NuGet or Paket location #I __SOURCE_DIRECTORY__ #I "lib/net40" -#r "./lib/net40/System.Web.Razor.dll" +#r "../Microsoft.AspNet.Razor/lib/net45/System.Web.Razor.dll" // Force load if (typeof.Assembly.GetName().Version.Major <= 2) then failwith "Wrong System.Web.Razor Version loaded!" +#r "../System.ValueTuple/lib/portable-net40+sl4+win8+wp8/System.ValueTuple.dll" // Standard NuGet locations -#I "../FSharp.Compiler.Service.2.0.0.6/lib/net45" -#I "../FSharpVSPowerTools.Core.2.3.0/lib/net45" +//#I "../FSharp.Compiler.Service.12.0.2/lib/net45" // Standard Paket locations #I "../FSharp.Compiler.Service/lib/net45" -#I "../FSharpVSPowerTools.Core/lib/net45" +//#I "../FSharpVSPowerTools.Core/lib/net45" // Reference VS PowerTools, Razor and F# Formatting components #r "RazorEngine.dll" -#r "FSharpVSPowerTools.Core.dll" #r "FSharp.Formatting.Common.dll" #r "FSharp.Markdown.dll" #r "FSharp.Literate.dll" diff --git a/paket.dependencies b/paket.dependencies index beb715f9f..615e45626 100644 --- a/paket.dependencies +++ b/paket.dependencies @@ -1,30 +1,25 @@ source https://api.nuget.org/v3/index.json source https://nuget.org/api/v2 +source https://dotnet.myget.org/F/dotnet-corefxlab/api/v3/index.json + redirects: on nuget FSharp.Data nuget FAKE nuget CommandLineParser -nuget FSharp.Core 4.0.0.1 redirects:force +nuget FSharp.Core redirects:force, content:none nuget Microsoft.AspNet.Razor -nuget RazorEngine 3.9.3 framework: net45 -nuget NuGet.CommandLine -nuget FSharp.Compiler.Service 2.0.0.6 -// See http://fsprojects.github.io/Paket/nuget-dependencies.html -// This basically means we need the lowest version for its dependencies (FSharp.Compiler.Service) -// Otherwise we get runtime errors without binding redirects -// (which we cannot control running as part of a build script). -// See https://github.com/tpetricek/FSharp.Formatting/issues/277 as well. -nuget FSharpVSPowerTools.Core !>= 0 +nuget RazorEngine 3.9.3 framework: >= net45 +nuget FSharp.Compiler.Service content:none nuget ILRepack +nuget Argu + -github matthid/Yaaf.FSharp.Scripting src/source/Yaaf.FSharp.Scripting/YaafFSharpScripting.fs +# github matthid/Yaaf.FSharp.Scripting src/source/Yaaf.FSharp.Scripting/YaafFSharpScripting.fs group Test source https://api.nuget.org/v3/index.json - redirects: on - nuget FSharp.Core 4.0.0.1 redirects:force - nuget FsUnit 3.0.0 framework:net45 - nuget NUnit - nuget NUnit.Console + nuget FsUnit 3.0.0 //framework:net45 + nuget NUnit 3.6.0 + nuget Nunit.ConsoleRunner diff --git a/paket.lock b/paket.lock index dfdb4504f..c8061fede 100644 --- a/paket.lock +++ b/paket.lock @@ -1,38 +1,116 @@ REDIRECTS: ON NUGET remote: https://api.nuget.org/v3/index.json + Argu (3.7) + FSharp.Core (>= 4.0.1.7-alpha) - framework: >= net463, >= netstandard16 + NETStandard.Library (>= 1.6) - framework: >= net463, >= netstandard16 + System.Xml.XDocument (>= 4.0.11) - framework: >= net463, >= netstandard16 CommandLineParser (1.9.71) - FAKE (4.56) - FSharp.Compiler.Service (2.0.0.6) - FSharp.Core (4.0.0.1) - redirects: force - FSharp.Data (2.3.2) + FAKE (4.58.6) + FSharp.Compiler.Service (12.0.5) - content: none + FSharp.Core (>= 4.1.2) - framework: >= netstandard16 + Microsoft.DiaSymReader (>= 1.1) - framework: >= netstandard16 + Microsoft.DiaSymReader.PortablePdb (>= 1.2) - framework: >= netstandard16 + Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard16 + Microsoft.NETCore.Targets (>= 1.1) - framework: >= netstandard16 + NETStandard.Library (>= 1.6.1) - framework: >= netstandard16 + runtime.native.System (>= 4.3) - framework: >= netstandard16 + runtime.native.System.IO.Compression (>= 4.3) - framework: >= netstandard16 + System.Buffers (>= 4.3) - framework: >= netstandard16 + System.Collections (>= 4.3) - framework: >= netstandard16 + System.Collections.Immutable (>= 1.3) - framework: >= netstandard16 + System.Collections.Immutable (>= 1.3.1) - framework: >= net10, netstandard10, netstandard11, netstandard12, netstandard13, netstandard14, netstandard15 + System.Diagnostics.Debug (>= 4.3) - framework: >= netstandard16 + System.Diagnostics.Process (>= 4.1) - framework: >= netstandard16 + System.Diagnostics.TraceSource (>= 4.0) - framework: >= netstandard16 + System.Diagnostics.Tracing (>= 4.3) - framework: >= netstandard16 + System.Globalization (>= 4.3) - framework: >= netstandard16 + System.IO (>= 4.3) - framework: >= netstandard16 + System.IO.Compression (>= 4.3) - framework: >= netstandard16 + System.Linq (>= 4.3) - framework: >= netstandard16 + System.Reflection (>= 4.3) - framework: >= netstandard16 + System.Reflection.Emit (>= 4.3) - framework: >= netstandard16 + System.Reflection.Extensions (>= 4.3) - framework: >= netstandard16 + System.Reflection.Metadata (>= 1.4.1) - framework: >= netstandard16 + System.Reflection.Metadata (>= 1.4.2) - framework: >= net10, netstandard10, netstandard11, netstandard12, netstandard13, netstandard14, netstandard15 + System.Reflection.Primitives (>= 4.3) - framework: >= netstandard16 + System.Reflection.TypeExtensions (>= 4.3) - framework: >= netstandard16 + System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard16 + System.Runtime (>= 4.3) - framework: >= netstandard16 + System.Runtime.Extensions (>= 4.3) - framework: >= netstandard16 + System.Runtime.Handles (>= 4.3) - framework: >= netstandard16 + System.Runtime.InteropServices (>= 4.3) - framework: >= netstandard16 + System.Runtime.Loader (>= 4.0) - framework: >= netstandard16 + System.Security.Cryptography.Algorithms (>= 4.3) - framework: >= netstandard16 + System.Text.Encoding (>= 4.3) - framework: >= netstandard16 + System.Text.Encoding.Extensions (>= 4.3) - framework: >= netstandard16 + System.Threading (>= 4.3) - framework: >= netstandard16 + System.Threading.Tasks (>= 4.3) - framework: >= netstandard16 + FSharp.Core (4.1.12) - content: none, redirects: force + System.Collections (>= 4.0.11) - framework: >= netstandard16 + System.Console (>= 4.0) - framework: >= netstandard16 + System.Diagnostics.Debug (>= 4.0.11) - framework: >= netstandard16 + System.Diagnostics.Tools (>= 4.0.1) - framework: >= netstandard16 + System.Globalization (>= 4.0.11) - framework: >= netstandard16 + System.IO (>= 4.1) - framework: >= netstandard16 + System.Linq (>= 4.1) - framework: >= netstandard16 + System.Linq.Expressions (>= 4.1) - framework: >= netstandard16 + System.Linq.Queryable (>= 4.0.1) - framework: >= netstandard16 + System.Net.Requests (>= 4.0.11) - framework: >= netstandard16 + System.Reflection (>= 4.1) - framework: >= netstandard16 + System.Reflection.Extensions (>= 4.0.1) - framework: >= netstandard16 + System.Resources.ResourceManager (>= 4.0.1) - framework: >= netstandard16 + System.Runtime (>= 4.1) - framework: >= netstandard16 + System.Runtime.Extensions (>= 4.1) - framework: >= netstandard16 + System.Runtime.Numerics (>= 4.0.1) - framework: >= netstandard16 + System.Text.RegularExpressions (>= 4.1) - framework: >= netstandard16 + System.Threading (>= 4.0.11) - framework: >= netstandard16 + System.Threading.Tasks (>= 4.0.11) - framework: >= netstandard16 + System.Threading.Tasks.Parallel (>= 4.0.1) - framework: >= netstandard16 + System.Threading.Thread (>= 4.0) - framework: >= netstandard16 + System.Threading.ThreadPool (>= 4.0.10) - framework: >= netstandard16 + System.Threading.Timer (>= 4.0.1) - framework: >= netstandard16 + System.ValueTuple (>= 4.3) - framework: >= net10, netstandard10, netstandard11, netstandard12, netstandard13, netstandard14, netstandard15 + FSharp.Data (2.3.3) Zlib.Portable (>= 1.11) - framework: >= netstandard11, portable-net45+sl5+win8, portable-net45+win8, portable-net45+win8+wp8+wpa81 - FSharpVSPowerTools.Core (2.3) - FSharp.Compiler.Service (>= 2.0.0.3) - ILRepack (2.0.12) + ILRepack (2.0.13) Microsoft.AspNet.Razor (3.2.3) - NuGet.CommandLine (3.5) - RazorEngine (3.9.3) - framework: net45 - Microsoft.AspNet.Razor (>= 3.0) - framework: >= net45 - Zlib.Portable (1.11) - framework: >= netstandard11, portable-net45+sl5+win8, portable-net45+win8, portable-net45+win8+wp8+wpa81 -GITHUB - remote: matthid/Yaaf.FSharp.Scripting - src/source/Yaaf.FSharp.Scripting/YaafFSharpScripting.fs (40ef4e32a115962436809666b6868693be6444c2) -GROUP Test -REDIRECTS: ON -NUGET - remote: https://api.nuget.org/v3/index.json - FSharp.Core (4.0.0.1) - redirects: force - FsUnit (3.0) - framework: net45 - FSharp.Core (>= 3.1.2.5) - framework: >= net10, netstandard10, netstandard11, netstandard12, netstandard13, netstandard14, netstandard15 - NUnit (>= 3.6) - Microsoft.NETCore.Platforms (1.1) - framework: >= net463, >= netstandard16 - Microsoft.NETCore.Targets (1.1) - framework: >= net463, >= netstandard16 + Microsoft.DiaSymReader (1.1) - content: none, framework: >= netstandard16 + System.Diagnostics.Debug (>= 4.0.11) - framework: >= net45, >= netstandard11 + System.Runtime (>= 4.1) - framework: >= net45, >= netstandard11 + System.Runtime.InteropServices (>= 4.1) - framework: >= net45, >= netstandard11 + Microsoft.DiaSymReader.PortablePdb (1.2) - content: none, framework: >= netstandard16 + Microsoft.DiaSymReader (>= 1.1) - framework: >= net45, >= netstandard11, portable-net45+win8 + System.Collections (>= 4.3) - framework: >= net45, >= netstandard11 + System.Collections.Immutable (>= 1.3.1) - framework: >= net45, >= netstandard11, portable-net45+win8 + System.Diagnostics.Debug (>= 4.3) - framework: >= net45, >= netstandard11 + System.Globalization (>= 4.3) - framework: >= net45, >= netstandard11 + System.IO (>= 4.3) - framework: >= net45, >= netstandard11 + System.Linq (>= 4.3) - framework: >= net45, >= netstandard11 + System.Reflection (>= 4.3) - framework: >= net45, >= netstandard11 + System.Reflection.Metadata (>= 1.4.2) - framework: >= net45, >= netstandard11, portable-net45+win8 + System.Reflection.Primitives (>= 4.3) - framework: >= net45, >= netstandard11 + System.Runtime (>= 4.3) - framework: >= net45, >= netstandard11 + System.Runtime.Extensions (>= 4.3) - framework: >= net45, >= netstandard11 + System.Runtime.InteropServices (>= 4.3) - framework: >= net45, >= netstandard11 + System.Text.Encoding (>= 4.3) - framework: >= net45, >= netstandard11 + System.Threading (>= 4.3) - framework: >= net45, >= netstandard11 + Microsoft.NETCore.Platforms (1.1) - content: none, framework: >= net10, >= netstandard10, netstandard12, netstandard13 + Microsoft.NETCore.Targets (1.1) - content: none, framework: >= net10, >= netstandard10, netstandard12, netstandard13 Microsoft.Win32.Primitives (4.3) - framework: >= net463, >= netstandard16 Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard13 Microsoft.NETCore.Targets (>= 1.1) - framework: >= netstandard13 System.Runtime (>= 4.3) - framework: >= netstandard13 - NETStandard.Library (1.6.1) - framework: >= net463, >= netstandard16 + Microsoft.Win32.Registry (4.3) - content: none, framework: >= netstandard16 + Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard13 + System.Collections (>= 4.3) - framework: >= netstandard13 + System.Globalization (>= 4.3) - framework: >= netstandard13 + System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard13 + System.Runtime (>= 4.3) - framework: >= netstandard13 + System.Runtime.Extensions (>= 4.3) - framework: >= netstandard13 + System.Runtime.Handles (>= 4.3) - framework: >= netstandard13 + System.Runtime.InteropServices (>= 4.3) - framework: >= netstandard13 + NETStandard.Library (1.6.1) - content: none, framework: >= net463, >= netstandard16 Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard10 Microsoft.Win32.Primitives (>= 4.3) - framework: >= net46, >= netstandard13 System.AppContext (>= 4.3) - framework: >= net46, >= netstandard13 @@ -77,37 +155,23 @@ NUGET System.Threading.Timer (>= 4.3) - framework: >= net451, >= netstandard12 System.Xml.ReaderWriter (>= 4.3) - framework: >= netstandard10 System.Xml.XDocument (>= 4.3) - framework: >= netstandard10 - NUnit (3.6.1) - NETStandard.Library (>= 1.6) - framework: >= net463, >= netstandard16 - System.Runtime.Loader (>= 4.0) - framework: >= net463, >= netstandard16 - NUnit.Console (3.6.1) - NUnit.ConsoleRunner (>= 3.6.1) - NUnit.Extension.NUnitProjectLoader (>= 3.5) - NUnit.Extension.NUnitV2Driver (>= 3.6) - NUnit.Extension.NUnitV2ResultWriter (>= 3.5) - NUnit.Extension.TeamCityEventListener (>= 1.0.2) - NUnit.Extension.VSProjectLoader (>= 3.5) - NUnit.ConsoleRunner (3.6.1) - NUnit.Extension.NUnitProjectLoader (3.5) - NUnit.Extension.NUnitV2Driver (3.6) - NUnit.Extension.NUnitV2ResultWriter (3.5) - NUnit.Extension.TeamCityEventListener (1.0.2) - NUnit.Extension.VSProjectLoader (3.5) - runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3) - framework: >= net463, >= netstandard16 - runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3) - framework: >= net463, >= netstandard16 - runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3) - framework: >= net463, >= netstandard16 - runtime.native.System (4.3) - framework: >= net463, >= netstandard16 + RazorEngine (3.9.3) - framework: >= net45 + Microsoft.AspNet.Razor (>= 3.0) - framework: >= net45 + runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3) - content: none, framework: >= net463, >= netstandard16 + runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3) - content: none, framework: >= net463, >= netstandard16 + runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3) - content: none, framework: >= net463, >= netstandard16 + runtime.native.System (4.3) - content: none, framework: >= net10, >= netstandard13 Microsoft.NETCore.Platforms (>= 1.1) Microsoft.NETCore.Targets (>= 1.1) - runtime.native.System.IO.Compression (4.3) - framework: >= net463, >= netstandard16 + runtime.native.System.IO.Compression (4.3) - content: none, framework: >= net10, >= netstandard13 Microsoft.NETCore.Platforms (>= 1.1) Microsoft.NETCore.Targets (>= 1.1) runtime.native.System.Net.Http (4.3) - framework: >= net463, >= netstandard16 Microsoft.NETCore.Platforms (>= 1.1) Microsoft.NETCore.Targets (>= 1.1) - runtime.native.System.Security.Cryptography.Apple (4.3) - framework: >= net463, >= netstandard16 + runtime.native.System.Security.Cryptography.Apple (4.3) - content: none, framework: >= net463, >= netstandard16 runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple (>= 4.3) - runtime.native.System.Security.Cryptography.OpenSsl (4.3) - framework: >= net463, >= netstandard16 + runtime.native.System.Security.Cryptography.OpenSsl (4.3) - content: none, framework: >= net463, >= netstandard16 runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3) runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3) runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3) @@ -118,23 +182,23 @@ NUGET runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3) runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3) runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3) - runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3) - framework: >= net463, >= netstandard16 - runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3) - framework: >= net463, >= netstandard16 - runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple (4.3) - framework: >= net463, >= netstandard16 - runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3) - framework: >= net463, >= netstandard16 - runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3) - framework: >= net463, >= netstandard16 - runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3) - framework: >= net463, >= netstandard16 - runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3) - framework: >= net463, >= netstandard16 - runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3) - framework: >= net463, >= netstandard16 + runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3) - content: none, framework: >= net463, >= netstandard16 + runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3) - content: none, framework: >= net463, >= netstandard16 + runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple (4.3) - content: none, framework: >= net463, >= netstandard16 + runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3) - content: none, framework: >= net463, >= netstandard16 + runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3) - content: none, framework: >= net463, >= netstandard16 + runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3) - content: none, framework: >= net463, >= netstandard16 + runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3) - content: none, framework: >= net463, >= netstandard16 + runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3) - content: none, framework: >= net463, >= netstandard16 System.AppContext (4.3) - framework: >= net463, >= netstandard16 System.Runtime (>= 4.3) - framework: dnxcore50, netstandard13, >= netstandard16 - System.Buffers (4.3) - framework: >= net463, >= netstandard16 + System.Buffers (4.3) - content: none, framework: >= net10, >= netstandard13 System.Diagnostics.Debug (>= 4.3) - framework: >= netstandard11 System.Diagnostics.Tracing (>= 4.3) - framework: >= netstandard11 System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard11 System.Runtime (>= 4.3) - framework: >= netstandard11 System.Threading (>= 4.3) - framework: >= netstandard11 - System.Collections (4.3) - framework: >= net463, >= netstandard16 + System.Collections (4.3) - content: none, framework: >= net10, >= netstandard10 Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13 Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13 System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13 @@ -149,13 +213,22 @@ NUGET System.Runtime.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard13 System.Threading (>= 4.3) - framework: dnxcore50, >= netstandard13 System.Threading.Tasks (>= 4.3) - framework: dnxcore50, netstandard11, >= netstandard13 - System.Console (4.3) - framework: >= net463, >= netstandard16 + System.Collections.Immutable (1.3.1) - content: none, framework: >= net10, >= netstandard10 + System.Collections (>= 4.3) - framework: >= netstandard10 + System.Diagnostics.Debug (>= 4.3) - framework: >= netstandard10 + System.Globalization (>= 4.3) - framework: >= netstandard10 + System.Linq (>= 4.3) - framework: >= netstandard10 + System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard10 + System.Runtime (>= 4.3) - framework: >= netstandard10 + System.Runtime.Extensions (>= 4.3) - framework: >= netstandard10 + System.Threading (>= 4.3) - framework: >= netstandard10 + System.Console (4.3) - content: none, redirects: force, framework: >= net463, >= netstandard16 Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard13 Microsoft.NETCore.Targets (>= 1.1) - framework: >= netstandard13 System.IO (>= 4.3) - framework: >= netstandard13 System.Runtime (>= 4.3) - framework: >= netstandard13 System.Text.Encoding (>= 4.3) - framework: >= netstandard13 - System.Diagnostics.Debug (4.3) - framework: >= net463, >= netstandard16 + System.Diagnostics.Debug (4.3) - content: none, framework: >= net10, >= netstandard10 Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13 Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13 System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13 @@ -165,15 +238,47 @@ NUGET System.Reflection (>= 4.3) - framework: netstandard11, >= netstandard13 System.Runtime (>= 4.3) - framework: netstandard11, >= netstandard13 System.Threading (>= 4.3) - framework: netstandard11, >= netstandard13 - System.Diagnostics.Tools (4.3) - framework: >= net463, >= netstandard16 + System.Diagnostics.Process (4.3) - content: none, framework: >= netstandard16 + Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard14 + Microsoft.Win32.Primitives (>= 4.3) - framework: >= netstandard14 + Microsoft.Win32.Registry (>= 4.3) - framework: >= netstandard14 + runtime.native.System (>= 4.3) - framework: >= netstandard14 + System.Collections (>= 4.3) - framework: >= netstandard14 + System.Diagnostics.Debug (>= 4.3) - framework: >= netstandard14 + System.Globalization (>= 4.3) - framework: >= netstandard14 + System.IO (>= 4.3) - framework: >= netstandard13 + System.IO.FileSystem (>= 4.3) - framework: >= netstandard14 + System.IO.FileSystem.Primitives (>= 4.3) - framework: >= netstandard14 + System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard14 + System.Runtime (>= 4.3) - framework: >= netstandard13 + System.Runtime.Extensions (>= 4.3) - framework: >= netstandard14 + System.Runtime.Handles (>= 4.3) - framework: >= netstandard13 + System.Runtime.InteropServices (>= 4.3) - framework: >= netstandard14 + System.Text.Encoding (>= 4.3) - framework: >= netstandard13 + System.Text.Encoding.Extensions (>= 4.3) - framework: >= netstandard14 + System.Threading (>= 4.3) - framework: >= netstandard14 + System.Threading.Tasks (>= 4.3) - framework: >= netstandard14 + System.Threading.Thread (>= 4.3) - framework: >= netstandard14 + System.Threading.ThreadPool (>= 4.3) - framework: >= netstandard14 + System.Diagnostics.Tools (4.3) - content: none, redirects: force, framework: >= net463, >= netstandard16 Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, >= netstandard10 Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, >= netstandard10 System.Runtime (>= 4.3) - framework: dnxcore50, >= netstandard10 - System.Diagnostics.Tracing (4.3) - framework: >= net463, >= netstandard16 + System.Diagnostics.TraceSource (4.3) - content: none, framework: >= netstandard16 + Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard13 + runtime.native.System (>= 4.3) - framework: >= netstandard13 + System.Collections (>= 4.3) - framework: >= netstandard13 + System.Diagnostics.Debug (>= 4.3) - framework: >= netstandard13 + System.Globalization (>= 4.3) - framework: >= netstandard13 + System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard13 + System.Runtime (>= 4.3) - framework: >= netstandard13 + System.Runtime.Extensions (>= 4.3) - framework: >= netstandard13 + System.Threading (>= 4.3) - framework: >= netstandard13 + System.Diagnostics.Tracing (4.3) - content: none, framework: >= net10, >= netstandard13 Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard11, netstandard12, netstandard13, >= netstandard15 Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard11, netstandard12, netstandard13, >= netstandard15 System.Runtime (>= 4.3) - framework: dnxcore50, netstandard11, netstandard12, netstandard13, >= netstandard15 - System.Globalization (4.3) - framework: >= net463, >= netstandard16 + System.Globalization (4.3) - content: none, framework: >= net10, >= netstandard10 Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13 Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13 System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13 @@ -189,13 +294,13 @@ NUGET System.Runtime (>= 4.3) - framework: >= netstandard13 System.Runtime.Extensions (>= 4.3) - framework: >= netstandard13 System.Runtime.InteropServices (>= 4.3) - framework: >= netstandard13 - System.IO (4.3) - framework: >= net463, >= netstandard16 + System.IO (4.3) - content: none, framework: >= net10, >= netstandard10, netstandard13 Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15 Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15 System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15 System.Text.Encoding (>= 4.3) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15 System.Threading.Tasks (>= 4.3) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15 - System.IO.Compression (4.3) - framework: >= net463, >= netstandard16 + System.IO.Compression (4.3) - content: none, framework: >= net10, >= netstandard11 Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard13 runtime.native.System (>= 4.3) - framework: >= netstandard13 runtime.native.System.IO.Compression (>= 4.3) - framework: dnxcore50, >= netstandard13 @@ -232,13 +337,13 @@ NUGET System.Threading.Tasks (>= 4.3) - framework: >= netstandard13 System.IO.FileSystem.Primitives (4.3) - framework: >= net463, >= netstandard16 System.Runtime (>= 4.3) - framework: >= netstandard13 - System.Linq (4.3) - framework: >= net463, >= netstandard16 + System.Linq (4.3) - content: none, framework: >= net10, >= netstandard10 System.Collections (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard16 System.Diagnostics.Debug (>= 4.3) - framework: dnxcore50, >= netstandard16 System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard16 System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard16 System.Runtime.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard16 - System.Linq.Expressions (4.3) - framework: >= net463, >= netstandard16 + System.Linq.Expressions (4.3) - content: none, redirects: force, framework: >= net463, >= netstandard16 System.Collections (>= 4.3) - framework: dnxcore50, >= netstandard16 System.Diagnostics.Debug (>= 4.3) - framework: dnxcore50, >= netstandard16 System.Globalization (>= 4.3) - framework: dnxcore50, >= netstandard16 @@ -256,6 +361,15 @@ NUGET System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard16 System.Runtime.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard16 System.Threading (>= 4.3) - framework: dnxcore50, >= netstandard16 + System.Linq.Queryable (4.3) - content: none, redirects: force, framework: >= netstandard16 + System.Collections (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Diagnostics.Debug (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Linq (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13 + System.Linq.Expressions (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13 + System.Reflection (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Reflection.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13 System.Net.Http (4.3.1) - framework: >= net463, >= netstandard16 Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard13, >= netstandard16 runtime.native.System (>= 4.3) - framework: >= netstandard16 @@ -288,6 +402,20 @@ NUGET Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard10, netstandard11, >= netstandard13 System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, netstandard11, >= netstandard13 System.Runtime.Handles (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Net.Requests (4.3) - content: none, redirects: force, framework: >= netstandard16 + Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard13 + System.Collections (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Diagnostics.Debug (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Diagnostics.Tracing (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Globalization (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.IO (>= 4.3) - framework: dnxcore50, netstandard10, netstandard11, >= netstandard13 + System.Net.Http (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Net.Primitives (>= 4.3) - framework: dnxcore50, netstandard10, netstandard11, >= netstandard13 + System.Net.WebHeaderCollection (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, netstandard11, >= netstandard13 + System.Threading (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Threading.Tasks (>= 4.3) - framework: dnxcore50, netstandard11, >= netstandard13 System.Net.Sockets (4.3) - framework: >= net463, >= netstandard16 Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard13 Microsoft.NETCore.Targets (>= 1.1) - framework: >= netstandard13 @@ -295,63 +423,85 @@ NUGET System.Net.Primitives (>= 4.3) - framework: >= netstandard13 System.Runtime (>= 4.3) - framework: >= netstandard13 System.Threading.Tasks (>= 4.3) - framework: >= netstandard13 + System.Net.WebHeaderCollection (4.3) - content: none, redirects: force, framework: >= netstandard16 + System.Collections (>= 4.3) - framework: >= netstandard13 + System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard13 + System.Runtime (>= 4.3) - framework: >= netstandard13 + System.Runtime.Extensions (>= 4.3) - framework: >= netstandard13 System.ObjectModel (4.3) - framework: >= net463, >= netstandard16 System.Collections (>= 4.3) - framework: dnxcore50, >= netstandard13 System.Diagnostics.Debug (>= 4.3) - framework: dnxcore50, >= netstandard13 System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard13 System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13 System.Threading (>= 4.3) - framework: dnxcore50, >= netstandard13 - System.Reflection (4.3) - framework: >= net463, >= netstandard16 + System.Reflection (4.3) - content: none, framework: >= net10, >= netstandard10, netstandard12, netstandard13 Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15 Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15 System.IO (>= 4.3) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15 System.Reflection.Primitives (>= 4.3) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15 System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15 - System.Reflection.Emit (4.3) - framework: >= net463, >= netstandard16 + System.Reflection.Emit (4.3) - content: none, framework: >= net463, >= netstandard16 System.IO (>= 4.3) - framework: >= netstandard11 System.Reflection (>= 4.3) - framework: >= netstandard11 System.Reflection.Emit.ILGeneration (>= 4.3) - framework: >= netstandard11 System.Reflection.Primitives (>= 4.3) - framework: >= netstandard11 System.Runtime (>= 4.3) - framework: >= netstandard11 - System.Reflection.Emit.ILGeneration (4.3) - framework: >= net463, >= netstandard16 + System.Reflection.Emit.ILGeneration (4.3) - content: none, redirects: force, framework: >= net463, >= netstandard16 System.Reflection (>= 4.3) - framework: >= netstandard10 System.Reflection.Primitives (>= 4.3) - framework: >= netstandard10 System.Runtime (>= 4.3) - framework: >= netstandard10 - System.Reflection.Emit.Lightweight (4.3) - framework: >= net463, >= netstandard16 + System.Reflection.Emit.Lightweight (4.3) - content: none, redirects: force, framework: >= net463, >= netstandard16 System.Reflection (>= 4.3) - framework: >= netstandard10 System.Reflection.Emit.ILGeneration (>= 4.3) - framework: >= netstandard10 System.Reflection.Primitives (>= 4.3) - framework: >= netstandard10 System.Runtime (>= 4.3) - framework: >= netstandard10 - System.Reflection.Extensions (4.3) - framework: >= net463, >= netstandard16 + System.Reflection.Extensions (4.3) - content: none, framework: >= net10, >= netstandard11 Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, >= netstandard10 Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, >= netstandard10 System.Reflection (>= 4.3) - framework: dnxcore50, >= netstandard10 System.Runtime (>= 4.3) - framework: dnxcore50, >= netstandard10 - System.Reflection.Primitives (4.3) - framework: >= net463, >= netstandard16 + System.Reflection.Metadata (1.4.2) - content: none, framework: >= net10, >= netstandard10 + System.Collections (>= 4.3) - framework: >= netstandard11 + System.Collections.Immutable (>= 1.3.1) - framework: >= net45, >= netstandard11, monoandroid, monotouch, xamarinios, xamarinmac, winv4.5, wpav8.1 + System.Diagnostics.Debug (>= 4.3) - framework: >= netstandard11 + System.IO (>= 4.3) - framework: >= netstandard11 + System.IO.Compression (>= 4.3) - framework: >= netstandard11 + System.Linq (>= 4.3) - framework: >= netstandard11 + System.Reflection (>= 4.3) - framework: >= netstandard11 + System.Reflection.Extensions (>= 4.3) - framework: >= netstandard11 + System.Reflection.Primitives (>= 4.3) - framework: >= netstandard11 + System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard11 + System.Runtime (>= 4.3) - framework: >= netstandard11 + System.Runtime.Extensions (>= 4.3) - framework: >= netstandard11 + System.Runtime.InteropServices (>= 4.3) - framework: >= netstandard11 + System.Text.Encoding (>= 4.3) - framework: >= netstandard11 + System.Text.Encoding.Extensions (>= 4.3) - framework: >= netstandard11 + System.Threading (>= 4.3) - framework: >= netstandard11 + System.Reflection.Primitives (4.3) - content: none, framework: >= net10, >= netstandard10, netstandard12, netstandard13 Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, >= netstandard10 Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, >= netstandard10 System.Runtime (>= 4.3) - framework: dnxcore50, >= netstandard10 - System.Reflection.TypeExtensions (4.3) - framework: >= net463, >= netstandard16 + System.Reflection.TypeExtensions (4.3) - content: none, framework: >= net463, >= netstandard16 System.Reflection (>= 4.3) - framework: >= net462, dnxcore50, netstandard13, >= netstandard15 System.Runtime (>= 4.3) - framework: dnxcore50, netstandard13, >= netstandard15 - System.Resources.ResourceManager (4.3) - framework: >= net463, >= netstandard16 + System.Resources.ResourceManager (4.3) - content: none, framework: >= net10, >= netstandard10 Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, >= netstandard10 Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, >= netstandard10 System.Globalization (>= 4.3) - framework: dnxcore50, >= netstandard10 System.Reflection (>= 4.3) - framework: dnxcore50, >= netstandard10 System.Runtime (>= 4.3) - framework: dnxcore50, >= netstandard10 - System.Runtime (4.3) - framework: >= net463, >= netstandard16 + System.Runtime (4.3) - content: none, framework: >= net10, >= netstandard10, netstandard11, netstandard12, netstandard13 Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard10, netstandard12, netstandard13, >= netstandard15 Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard10, netstandard12, netstandard13, >= netstandard15 - System.Runtime.Extensions (4.3) - framework: >= net463, >= netstandard16 + System.Runtime.Extensions (4.3) - content: none, framework: >= net10, >= netstandard10 Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15 Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15 System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15 - System.Runtime.Handles (4.3) - framework: >= net463, >= netstandard16 + System.Runtime.Handles (4.3) - content: none, framework: >= net10, >= netstandard13 Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard13 Microsoft.NETCore.Targets (>= 1.1) - framework: >= netstandard13 System.Runtime (>= 4.3) - framework: >= netstandard13 - System.Runtime.InteropServices (4.3) - framework: >= net463, >= netstandard16 + System.Runtime.InteropServices (4.3) - content: none, framework: >= net10, >= netstandard11 Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard11, netstandard12, netstandard13, >= netstandard15 Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard11, netstandard12, netstandard13, >= netstandard15 System.Reflection (>= 4.3) - framework: dnxcore50, netstandard11, netstandard12, netstandard13, >= netstandard15 @@ -366,16 +516,16 @@ NUGET System.Runtime (>= 4.3) - framework: dnxcore50, >= netstandard11 System.Runtime.InteropServices (>= 4.3) - framework: >= netstandard11 System.Threading (>= 4.3) - framework: dnxcore50, >= netstandard11 - System.Runtime.Loader (4.3) - framework: >= net463, >= netstandard16 + System.Runtime.Loader (4.3) - content: none, framework: >= netstandard16 System.IO (>= 4.3) - framework: >= netstandard15 System.Reflection (>= 4.3) - framework: >= netstandard15 System.Runtime (>= 4.3) - framework: >= netstandard15 - System.Runtime.Numerics (4.3) - framework: >= net463, >= netstandard16 + System.Runtime.Numerics (4.3) - content: none, redirects: force, framework: >= net463, >= netstandard16 System.Globalization (>= 4.3) - framework: dnxcore50, >= netstandard13 System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard13 System.Runtime (>= 4.3) - framework: dnxcore50, netstandard11, >= netstandard13 System.Runtime.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard13 - System.Security.Cryptography.Algorithms (4.3) - framework: >= net463, >= netstandard16 + System.Security.Cryptography.Algorithms (4.3) - content: none, framework: >= net463, >= netstandard16 Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, >= netstandard16 runtime.native.System.Security.Cryptography.Apple (>= 4.3) - framework: >= netstandard16 runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3) - framework: >= netstandard16 @@ -477,26 +627,26 @@ NUGET System.Security.Cryptography.Primitives (>= 4.3) - framework: dnxcore50, >= netstandard16 System.Text.Encoding (>= 4.3) - framework: dnxcore50, >= netstandard16 System.Threading (>= 4.3) - framework: dnxcore50, >= netstandard16 - System.Text.Encoding (4.3) - framework: >= net463, >= netstandard16 + System.Text.Encoding (4.3) - content: none, framework: >= net10, >= netstandard10, netstandard13 Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13 Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13 System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13 - System.Text.Encoding.Extensions (4.3) - framework: >= net463, >= netstandard16 + System.Text.Encoding.Extensions (4.3) - content: none, framework: >= net10, >= netstandard11 Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13 Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13 System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13 System.Text.Encoding (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13 - System.Text.RegularExpressions (4.3) - framework: >= net463, >= netstandard16 + System.Text.RegularExpressions (4.3) - content: none, redirects: force, framework: >= net463, >= netstandard16 System.Collections (>= 4.3) - framework: dnxcore50, >= netstandard16 System.Globalization (>= 4.3) - framework: dnxcore50, >= netstandard16 System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard16 System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard16 System.Runtime.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard16 System.Threading (>= 4.3) - framework: dnxcore50, >= netstandard16 - System.Threading (4.3) - framework: >= net463, >= netstandard16 + System.Threading (4.3) - content: none, framework: >= net10, >= netstandard10 System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13 System.Threading.Tasks (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13 - System.Threading.Tasks (4.3) - framework: >= net463, >= netstandard16 + System.Threading.Tasks (4.3) - content: none, framework: >= net10, netstandard10, >= netstandard13 Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13 Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13 System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13 @@ -504,10 +654,610 @@ NUGET System.Collections (>= 4.3) - framework: >= netstandard10 System.Runtime (>= 4.3) - framework: >= netstandard10 System.Threading.Tasks (>= 4.3) - framework: >= netstandard10 - System.Threading.Timer (4.3) - framework: >= net463, >= netstandard16 + System.Threading.Tasks.Parallel (4.3) - content: none, redirects: force, framework: >= netstandard16 + System.Collections.Concurrent (>= 4.3) - framework: dnxcore50, netstandard11, >= netstandard13 + System.Diagnostics.Debug (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Diagnostics.Tracing (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Runtime (>= 4.3) - framework: dnxcore50, netstandard11, >= netstandard13 + System.Runtime.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Threading (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Threading.Tasks (>= 4.3) - framework: dnxcore50, netstandard11, >= netstandard13 + System.Threading.Thread (4.3) - content: none, redirects: force, framework: >= netstandard16 + System.Runtime (>= 4.3) - framework: >= netstandard13 + System.Threading.ThreadPool (4.3) - content: none, redirects: force, framework: >= netstandard16 + System.Runtime (>= 4.3) - framework: >= netstandard13 + System.Runtime.Handles (>= 4.3) - framework: >= netstandard13 + System.Threading.Timer (4.3) - content: none, redirects: force, framework: >= net463, >= netstandard16 Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, >= netstandard12 Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, >= netstandard12 System.Runtime (>= 4.3) - framework: dnxcore50, >= netstandard12 + System.ValueTuple (4.3) - content: none, redirects: force, framework: >= net10, netstandard10, netstandard11, netstandard12, netstandard13, netstandard14, netstandard15 + System.Collections (>= 4.3) - framework: >= netstandard10 + System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard10 + System.Runtime (>= 4.3) - framework: >= netstandard10 + System.Xml.ReaderWriter (4.3) - framework: >= net463, >= netstandard16 + System.Collections (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Diagnostics.Debug (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Globalization (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.IO (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13 + System.IO.FileSystem (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.IO.FileSystem.Primitives (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13 + System.Runtime.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Runtime.InteropServices (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Text.Encoding (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13 + System.Text.Encoding.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Text.RegularExpressions (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Threading.Tasks (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13 + System.Threading.Tasks.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Xml.XDocument (4.3) - framework: >= net463, >= netstandard16 + System.Collections (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Diagnostics.Debug (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Diagnostics.Tools (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Globalization (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.IO (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13 + System.Reflection (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13 + System.Runtime.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Text.Encoding (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Threading (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Xml.ReaderWriter (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13 + Zlib.Portable (1.11) - framework: >= netstandard11, portable-net45+sl5+win8, portable-net45+win8, portable-net45+win8+wp8+wpa81 +GITHUB + remote: matthid/Yaaf.FSharp.Scripting + src/source/Yaaf.FSharp.Scripting/YaafFSharpScripting.fs (40ef4e32a115962436809666b6868693be6444c2) +GROUP Test +NUGET + remote: https://api.nuget.org/v3/index.json + FSharp.Core (4.1.12) - framework: >= net10, >= netstandard10 + System.Collections (>= 4.0.11) - framework: >= netstandard16 + System.Console (>= 4.0) - framework: >= netstandard16 + System.Diagnostics.Debug (>= 4.0.11) - framework: >= netstandard16 + System.Diagnostics.Tools (>= 4.0.1) - framework: >= netstandard16 + System.Globalization (>= 4.0.11) - framework: >= netstandard16 + System.IO (>= 4.1) - framework: >= netstandard16 + System.Linq (>= 4.1) - framework: >= netstandard16 + System.Linq.Expressions (>= 4.1) - framework: >= netstandard16 + System.Linq.Queryable (>= 4.0.1) - framework: >= netstandard16 + System.Net.Requests (>= 4.0.11) - framework: >= netstandard16 + System.Reflection (>= 4.1) - framework: >= netstandard16 + System.Reflection.Extensions (>= 4.0.1) - framework: >= netstandard16 + System.Resources.ResourceManager (>= 4.0.1) - framework: >= netstandard16 + System.Runtime (>= 4.1) - framework: >= netstandard16 + System.Runtime.Extensions (>= 4.1) - framework: >= netstandard16 + System.Runtime.Numerics (>= 4.0.1) - framework: >= netstandard16 + System.Text.RegularExpressions (>= 4.1) - framework: >= netstandard16 + System.Threading (>= 4.0.11) - framework: >= netstandard16 + System.Threading.Tasks (>= 4.0.11) - framework: >= netstandard16 + System.Threading.Tasks.Parallel (>= 4.0.1) - framework: >= netstandard16 + System.Threading.Thread (>= 4.0) - framework: >= netstandard16 + System.Threading.ThreadPool (>= 4.0.10) - framework: >= netstandard16 + System.Threading.Timer (>= 4.0.1) - framework: >= netstandard16 + System.ValueTuple (>= 4.3) - framework: >= net10, netstandard10, netstandard11, netstandard12, netstandard13, netstandard14, netstandard15 + FsUnit (3.0) + FSharp.Core (>= 3.1.2.5) - framework: >= net10, netstandard10, netstandard11, netstandard12, netstandard13, netstandard14, netstandard15 + FSharp.Core (>= 4.1) - framework: >= netstandard16 + NETStandard.Library (>= 1.6) - framework: >= netstandard16 + NUnit (>= 3.6) + Microsoft.NETCore.Platforms (1.1) - framework: >= net10, >= netstandard10, netstandard13 + Microsoft.NETCore.Targets (1.1) - framework: >= net10, >= netstandard10, netstandard13 + Microsoft.Win32.Primitives (4.3) - framework: >= net463, >= netstandard16 + Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard13 + Microsoft.NETCore.Targets (>= 1.1) - framework: >= netstandard13 + System.Runtime (>= 4.3) - framework: >= netstandard13 + NETStandard.Library (1.6.1) - framework: >= net463, >= netstandard16 + Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard10 + Microsoft.Win32.Primitives (>= 4.3) - framework: >= net46, >= netstandard13 + System.AppContext (>= 4.3) - framework: >= net46, >= netstandard13 + System.Collections (>= 4.3) - framework: >= netstandard10 + System.Collections.Concurrent (>= 4.3) - framework: >= net45, >= netstandard11 + System.Console (>= 4.3) - framework: >= net46, >= netstandard13 + System.Diagnostics.Debug (>= 4.3) - framework: >= netstandard10 + System.Diagnostics.Tools (>= 4.3) - framework: >= netstandard10 + System.Diagnostics.Tracing (>= 4.3) - framework: >= net45, >= netstandard11 + System.Globalization (>= 4.3) - framework: >= netstandard10 + System.Globalization.Calendars (>= 4.3) - framework: >= net46, >= netstandard13 + System.IO (>= 4.3) - framework: >= netstandard10 + System.IO.Compression (>= 4.3) - framework: >= net45, >= netstandard11 + System.IO.Compression.ZipFile (>= 4.3) - framework: >= net46, >= netstandard13 + System.IO.FileSystem (>= 4.3) - framework: >= net46, >= netstandard13 + System.IO.FileSystem.Primitives (>= 4.3) - framework: >= net46, >= netstandard13 + System.Linq (>= 4.3) - framework: >= netstandard10 + System.Linq.Expressions (>= 4.3) - framework: >= netstandard10 + System.Net.Http (>= 4.3) - framework: >= net45, >= netstandard11 + System.Net.Primitives (>= 4.3) - framework: >= netstandard10 + System.Net.Sockets (>= 4.3) - framework: >= net46, >= netstandard13 + System.ObjectModel (>= 4.3) - framework: >= netstandard10 + System.Reflection (>= 4.3) - framework: >= netstandard10 + System.Reflection.Extensions (>= 4.3) - framework: >= netstandard10 + System.Reflection.Primitives (>= 4.3) - framework: >= netstandard10 + System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard10 + System.Runtime (>= 4.3) - framework: >= netstandard10 + System.Runtime.Extensions (>= 4.3) - framework: >= netstandard10 + System.Runtime.Handles (>= 4.3) - framework: >= net46, >= netstandard13 + System.Runtime.InteropServices (>= 4.3) - framework: >= net45, >= netstandard11 + System.Runtime.InteropServices.RuntimeInformation (>= 4.3) - framework: >= net45, >= netstandard11 + System.Runtime.Numerics (>= 4.3) - framework: >= net45, >= netstandard11 + System.Security.Cryptography.Algorithms (>= 4.3) - framework: >= net46, >= netstandard13 + System.Security.Cryptography.Encoding (>= 4.3) - framework: >= net46, >= netstandard13 + System.Security.Cryptography.Primitives (>= 4.3) - framework: >= net46, >= netstandard13 + System.Security.Cryptography.X509Certificates (>= 4.3) - framework: >= net46, >= netstandard13 + System.Text.Encoding (>= 4.3) - framework: >= netstandard10 + System.Text.Encoding.Extensions (>= 4.3) - framework: >= netstandard10 + System.Text.RegularExpressions (>= 4.3) - framework: >= netstandard10 + System.Threading (>= 4.3) - framework: >= netstandard10 + System.Threading.Tasks (>= 4.3) - framework: >= netstandard10 + System.Threading.Timer (>= 4.3) - framework: >= net451, >= netstandard12 + System.Xml.ReaderWriter (>= 4.3) - framework: >= netstandard10 + System.Xml.XDocument (>= 4.3) - framework: >= netstandard10 + NUnit (3.6) + NETStandard.Library (>= 1.6) - framework: >= net463, >= netstandard16 + System.Runtime.Loader (>= 4.0) - framework: >= net463, >= netstandard16 + NUnit.ConsoleRunner (3.6.1) + runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3) - framework: >= net10, >= netstandard16 + runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3) - framework: >= net10, >= netstandard16 + runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3) - framework: >= net10, >= netstandard16 + runtime.native.System (4.3) - framework: >= net10, >= netstandard16 + Microsoft.NETCore.Platforms (>= 1.1) + Microsoft.NETCore.Targets (>= 1.1) + runtime.native.System.IO.Compression (4.3) - framework: >= net463, >= netstandard16 + Microsoft.NETCore.Platforms (>= 1.1) + Microsoft.NETCore.Targets (>= 1.1) + runtime.native.System.Net.Http (4.3) - framework: >= net10, >= netstandard16 + Microsoft.NETCore.Platforms (>= 1.1) + Microsoft.NETCore.Targets (>= 1.1) + runtime.native.System.Security.Cryptography.Apple (4.3) - framework: >= net10, >= netstandard16 + runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple (>= 4.3) + runtime.native.System.Security.Cryptography.OpenSsl (4.3) - framework: >= net10, >= netstandard16 + runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3) + runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3) + runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3) + runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3) + runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3) + runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3) + runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3) + runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3) + runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3) + runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3) + runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3) - framework: >= net10, >= netstandard16 + runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3) - framework: >= net10, >= netstandard16 + runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple (4.3) - framework: >= net10, >= netstandard16 + runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3) - framework: >= net10, >= netstandard16 + runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3) - framework: >= net10, >= netstandard16 + runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3) - framework: >= net10, >= netstandard16 + runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3) - framework: >= net10, >= netstandard16 + runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3) - framework: >= net10, >= netstandard16 + System.AppContext (4.3) - framework: >= net463, >= netstandard16 + System.Runtime (>= 4.3) - framework: dnxcore50, netstandard13, >= netstandard16 + System.Buffers (4.3) - framework: >= net463, >= netstandard16 + System.Diagnostics.Debug (>= 4.3) - framework: >= netstandard11 + System.Diagnostics.Tracing (>= 4.3) - framework: >= netstandard11 + System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard11 + System.Runtime (>= 4.3) - framework: >= netstandard11 + System.Threading (>= 4.3) - framework: >= netstandard11 + System.Collections (4.3) - framework: >= net10, >= netstandard10 + Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13 + Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13 + System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13 + System.Collections.Concurrent (4.3) - framework: >= net10, >= netstandard16 + System.Collections (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Diagnostics.Debug (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Diagnostics.Tracing (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Globalization (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Reflection (>= 4.3) - framework: >= netstandard13 + System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Runtime (>= 4.3) - framework: dnxcore50, netstandard11, >= netstandard13 + System.Runtime.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Threading (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Threading.Tasks (>= 4.3) - framework: dnxcore50, netstandard11, >= netstandard13 + System.Console (4.3) - framework: >= net10, >= netstandard16 + Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard13 + Microsoft.NETCore.Targets (>= 1.1) - framework: >= netstandard13 + System.IO (>= 4.3) - framework: >= netstandard13 + System.Runtime (>= 4.3) - framework: >= netstandard13 + System.Text.Encoding (>= 4.3) - framework: >= netstandard13 + System.Diagnostics.Debug (4.3) - framework: >= net10, >= netstandard16 + Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13 + Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13 + System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13 + System.Diagnostics.DiagnosticSource (4.3) - framework: >= net10, >= netstandard16 + System.Collections (>= 4.3) - framework: netstandard11, >= netstandard13 + System.Diagnostics.Tracing (>= 4.3) - framework: netstandard11, >= netstandard13 + System.Reflection (>= 4.3) - framework: netstandard11, >= netstandard13 + System.Runtime (>= 4.3) - framework: netstandard11, >= netstandard13 + System.Threading (>= 4.3) - framework: netstandard11, >= netstandard13 + System.Diagnostics.Tools (4.3) - framework: >= net10, >= netstandard16 + Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, >= netstandard10 + Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, >= netstandard10 + System.Runtime (>= 4.3) - framework: dnxcore50, >= netstandard10 + System.Diagnostics.Tracing (4.3) - framework: >= net10, >= netstandard16 + Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard11, netstandard12, netstandard13, >= netstandard15 + Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard11, netstandard12, netstandard13, >= netstandard15 + System.Runtime (>= 4.3) - framework: dnxcore50, netstandard11, netstandard12, netstandard13, >= netstandard15 + System.Globalization (4.3) - framework: >= net10, >= netstandard10 + Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13 + Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13 + System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13 + System.Globalization.Calendars (4.3) - framework: >= net46, >= netstandard16 + Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard13 + Microsoft.NETCore.Targets (>= 1.1) - framework: >= netstandard13 + System.Globalization (>= 4.3) - framework: >= netstandard13 + System.Runtime (>= 4.3) - framework: >= netstandard13 + System.Globalization.Extensions (4.3) - framework: >= net10, >= netstandard16 + Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard13 + System.Globalization (>= 4.3) - framework: >= netstandard13 + System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard13 + System.Runtime (>= 4.3) - framework: >= netstandard13 + System.Runtime.Extensions (>= 4.3) - framework: >= netstandard13 + System.Runtime.InteropServices (>= 4.3) - framework: >= netstandard13 + System.IO (4.3) - framework: >= net10, netstandard10, netstandard13, >= netstandard15 + Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15 + Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15 + System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15 + System.Text.Encoding (>= 4.3) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15 + System.Threading.Tasks (>= 4.3) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15 + System.IO.Compression (4.3) - framework: >= net463, >= netstandard16 + Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard13 + runtime.native.System (>= 4.3) - framework: >= netstandard13 + runtime.native.System.IO.Compression (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Buffers (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Collections (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Diagnostics.Debug (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.IO (>= 4.3) - framework: dnxcore50, netstandard11, >= netstandard13 + System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Runtime (>= 4.3) - framework: dnxcore50, netstandard11, >= netstandard13 + System.Runtime.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Runtime.Handles (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Runtime.InteropServices (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Text.Encoding (>= 4.3) - framework: dnxcore50, netstandard11, >= netstandard13 + System.Threading (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Threading.Tasks (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.IO.Compression.ZipFile (4.3) - framework: >= net463, >= netstandard16 + System.Buffers (>= 4.3) - framework: >= netstandard13 + System.IO (>= 4.3) - framework: >= netstandard13 + System.IO.Compression (>= 4.3) - framework: >= netstandard13 + System.IO.FileSystem (>= 4.3) - framework: >= netstandard13 + System.IO.FileSystem.Primitives (>= 4.3) - framework: >= netstandard13 + System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard13 + System.Runtime (>= 4.3) - framework: >= netstandard13 + System.Runtime.Extensions (>= 4.3) - framework: >= netstandard13 + System.Text.Encoding (>= 4.3) - framework: >= netstandard13 + System.IO.FileSystem (4.3) - framework: >= net10, >= netstandard16 + Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard13 + Microsoft.NETCore.Targets (>= 1.1) - framework: >= netstandard13 + System.IO (>= 4.3) - framework: >= netstandard13 + System.IO.FileSystem.Primitives (>= 4.3) - framework: >= net46, >= netstandard13 + System.Runtime (>= 4.3) - framework: >= netstandard13 + System.Runtime.Handles (>= 4.3) - framework: >= netstandard13 + System.Text.Encoding (>= 4.3) - framework: >= netstandard13 + System.Threading.Tasks (>= 4.3) - framework: >= netstandard13 + System.IO.FileSystem.Primitives (4.3) - framework: >= net46, >= netstandard16 + System.Runtime (>= 4.3) - framework: >= netstandard13 + System.Linq (4.3) - framework: >= net10, >= netstandard16 + System.Collections (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard16 + System.Diagnostics.Debug (>= 4.3) - framework: dnxcore50, >= netstandard16 + System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard16 + System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard16 + System.Runtime.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard16 + System.Linq.Expressions (4.3) - framework: >= net10, >= netstandard16 + System.Collections (>= 4.3) - framework: dnxcore50, >= netstandard16 + System.Diagnostics.Debug (>= 4.3) - framework: dnxcore50, >= netstandard16 + System.Globalization (>= 4.3) - framework: dnxcore50, >= netstandard16 + System.IO (>= 4.3) - framework: dnxcore50, >= netstandard16 + System.Linq (>= 4.3) - framework: dnxcore50, >= netstandard16 + System.ObjectModel (>= 4.3) - framework: >= netstandard16 + System.Reflection (>= 4.3) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard16 + System.Reflection.Emit (>= 4.3) - framework: >= netstandard16 + System.Reflection.Emit.ILGeneration (>= 4.3) - framework: dnxcore50, >= netstandard16 + System.Reflection.Emit.Lightweight (>= 4.3) - framework: dnxcore50, >= netstandard16 + System.Reflection.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard16 + System.Reflection.Primitives (>= 4.3) - framework: dnxcore50, >= netstandard16 + System.Reflection.TypeExtensions (>= 4.3) - framework: dnxcore50, >= netstandard16 + System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard16 + System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard16 + System.Runtime.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard16 + System.Threading (>= 4.3) - framework: dnxcore50, >= netstandard16 + System.Linq.Queryable (4.3) - framework: >= net10, >= netstandard16 + System.Collections (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Diagnostics.Debug (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Linq (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13 + System.Linq.Expressions (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13 + System.Reflection (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Reflection.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13 + System.Net.Http (4.3.1) - framework: >= net10, >= netstandard16 + Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard13, >= netstandard16 + runtime.native.System (>= 4.3) - framework: >= netstandard16 + runtime.native.System.Net.Http (>= 4.3) - framework: >= netstandard16 + runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3) - framework: >= netstandard16 + System.Collections (>= 4.3) - framework: dnxcore50, netstandard13, >= netstandard16 + System.Diagnostics.Debug (>= 4.3) - framework: dnxcore50, netstandard13, >= netstandard16 + System.Diagnostics.DiagnosticSource (>= 4.3) - framework: dnxcore50, netstandard13, >= netstandard16 + System.Diagnostics.Tracing (>= 4.3) - framework: dnxcore50, netstandard13, >= netstandard16 + System.Globalization (>= 4.3) - framework: dnxcore50, netstandard13, >= netstandard16 + System.Globalization.Extensions (>= 4.3) - framework: >= netstandard16 + System.IO (>= 4.3) - framework: dnxcore50, netstandard11, netstandard13, >= netstandard16 + System.IO.FileSystem (>= 4.3) - framework: >= netstandard16 + System.Net.Primitives (>= 4.3) - framework: dnxcore50, netstandard11, netstandard13, >= netstandard16 + System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, netstandard13, >= netstandard16 + System.Runtime (>= 4.3) - framework: dnxcore50, netstandard11, netstandard13, >= netstandard16 + System.Runtime.Extensions (>= 4.3) - framework: dnxcore50, netstandard13, >= netstandard16 + System.Runtime.Handles (>= 4.3) - framework: netstandard13, >= netstandard16 + System.Runtime.InteropServices (>= 4.3) - framework: dnxcore50, netstandard13, >= netstandard16 + System.Security.Cryptography.Algorithms (>= 4.3) - framework: >= netstandard16 + System.Security.Cryptography.Encoding (>= 4.3) - framework: >= netstandard16 + System.Security.Cryptography.OpenSsl (>= 4.3) - framework: >= netstandard16 + System.Security.Cryptography.Primitives (>= 4.3) - framework: >= netstandard16 + System.Security.Cryptography.X509Certificates (>= 4.3) - framework: >= net46, dnxcore50, netstandard13, >= netstandard16 + System.Text.Encoding (>= 4.3) - framework: dnxcore50, netstandard11, netstandard13, >= netstandard16 + System.Threading (>= 4.3) - framework: dnxcore50, netstandard13, >= netstandard16 + System.Threading.Tasks (>= 4.3) - framework: dnxcore50, netstandard11, netstandard13, >= netstandard16 + System.Net.Primitives (4.3) - framework: >= net10, >= netstandard16 + Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard10, netstandard11, >= netstandard13 + Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard10, netstandard11, >= netstandard13 + System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, netstandard11, >= netstandard13 + System.Runtime.Handles (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Net.Requests (4.3) - framework: >= net10, >= netstandard16 + Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard13 + System.Collections (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Diagnostics.Debug (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Diagnostics.Tracing (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Globalization (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.IO (>= 4.3) - framework: dnxcore50, netstandard10, netstandard11, >= netstandard13 + System.Net.Http (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Net.Primitives (>= 4.3) - framework: dnxcore50, netstandard10, netstandard11, >= netstandard13 + System.Net.WebHeaderCollection (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, netstandard11, >= netstandard13 + System.Threading (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Threading.Tasks (>= 4.3) - framework: dnxcore50, netstandard11, >= netstandard13 + System.Net.Sockets (4.3) - framework: >= net463, >= netstandard16 + Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard13 + Microsoft.NETCore.Targets (>= 1.1) - framework: >= netstandard13 + System.IO (>= 4.3) - framework: >= netstandard13 + System.Net.Primitives (>= 4.3) - framework: >= netstandard13 + System.Runtime (>= 4.3) - framework: >= netstandard13 + System.Threading.Tasks (>= 4.3) - framework: >= netstandard13 + System.Net.WebHeaderCollection (4.3) - framework: >= net10, >= netstandard16 + System.Collections (>= 4.3) - framework: >= netstandard13 + System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard13 + System.Runtime (>= 4.3) - framework: >= netstandard13 + System.Runtime.Extensions (>= 4.3) - framework: >= netstandard13 + System.ObjectModel (4.3) - framework: >= net10, >= netstandard16 + System.Collections (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Diagnostics.Debug (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13 + System.Threading (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Reflection (4.3) - framework: >= net10, >= netstandard10 + Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15 + Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15 + System.IO (>= 4.3) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15 + System.Reflection.Primitives (>= 4.3) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15 + System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15 + System.Reflection.Emit (4.3) - framework: >= net10, >= netstandard16 + System.IO (>= 4.3) - framework: >= netstandard11 + System.Reflection (>= 4.3) - framework: >= netstandard11 + System.Reflection.Emit.ILGeneration (>= 4.3) - framework: >= netstandard11 + System.Reflection.Primitives (>= 4.3) - framework: >= netstandard11 + System.Runtime (>= 4.3) - framework: >= netstandard11 + System.Reflection.Emit.ILGeneration (4.3) - framework: >= net10, >= netstandard16 + System.Reflection (>= 4.3) - framework: >= netstandard10 + System.Reflection.Primitives (>= 4.3) - framework: >= netstandard10 + System.Runtime (>= 4.3) - framework: >= netstandard10 + System.Reflection.Emit.Lightweight (4.3) - framework: >= net10, >= netstandard16 + System.Reflection (>= 4.3) - framework: >= netstandard10 + System.Reflection.Emit.ILGeneration (>= 4.3) - framework: >= netstandard10 + System.Reflection.Primitives (>= 4.3) - framework: >= netstandard10 + System.Runtime (>= 4.3) - framework: >= netstandard10 + System.Reflection.Extensions (4.3) - framework: >= net10, >= netstandard16 + Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, >= netstandard10 + Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, >= netstandard10 + System.Reflection (>= 4.3) - framework: dnxcore50, >= netstandard10 + System.Runtime (>= 4.3) - framework: dnxcore50, >= netstandard10 + System.Reflection.Primitives (4.3) - framework: >= net10, netstandard10, netstandard13, >= netstandard15 + Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, >= netstandard10 + Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, >= netstandard10 + System.Runtime (>= 4.3) - framework: dnxcore50, >= netstandard10 + System.Reflection.TypeExtensions (4.3) - framework: >= net10, >= netstandard16 + System.Reflection (>= 4.3) - framework: >= net462, dnxcore50, netstandard13, >= netstandard15 + System.Runtime (>= 4.3) - framework: dnxcore50, netstandard13, >= netstandard15 + System.Resources.ResourceManager (4.3) - framework: >= net10, >= netstandard10 + Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, >= netstandard10 + Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, >= netstandard10 + System.Globalization (>= 4.3) - framework: dnxcore50, >= netstandard10 + System.Reflection (>= 4.3) - framework: dnxcore50, >= netstandard10 + System.Runtime (>= 4.3) - framework: dnxcore50, >= netstandard10 + System.Runtime (4.3) - framework: >= net10, >= netstandard10, netstandard13 + Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard10, netstandard12, netstandard13, >= netstandard15 + Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard10, netstandard12, netstandard13, >= netstandard15 + System.Runtime.Extensions (4.3) - framework: >= net10, >= netstandard16 + Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15 + Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15 + System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15 + System.Runtime.Handles (4.3) - framework: >= net10, >= netstandard16 + Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard13 + Microsoft.NETCore.Targets (>= 1.1) - framework: >= netstandard13 + System.Runtime (>= 4.3) - framework: >= netstandard13 + System.Runtime.InteropServices (4.3) - framework: >= net10, >= netstandard16 + Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard11, netstandard12, netstandard13, >= netstandard15, netcore11 + Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard11, netstandard12, netstandard13, >= netstandard15, netcore11 + System.Reflection (>= 4.3) - framework: dnxcore50, netstandard11, netstandard12, netstandard13, >= netstandard15, netcore11 + System.Reflection.Primitives (>= 4.3) - framework: dnxcore50, netstandard11, netstandard12, netstandard13, >= netstandard15, netcore11 + System.Runtime (>= 4.3) - framework: net462, >= net463, dnxcore50, netstandard11, netstandard12, netstandard13, >= netstandard15, netcore11 + System.Runtime.Handles (>= 4.3) - framework: dnxcore50, netstandard13, >= netstandard15, netcore11 + System.Runtime.InteropServices.RuntimeInformation (4.3) - framework: >= net463, >= netstandard16 + runtime.native.System (>= 4.3) - framework: >= netstandard11 + System.Reflection (>= 4.3) - framework: dnxcore50, >= netstandard11 + System.Reflection.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard11 + System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard11 + System.Runtime (>= 4.3) - framework: dnxcore50, >= netstandard11 + System.Runtime.InteropServices (>= 4.3) - framework: >= netstandard11 + System.Threading (>= 4.3) - framework: dnxcore50, >= netstandard11 + System.Runtime.Loader (4.3) - framework: >= net463, >= netstandard16 + System.IO (>= 4.3) - framework: >= netstandard15 + System.Reflection (>= 4.3) - framework: >= netstandard15 + System.Runtime (>= 4.3) - framework: >= netstandard15 + System.Runtime.Numerics (4.3) - framework: >= net10, >= netstandard16 + System.Globalization (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Runtime (>= 4.3) - framework: dnxcore50, netstandard11, >= netstandard13 + System.Runtime.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Security.Cryptography.Algorithms (4.3) - framework: >= net10, >= netstandard16 + Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, >= netstandard16 + runtime.native.System.Security.Cryptography.Apple (>= 4.3) - framework: >= netstandard16 + runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3) - framework: >= netstandard16 + System.Collections (>= 4.3) - framework: >= netstandard16 + System.IO (>= 4.3) - framework: >= net463, dnxcore50, netstandard13, netstandard14, >= netstandard16 + System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard16 + System.Runtime (>= 4.3) - framework: >= net463, dnxcore50, netstandard13, netstandard14, >= netstandard16 + System.Runtime.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard16 + System.Runtime.Handles (>= 4.3) - framework: dnxcore50, >= netstandard16 + System.Runtime.InteropServices (>= 4.3) - framework: dnxcore50, >= netstandard16 + System.Runtime.Numerics (>= 4.3) - framework: >= netstandard16 + System.Security.Cryptography.Encoding (>= 4.3) - framework: >= net463, dnxcore50, >= netstandard16 + System.Security.Cryptography.Primitives (>= 4.3) - framework: net46, net461, >= net463, dnxcore50, netstandard13, netstandard14, >= netstandard16 + System.Text.Encoding (>= 4.3) - framework: dnxcore50, >= netstandard16 + System.Security.Cryptography.Cng (4.3) - framework: >= net46, >= netstandard16 + Microsoft.NETCore.Platforms (>= 1.1) - framework: netstandard14, >= netstandard16 + System.IO (>= 4.3) - framework: netstandard13, netstandard14, >= netstandard16 + System.Resources.ResourceManager (>= 4.3) - framework: netstandard14, >= netstandard16 + System.Runtime (>= 4.3) - framework: netstandard13, netstandard14, >= netstandard16 + System.Runtime.Extensions (>= 4.3) - framework: netstandard14, >= netstandard16 + System.Runtime.Handles (>= 4.3) - framework: netstandard13, netstandard14, >= netstandard16 + System.Runtime.InteropServices (>= 4.3) - framework: netstandard14, >= netstandard16 + System.Security.Cryptography.Algorithms (>= 4.3) - framework: net46, net461, >= net463, netstandard13, netstandard14, >= netstandard16 + System.Security.Cryptography.Encoding (>= 4.3) - framework: netstandard14, >= netstandard16 + System.Security.Cryptography.Primitives (>= 4.3) - framework: net46, net461, >= net463, netstandard13, netstandard14, >= netstandard16 + System.Text.Encoding (>= 4.3) - framework: netstandard14, >= netstandard16 + System.Security.Cryptography.Csp (4.3) - framework: >= net46, >= netstandard16 + Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard13 + System.IO (>= 4.3) - framework: >= netstandard13 + System.Reflection (>= 4.3) - framework: >= netstandard13 + System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard13 + System.Runtime (>= 4.3) - framework: >= netstandard13 + System.Runtime.Extensions (>= 4.3) - framework: >= netstandard13 + System.Runtime.Handles (>= 4.3) - framework: >= netstandard13 + System.Runtime.InteropServices (>= 4.3) - framework: >= netstandard13 + System.Security.Cryptography.Algorithms (>= 4.3) - framework: >= net46, >= netstandard13 + System.Security.Cryptography.Encoding (>= 4.3) - framework: >= netstandard13 + System.Security.Cryptography.Primitives (>= 4.3) - framework: >= net46, >= netstandard13 + System.Text.Encoding (>= 4.3) - framework: >= netstandard13 + System.Threading (>= 4.3) - framework: >= netstandard13 + System.Security.Cryptography.Encoding (4.3) - framework: >= net10, >= netstandard16 + Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard13 + runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3) - framework: >= netstandard13 + System.Collections (>= 4.3) - framework: >= netstandard13 + System.Collections.Concurrent (>= 4.3) - framework: >= netstandard13 + System.Linq (>= 4.3) - framework: >= netstandard13 + System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard13 + System.Runtime (>= 4.3) - framework: >= netstandard13 + System.Runtime.Extensions (>= 4.3) - framework: >= netstandard13 + System.Runtime.Handles (>= 4.3) - framework: >= netstandard13 + System.Runtime.InteropServices (>= 4.3) - framework: >= netstandard13 + System.Security.Cryptography.Primitives (>= 4.3) - framework: >= netstandard13 + System.Text.Encoding (>= 4.3) - framework: >= netstandard13 + System.Security.Cryptography.OpenSsl (4.3) - framework: >= net10, >= netstandard16 + runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3) - framework: >= net463, >= netstandard16, monoandroid, monotouch, xamarinios, xamarinmac + System.Collections (>= 4.3) - framework: >= netstandard16 + System.IO (>= 4.3) - framework: >= net463, >= netstandard16 + System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard16 + System.Runtime (>= 4.3) - framework: >= net463, >= netstandard16 + System.Runtime.Extensions (>= 4.3) - framework: >= net463, >= netstandard16 + System.Runtime.Handles (>= 4.3) - framework: >= netstandard16 + System.Runtime.InteropServices (>= 4.3) - framework: >= netstandard16 + System.Runtime.Numerics (>= 4.3) - framework: >= netstandard16 + System.Security.Cryptography.Algorithms (>= 4.3) - framework: >= net463, >= netstandard16 + System.Security.Cryptography.Encoding (>= 4.3) - framework: >= net463, >= netstandard16 + System.Security.Cryptography.Primitives (>= 4.3) - framework: >= net463, >= netstandard16 + System.Text.Encoding (>= 4.3) - framework: >= netstandard16 + System.Security.Cryptography.Primitives (4.3) - framework: >= net10, >= netstandard16 + System.Diagnostics.Debug (>= 4.3) - framework: >= netstandard13 + System.Globalization (>= 4.3) - framework: >= netstandard13 + System.IO (>= 4.3) - framework: >= netstandard13 + System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard13 + System.Runtime (>= 4.3) - framework: >= netstandard13 + System.Threading (>= 4.3) - framework: >= netstandard13 + System.Threading.Tasks (>= 4.3) - framework: >= netstandard13 + System.Security.Cryptography.X509Certificates (4.3) - framework: >= net46, >= netstandard16 + Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, >= netstandard16 + runtime.native.System (>= 4.3) - framework: >= netstandard16 + runtime.native.System.Net.Http (>= 4.3) - framework: >= netstandard16 + runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3) - framework: >= netstandard16 + System.Collections (>= 4.3) - framework: dnxcore50, >= netstandard16 + System.Diagnostics.Debug (>= 4.3) - framework: >= netstandard16 + System.Globalization (>= 4.3) - framework: dnxcore50, >= netstandard16 + System.Globalization.Calendars (>= 4.3) - framework: dnxcore50, >= netstandard16 + System.IO (>= 4.3) - framework: dnxcore50, >= netstandard16 + System.IO.FileSystem (>= 4.3) - framework: dnxcore50, >= netstandard16 + System.IO.FileSystem.Primitives (>= 4.3) - framework: >= netstandard16 + System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard16 + System.Runtime (>= 4.3) - framework: dnxcore50, netstandard13, netstandard14, >= netstandard16 + System.Runtime.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard16 + System.Runtime.Handles (>= 4.3) - framework: dnxcore50, netstandard13, netstandard14, >= netstandard16 + System.Runtime.InteropServices (>= 4.3) - framework: dnxcore50, >= netstandard16 + System.Runtime.Numerics (>= 4.3) - framework: dnxcore50, >= netstandard16 + System.Security.Cryptography.Algorithms (>= 4.3) - framework: net46, >= net461, dnxcore50, netstandard13, netstandard14, >= netstandard16 + System.Security.Cryptography.Cng (>= 4.3) - framework: dnxcore50, >= netstandard16 + System.Security.Cryptography.Csp (>= 4.3) - framework: >= netstandard16 + System.Security.Cryptography.Encoding (>= 4.3) - framework: net46, >= net461, dnxcore50, netstandard13, netstandard14, >= netstandard16 + System.Security.Cryptography.OpenSsl (>= 4.3) - framework: >= netstandard16 + System.Security.Cryptography.Primitives (>= 4.3) - framework: dnxcore50, >= netstandard16 + System.Text.Encoding (>= 4.3) - framework: dnxcore50, >= netstandard16 + System.Threading (>= 4.3) - framework: dnxcore50, >= netstandard16 + System.Text.Encoding (4.3) - framework: >= net10, netstandard10, netstandard13, >= netstandard15 + Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13 + Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13 + System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13 + System.Text.Encoding.Extensions (4.3) - framework: >= net463, >= netstandard16 + Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13 + Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13 + System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13 + System.Text.Encoding (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13 + System.Text.RegularExpressions (4.3) - framework: >= net10, >= netstandard16 + System.Collections (>= 4.3) - framework: dnxcore50, >= netstandard16 + System.Globalization (>= 4.3) - framework: dnxcore50, >= netstandard16 + System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard16 + System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard16, netcore11 + System.Runtime.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard16 + System.Threading (>= 4.3) - framework: dnxcore50, >= netstandard16 + System.Threading (4.3) - framework: >= net10, >= netstandard16 + System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13 + System.Threading.Tasks (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13 + System.Threading.Tasks (4.3) - framework: >= net10, netstandard10, netstandard13, >= netstandard15 + Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13 + Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13 + System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13 + System.Threading.Tasks.Extensions (4.3) - framework: >= net463, >= netstandard16 + System.Collections (>= 4.3) - framework: >= netstandard10 + System.Runtime (>= 4.3) - framework: >= netstandard10 + System.Threading.Tasks (>= 4.3) - framework: >= netstandard10 + System.Threading.Tasks.Parallel (4.3) - framework: >= net10, >= netstandard16 + System.Collections.Concurrent (>= 4.3) - framework: dnxcore50, netstandard11, >= netstandard13 + System.Diagnostics.Debug (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Diagnostics.Tracing (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Runtime (>= 4.3) - framework: dnxcore50, netstandard11, >= netstandard13 + System.Runtime.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Threading (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Threading.Tasks (>= 4.3) - framework: dnxcore50, netstandard11, >= netstandard13 + System.Threading.Thread (4.3) - framework: >= net10, >= netstandard16 + System.Runtime (>= 4.3) - framework: >= netstandard13 + System.Threading.ThreadPool (4.3) - framework: >= net10, >= netstandard16 + System.Runtime (>= 4.3) - framework: >= netstandard13 + System.Runtime.Handles (>= 4.3) - framework: >= netstandard13 + System.Threading.Timer (4.3) - framework: >= net10, >= netstandard16 + Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, >= netstandard12 + Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, >= netstandard12 + System.Runtime (>= 4.3) - framework: dnxcore50, >= netstandard12 + System.ValueTuple (4.3) - framework: >= net10, netstandard10, netstandard11, netstandard12, netstandard13, netstandard14, netstandard15 + System.Collections (>= 4.3) - framework: >= netstandard10 + System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard10 + System.Runtime (>= 4.3) - framework: >= netstandard10 System.Xml.ReaderWriter (4.3) - framework: >= net463, >= netstandard16 System.Collections (>= 4.3) - framework: dnxcore50, >= netstandard13 System.Diagnostics.Debug (>= 4.3) - framework: dnxcore50, >= netstandard13 diff --git a/src/CSharpFormat/CSharpFormat.csproj b/src/CSharpFormat/CSharpFormat.csproj index aeede2661..f489a6d23 100644 --- a/src/CSharpFormat/CSharpFormat.csproj +++ b/src/CSharpFormat/CSharpFormat.csproj @@ -1,5 +1,5 @@  - + Debug @@ -9,23 +9,24 @@ Properties CSharpFormat CSharpFormat - v4.0 + v4.6.1 512 - true full false bin\Debug\ + bin\Debug\$(AssemblyName).xml DEBUG;TRACE prompt 4 - pdbonly + full true bin\Release\ + bin\Release\$(AssemblyName).xml TRACE prompt 4 diff --git a/src/Common/Scripting.fs b/src/Common/Scripting.fs new file mode 100644 index 000000000..a5d93706d --- /dev/null +++ b/src/Common/Scripting.fs @@ -0,0 +1,1371 @@ +module internal FSharp.Formatting.Scripting + +open System +open System.Diagnostics +open System.Reflection +open Microsoft.FSharp.Compiler +open Microsoft.FSharp.Compiler.SourceCodeServices +open System.IO +open System.Text +open Microsoft.FSharp.Compiler.Interactive.Shell + +let isMono = try System.Type.GetType "Mono.Runtime" |> isNull |> not with _ -> false + +let formatPaths paths = + System.String.Join("\n ", paths |> Seq.map (sprintf "\"%s\"")) |> sprintf "\n[ %s ]" + +let formatArgs (args:_ seq) = + System.String.Join("\n ", args) |> sprintf "\n %s" + + +let () p1 p2 = System.IO.Path.Combine(p1,p2) + +let (=?) s1 s2 = System.String.Equals(s1, s2, System.StringComparison.InvariantCultureIgnoreCase) + +let (<>?) s1 s2 = not (s1 =? s2) + +let (|StartsWith|_|) start (s:string) = + if s.StartsWith (start) then StartsWith (s.Substring start.Length)|> Some + else None + +let (|FsiBoolArg|_|) argName s = + match s with + | StartsWith argName rest -> + match rest with + | null | "" | "+" -> Some true + | "-" -> Some false + | _ -> None + | _ -> None + +let checker = FSharpChecker.Create(msbuildEnabled=false) + +module FSharpAssemblyHelper = + open System.IO + +#if NET40 + let defaultFrameworkVersion = "4.0" +#endif +#if NET45 + let defaultFrameworkVersion = "4.5" +#endif +#if NET461 + let defaultFrameworkVersion = "4.6.1" +#endif + + let getLib dir nm = + dir nm + ".dll" + let referenceAssemblyDirectory frameworkVersion = + let isWindows = System.Environment.OSVersion.Platform = System.PlatformID.Win32NT + let baseDir = + if isWindows then + Path.Combine( + System.Environment.GetFolderPath(System.Environment.SpecialFolder.ProgramFilesX86), + @"Reference Assemblies\Microsoft\Framework\.NETFramework") + else Path.GetDirectoryName <| System.Runtime.InteropServices.RuntimeEnvironment.GetRuntimeDirectory() + let dirName = + if isWindows then sprintf "v%s" frameworkVersion + else frameworkVersion + let refDir = Path.Combine(baseDir, dirName) + if Directory.Exists refDir then refDir + else System.Runtime.InteropServices.RuntimeEnvironment.GetRuntimeDirectory() + + let referenceAssembly frameworkVersion = getLib (referenceAssemblyDirectory frameworkVersion) + let fsCore frameworkVersion fsharpVersion = + let isWindows = System.Environment.OSVersion.Platform = System.PlatformID.Win32NT + let refDir = + Path.Combine( + System.Environment.GetFolderPath(System.Environment.SpecialFolder.ProgramFilesX86), + sprintf @"Reference Assemblies\Microsoft\FSharp\.NETFramework\v%s\%s" frameworkVersion fsharpVersion) + match isWindows, Directory.Exists refDir with + | true, true -> refDir + | _ -> referenceAssemblyDirectory defaultFrameworkVersion + + let fsCore4300Dir = fsCore "4.0" "4.3.0.0" + let fsCore4310Dir = fsCore "4.0" "4.3.1.0" + let fsCore4400Dir = fsCore "4.0" "4.4.0.0" + let fsCore4410Dir = fsCore "4.0" "4.4.1.0" + + let loadedFsCoreVersion = + let ass = typeof.Assembly + let name = ass.GetName() + name.Version.ToString() + let fscoreResolveDirs libDirs = + [ + yield System.AppDomain.CurrentDomain.BaseDirectory + yield referenceAssemblyDirectory defaultFrameworkVersion + yield System.Runtime.InteropServices.RuntimeEnvironment.GetRuntimeDirectory() + yield System.AppContext.BaseDirectory + yield! libDirs + yield System.IO.Directory.GetCurrentDirectory() + // Prefer the currently loaded version + yield fsCore "4.0" loadedFsCoreVersion + //yield fsCore4410Dir + yield fsCore4400Dir + yield fsCore4310Dir + yield fsCore4300Dir + yield! try Path.GetDirectoryName (Assembly.GetExecutingAssembly().Location) + |> Seq.singleton + with :? NotSupportedException -> Seq.empty + yield! try Path.GetDirectoryName + (typeof.Assembly.Location) + |> Seq.singleton + with :? NotSupportedException -> Seq.empty + if isMono then + // See https://github.com/fsharp/FSharp.Compiler.Service/issues/317 + yield referenceAssemblyDirectory "4.0" + ] + + let tryCheckFsCore fscorePath = + let lib = fscorePath + let opt = Path.ChangeExtension (lib, "optdata") + let sig' = Path.ChangeExtension(lib, "sigdata") + if [ lib; opt; sig' ] |> Seq.forall File.Exists then + Some lib + else None + + let findFSCore dllFiles libDirs = + // lets find ourself some FSharp.Core.dll + let tried = + dllFiles @ (fscoreResolveDirs libDirs |> List.map (fun (l:string) -> getLib l "FSharp.Core")) + + match tried |> Seq.tryPick tryCheckFsCore with + | Some s -> s + | None -> + let paths = formatPaths tried + printfn "Could not find a FSharp.Core.dll (with bundled .optdata and .sigdata) in %s" paths + failwithf "Could not find a FSharp.Core.dll (with bundled .optdata and .sigdata) in %s" paths + let hasAssembly asm l = + l |> Seq.exists (fun a -> Path.GetFileNameWithoutExtension a =? asm) + let sysLibBlackList = + [ "FSharp.Core" + "System.EnterpriseServices.Thunk" // See #4 + "System.EnterpriseServices.Wrapper" ] // See #4 + + let getDefaultSystemReferences frameworkVersion = + Directory.EnumerateFiles(referenceAssemblyDirectory frameworkVersion) + |> Seq.filter (fun file -> Path.GetExtension file =? ".dll") + |> Seq.map Path.GetFileNameWithoutExtension + |> Seq.filter (fun f -> + sysLibBlackList |> Seq.forall (fun backListed -> f <>? backListed)) + + let getCheckerArguments frameworkVersion defaultReferences (fsCoreLib: _ option) dllFiles libDirs otherFlags = + ignore frameworkVersion + ignore defaultReferences + let base1 = Path.GetTempFileName() + let dllName = Path.ChangeExtension(base1, ".dll") + let xmlName = Path.ChangeExtension(base1, ".xml") + let fileName1 = Path.ChangeExtension(base1, ".fs") + let projFileName = Path.ChangeExtension(base1, ".fsproj") + File.WriteAllText(fileName1, """module M""") + + let args = + [| //yield "--debug:full" + //yield "--define:DEBUG" + //yield "--optimize-" + yield "--nooptimizationdata" + yield "--noframework" + yield sprintf "-I:%s" (referenceAssemblyDirectory frameworkVersion) + for ref in defaultReferences do + yield sprintf "-r:%s" (referenceAssembly frameworkVersion ref) + if fsCoreLib.IsSome then + yield sprintf "-r:%s" fsCoreLib.Value + yield "--out:" + dllName + yield "--doc:" + xmlName + yield "--warn:3" + yield "--fullpaths" + yield "--flaterrors" + yield "--target:library" + for dllFile in dllFiles do + yield "-r:"+dllFile + for libDir in libDirs do + yield "-I:"+libDir + yield! otherFlags + yield fileName1 + |] + + projFileName, args + + let findAssemblyVersion (assembly:Assembly) = +#if !NETSTANDARD1_5 + let customAttributes = assembly.GetCustomAttributesData() + let targetFramework = + customAttributes + |> Seq.tryFind (fun attr -> attr.AttributeType.Equals(typeof)) + |> Option.map (fun attr -> attr.ConstructorArguments |> Seq.toList) + // ".NETFramework,Version=v4.5.1" + let frameworkName = + match targetFramework with + | Some (h :: _) -> Some (h.Value :?> string) + | _ -> None + match frameworkName with + | Some fName -> + let splits = fName.Split([|','|]) + if splits.Length <> 2 then + printfn "Expected a target framework formatted string and got: %s" fName + None + else + let framework = splits.[0] + let versionString = splits.[1] + assert (versionString.StartsWith "Version=v") + let version = versionString.Substring ("Version=v".Length) + Some (framework, version) + | None -> None +#else + ignore assembly + None +#endif + + let getProjectReferences frameworkVersion otherFlags libDirs dllFiles = + + let otherFlags = defaultArg otherFlags Seq.empty + let libDirs = defaultArg libDirs Seq.empty |> Seq.toList + let dllFiles = dllFiles |> Seq.toList + + let hasAssembly asm = + // we are explicitely requested + hasAssembly asm dllFiles || + libDirs |> Seq.exists (fun lib -> + Directory.EnumerateFiles(lib) + |> Seq.filter (fun file -> Path.GetExtension file =? ".dll") + |> Seq.filter (fun file -> + // If we find a FSharp.Core in a lib path, we check if is suited for us... + Path.GetFileNameWithoutExtension file <>? "FSharp.Core" || (tryCheckFsCore file |> Option.isSome)) + |> hasAssembly asm) + let hasFsCoreLib = hasAssembly "FSharp.Core" + let fsCoreLib = + if not hasFsCoreLib then + Some (findFSCore dllFiles libDirs) + else None + +#if !NETSTANDARD1_5 + let defaultReferences = + getDefaultSystemReferences frameworkVersion + |> Seq.filter (not << hasAssembly) + + let projFileName, args = getCheckerArguments frameworkVersion defaultReferences (fsCoreLib: _ option) dllFiles libDirs otherFlags +#else + let projFileName, args = getCheckerArguments frameworkVersion ignore (fsCoreLib: _ option) dllFiles libDirs otherFlags +#endif + printfn "Checker Arguments: %O" (formatArgs args) + + let options = checker.GetProjectOptionsFromCommandLineArgs(projFileName, args) + + let results = checker.ParseAndCheckProject(options) |> Async.RunSynchronously + let mapError (err:FSharpErrorInfo) = + sprintf "**** %s: %s" (if err.Severity = Microsoft.FSharp.Compiler.FSharpErrorSeverity.Error then "error" else "warning") err.Message + if results.HasCriticalErrors then + let errors = results.Errors |> Seq.map mapError + let errorMsg = sprintf "Parsing and checking project failed: \n\t%s" (System.String.Join("\n\t", errors)) + printfn "%s" errorMsg + failwith errorMsg + else + if results.Errors.Length > 0 then + let warnings = results.Errors |> Seq.map mapError + printfn "Parsing and checking warnings: \n\t%s" (System.String.Join("\n\t", warnings)) + let references = results.ProjectContext.GetReferencedAssemblies() + references + let referenceMap references = + references + |> Seq.choose (fun (r:FSharpAssembly) -> r.FileName |> Option.map (fun f -> f, r)) + let resolve dllFiles references = + let referenceMap = + referenceMap references + |> dict + dllFiles |> Seq.map (fun file -> file, if referenceMap.ContainsKey file then Some referenceMap.[file] else None) + + let getProjectReferencesSimple frameworkVersion dllFiles = + let dllFiles = dllFiles |> Seq.toList + getProjectReferences frameworkVersion None None dllFiles + |> resolve dllFiles + + let getProjectReferenceFromFile frameworkVersion dllFile = + getProjectReferencesSimple frameworkVersion [ dllFile ] + |> Seq.exactlyOne + |> snd + + let rec enumerateEntities (e:FSharpEntity) = + [ + yield e + yield! e.NestedEntities |> Seq.collect enumerateEntities + ] + + + +module String = + module Assert = + let notNull argName arg = if arg = null then nullArg argName + + let notNullOrEmpty argName arg = + notNull argName arg + if Seq.isEmpty arg then invalidArg argName "Value cannot be empty." + + type private Token = + | Esc of Count:int + | Sep + | Val of Content:string + + [] + module private Tokenizer = + /// Returns a function who can convert a given source string to a token stream. + let create esc sep = + let sepName = "sep" + let sepLen = String.length sep + + // Validate parameters + Assert.notNullOrEmpty sepName sep + if sep.[0] = esc then invalidArg sepName "Separator cannot start with escape char." + if sepLen > 1 then + let iMax = sepLen - 1 + for i in 0 .. iMax / 2 do + if sep.[0 .. i] = sep.[sepLen - i - 1 .. iMax] then + invalidArg sepName "Separator cannot have same beginning and ending." + + // Return the tokenizer function + fun source -> + match String.length source - 1 with + | -1 -> Val String.Empty |> Seq.singleton + | iMax -> + let (|Esc|_|) = + let rec aux acc i = + if i <= iMax && source.[i] = esc then aux (acc + 1) (i + 1) else acc + aux 0 >> function 0 -> None | count -> Some count + + let (|Sep|_|) i = + if i <= iMax - sepLen + 1 + && String.CompareOrdinal(source, i, sep, 0, sepLen) = 0 then Some() + else None + + let rec read valLen i = + seq { let wrapVal() = + if valLen > 0 + then source.Substring(i - valLen, valLen) |> Val |> Seq.singleton + else Seq.empty + if i <= iMax then + match i with + | Esc count -> + yield! wrapVal(); yield Esc count; yield! read 0 (i + count) + | Sep -> yield! wrapVal(); yield Sep; yield! read 0 (i + sepLen) + | _ -> yield! read (valLen + 1) (i + 1) + else yield! wrapVal() } + read 0 0 + + + /// Returns a new string by connecting the given strings with the given separator. + let concatEscape (esc:char) sep (strings:seq<_>) = + Assert.notNull "strings" strings + let sb = StringBuilder() + + let appendTokens areLast ts = + let appendEsc count = sb.Append(esc, count) |> ignore + let appendVal (v: string) = sb.Append v |> ignore + let appendSep() = appendVal sep + + let rec aux = function + | [] -> () + | Esc count :: [] -> appendEsc <| if areLast then count else count * 2 + | Esc count :: (Sep :: _ as ts) -> appendEsc (count * 2); aux ts + | Esc count :: ts -> appendEsc count; aux ts + | Sep :: ts -> appendEsc 1; appendSep(); aux ts + | Val v :: ts -> appendVal v; aux ts + + aux ts + if not areLast then appendSep() + + strings + |> Seq.map (Tokenizer.create esc sep >> List.ofSeq) + |> Seq.fold (fun ts1 ts2 -> Option.iter (appendTokens false) ts1; Some ts2) None + |> Option.iter (appendTokens true) + + sb.ToString() + + /// Reproduces the original substrings from a string created with concatEscape. + let splitUnescape esc sep string = + Assert.notNull "string" string + let emptyVal = Val String.Empty + let sepVal = Val sep + let flipAppend x1 x2 = Seq.append x2 x1 + + // Produce token stream + string + |> Tokenizer.create esc sep + + // Convert token stream to StringBuilder stream + |> flipAppend [emptyVal] + |> Seq.scan + (fun (sb:StringBuilder, t1) t2 -> + match t1, t2 with + | Esc count, Sep when count % 2 = 1 -> sb.Append(esc, count / 2), sepVal + | Esc count, Sep -> sb.Append(esc, count / 2), Sep + | Esc count, _ -> sb.Append(esc, count), t2 + | Sep, _ -> StringBuilder(), t2 + | Val v, _ -> sb.Append v, t2) + (StringBuilder(), emptyVal) + |> Seq.map fst + + // Of each series of repeated StringBuilder references, keep only the last + // reference (which points to the StringBuilder's completed state). + // Convert the remaining StringBuilder references to strings. + |> flipAppend [null] + |> Seq.pairwise + |> Seq.filter (fun (sb1, sb2) -> sb1 <> sb2) + |> Seq.map (fst >> sprintf "%O") + + + +type DebugMode = + | Full + | PdbOnly + | Portable + | NoDebug + + +type OptimizationType = + | NoJitOptimize + | NoJitTracking + | NoLocalOptimize + | NoCrossOptimize + | NoTailCalls + + + + +type FsiOptions = { + Checked : bool option + Codepage : int option + CrossOptimize : bool option + Debug : DebugMode option + Defines : string list + Exec : bool + FullPaths : bool + Gui : bool option + LibDirs : string list + Loads : string list + NoFramework : bool + NoLogo : bool + NonInteractive : bool + NoWarns : int list + Optimize : (bool * OptimizationType list) list + Quiet : bool + QuotationsDebug : bool + ReadLine : bool option + References : string list + TailCalls : bool option + Uses : string list + Utf8Output : bool + /// Sets a warning level (0 to 5). The default level is 3. Each warning is given a level based on its severity. Level 5 gives more, but less severe, warnings than level 1. + /// Level 5 warnings are: 21 (recursive use checked at runtime), 22 (let rec evaluated out of order), 45 (full abstraction), and 52 (defensive copy). All other warnings are level 2. + WarnLevel : int option + WarnAsError : bool option + WarnAsErrorList : (bool * int list) list + ScriptArgs : string list +} with + static member Empty = { + Checked = None + Codepage = None + CrossOptimize = None + Debug = None + Defines = [] + Exec = false + FullPaths = false + Gui = None + LibDirs = [] + Loads = [] + NoFramework = false + NoLogo = false + NonInteractive = false + NoWarns = [] + Optimize = [] + Quiet = false + QuotationsDebug = false + ReadLine = None + References = [] + TailCalls = None + Uses = [] + Utf8Output = false + /// Sets a warning level (0 to 5). The default level is 3. Each warning is given a level based on its severity. Level 5 gives more, but less severe, warnings than level 1. + /// Level 5 warnings are: 21 (recursive use checked at runtime), 22 (let rec evaluated out of order), 45 (full abstraction), and 52 (defensive copy). All other warnings are level 2. + WarnLevel= None + WarnAsError = None + WarnAsErrorList = [] + ScriptArgs = [] + } + static member Default = + // find a FSharp.Core.dll with optdata and sigdata + let runtimeDir = System.Runtime.InteropServices.RuntimeEnvironment.GetRuntimeDirectory() + let includes = + if isMono then + // Workaround that FSC doesn't find a FSharp.Core.dll + let monoDir = System.IO.Path.GetDirectoryName runtimeDir + // prefer current runtime (which FSC would find anyway, but fallback to 4.0 if nothing is found in 4.5 or higher) + // See also https://github.com/fsharp/fsharp/pull/389, https://github.com/fsharp/fsharp/pull/388 + [ runtimeDir; System.IO.Path.Combine (monoDir, "4.0") ] + else [ runtimeDir ] + let includes = [] + let fsCore = FSharpAssemblyHelper.findFSCore [] includes + printfn "Using FSharp.Core: %s" fsCore + { FsiOptions.Empty with + LibDirs = includes + NoFramework = true + References = [ fsCore ] + NonInteractive = true + } + + static member ofArgs args = + ((FsiOptions.Empty, (false, None)), args) + ||> Seq.fold (fun (parsed, state) (arg:string) -> + match state, arg with + | (false, Some cont), _ when not (arg.StartsWith ("--")) -> + let parsed, (userArgs, newCont) = cont arg + parsed, (userArgs, unbox newCont) + | _, "--" -> parsed, (true, None) + | (true, _), a -> { parsed with ScriptArgs = a :: parsed.ScriptArgs }, state + | _, FsiBoolArg "--checked" enabled -> + { parsed with Checked = Some enabled }, state + | _, StartsWith "--codepage:" res -> + { parsed with Codepage = Some (int res) }, state + | _, FsiBoolArg "--crossoptimize" enabled -> + { parsed with CrossOptimize = Some enabled }, state + | _, StartsWith "--debug:" "pdbonly" + | _, StartsWith "-g:" "pdbonly" -> + { parsed with Debug = Some DebugMode.PdbOnly }, state + | _, StartsWith "--debug:" "portable" + | _, StartsWith "-g:" "portable" -> + { parsed with Debug = Some DebugMode.Portable }, state + | _, StartsWith "--debug:" "full" + | _, StartsWith "-g:" "full" + | _, FsiBoolArg "--debug" true + | _, FsiBoolArg "-g" true -> + { parsed with Debug = Some DebugMode.Full }, state + | _, FsiBoolArg "--debug" false + | _, FsiBoolArg "-g" false -> + { parsed with Debug = Some DebugMode.NoDebug }, state + | _, StartsWith "-d:" def + | _, StartsWith "--define:" def -> + { parsed with Defines = def :: parsed.Defines }, state + | _, "--exec" -> + { parsed with Exec = true }, state + | _, "--noninteractive" -> + { parsed with NonInteractive = true }, state + | _, "--fullpaths" -> + { parsed with FullPaths = true }, state + | _, FsiBoolArg "--gui" enabled -> + { parsed with Gui = Some enabled }, state + | _, StartsWith "-I:" lib + | _, StartsWith "--lib:" lib -> + { parsed with LibDirs = lib :: parsed.LibDirs }, state + | _, StartsWith "--load:" load -> + { parsed with Loads = load :: parsed.Loads }, state + | _, "--noframework" -> + { parsed with NoFramework = true }, state + | _, "--nologo" -> + { parsed with NoLogo = true }, state + | _, StartsWith "--nowarn:" warns -> + let noWarns = + warns.Split([|','|]) + |> Seq.map int + |> Seq.toList + { parsed with NoWarns = noWarns @ parsed.NoWarns }, state + | _, FsiBoolArg "--optimize" enabled -> + let cont (arg:string) = + let optList = + arg.Split([|','|]) + |> Seq.map (function + | "nojitoptimize" -> NoJitOptimize + | "nojittracking" -> NoJitTracking + | "nolocaloptimize" -> NoLocalOptimize + | "nocrossoptimize" -> NoCrossOptimize + | "notailcalls" -> NoTailCalls + | unknown -> failwithf "Unknown optimization option %s" unknown) + |> Seq.toList + { parsed with Optimize = (enabled, optList) :: parsed.Optimize}, (false, box None) + { parsed with Optimize = (enabled, []) :: parsed.Optimize}, (false, Some cont) + | _, "--quiet" -> + { parsed with Quiet = true }, state + | _, "--quotations-debug" -> + { parsed with QuotationsDebug = true }, state + | _, FsiBoolArg "--readline" enabled -> + { parsed with ReadLine = Some enabled }, state + | _, StartsWith "-r:" ref + | _, StartsWith "--reference:" ref -> + { parsed with References = ref :: parsed.References }, state + | _, FsiBoolArg "--tailcalls" enabled -> + { parsed with TailCalls = Some enabled }, state + | _, StartsWith "--use:" useFile -> + { parsed with Uses = useFile :: parsed.Uses }, state + | _, "--utf8output" -> + { parsed with Utf8Output = true }, state + | _, StartsWith "--warn:" warn -> + { parsed with WarnLevel = Some (int warn) }, state + | _, FsiBoolArg "--warnaserror" enabled -> + { parsed with WarnAsError = Some enabled }, state + | _, StartsWith "--warnaserror" warnOpts -> + let parseList (l:string) = + l.Split [|','|] + |> Seq.map int + |> Seq.toList + match warnOpts.[0], if warnOpts.Length > 1 then Some warnOpts.[1] else None with + | ':', _ -> + { parsed with WarnAsErrorList = (true, parseList (warnOpts.Substring 1)) :: parsed.WarnAsErrorList }, state + | '+', Some ':' -> + { parsed with WarnAsErrorList = (true, parseList (warnOpts.Substring 2)) :: parsed.WarnAsErrorList }, state + | '-', Some ':' -> + { parsed with WarnAsErrorList = (false, parseList (warnOpts.Substring 2)) :: parsed.WarnAsErrorList }, state + | _ -> + failwithf "invalid --warnaserror argument: %s" arg + | _, unknown -> + { parsed with ScriptArgs = unknown :: parsed.ScriptArgs }, (true, None) + ) + |> fst + |> (fun p -> + { p with + ScriptArgs = p.ScriptArgs |> List.rev + Defines = p.Defines |> List.rev + References = p.References |> List.rev + LibDirs = p.LibDirs |> List.rev + Loads = p.Loads |> List.rev + Uses = p.Uses |> List.rev + }) + + member x.AsArgs = + let maybeArg opt = + match opt with + | Some a -> Seq.singleton a + | None -> Seq.empty + let maybeArgMap opt f = + opt + |> Option.map f + |> maybeArg + let getMinusPlus b = if b then "+" else "-" + let getFsiBoolArg name opt = + maybeArgMap opt (getMinusPlus >> sprintf "%s%s" name) + let getSimpleBoolArg name b = + if b then + Some name + else None + |> maybeArg + [| + yield! getFsiBoolArg "--checked" x.Checked + yield! maybeArgMap x.Codepage (fun i -> sprintf "--codepage:%d" i) + yield! getFsiBoolArg "--crossoptimize" x.CrossOptimize + // ! -g[+|-|:full|:pdbonly] is not working, see https://github.com/Microsoft/visualfsharp/issues/311 + yield! maybeArgMap x.Debug (function + | Full -> "--debug:full" + | PdbOnly -> "--debug:pdbonly" + | Portable -> "--debug:portable" + | NoDebug -> "--debug-") + yield! x.Defines + |> Seq.map (sprintf "--define:%s") + yield! getSimpleBoolArg "--exec" x.Exec + yield! getSimpleBoolArg "--fullpaths" x.FullPaths + yield! getFsiBoolArg "--gui" x.Gui + yield! x.LibDirs + |> Seq.map (sprintf "-I:%s") + yield! x.Loads + |> Seq.map (sprintf "--load:%s") + yield! getSimpleBoolArg "--noframework" x.NoFramework + yield! getSimpleBoolArg "--nologo" x.NoLogo + yield! getSimpleBoolArg "--noninteractive" x.NonInteractive + + yield! (match x.NoWarns with + | [] -> None + | l -> + l + |> Seq.map string + |> String.concat "," + |> sprintf "--nowarn:%s" + |> Some) + |> maybeArg + yield! + match x.Optimize with + | [] -> Seq.empty + | opts -> + opts + |> Seq.map (fun (enable, types) -> + seq { + yield sprintf "--optimize%s" (getMinusPlus enable) + match types with + | [] -> () + | _ -> + yield + types + |> Seq.map (function + | NoJitOptimize -> "nojitoptimize" + | NoJitTracking -> "nojittracking" + | NoLocalOptimize -> "nolocaloptimize" + | NoCrossOptimize -> "nocrossoptimize" + | NoTailCalls -> "notailcalls") + |> String.concat "," + } + ) + |> Seq.concat + + yield! getSimpleBoolArg "--quiet" x.Quiet + yield! getSimpleBoolArg "--quotations-debug" x.QuotationsDebug + yield! getFsiBoolArg "--readline" x.ReadLine + + yield! x.References + |> Seq.map (sprintf "-r:%s") + + yield! getFsiBoolArg "--tailcalls" x.TailCalls + yield! x.Uses + |> Seq.map (sprintf "--use:%s") + + yield! getSimpleBoolArg "--utf8output" x.Utf8Output + + yield! maybeArgMap x.WarnLevel (fun i -> sprintf "--warn:%d" i) + + yield! getFsiBoolArg "--warnaserror" x.WarnAsError + + yield! x.WarnAsErrorList + |> Seq.map (fun (enable, warnNums) -> + warnNums + |> Seq.map string + |> String.concat "," + |> sprintf "--warnaserror%s:%s" (getMinusPlus enable)) + + match x.ScriptArgs with + | [] -> () + | l -> + yield "--" + yield! l + |] + + +type Type with + /// The FullName but without any generic parameter types. + member x.NamespaceName = + x.FullName.Substring(0, match x.FullName.IndexOf("[") with | -1 -> x.FullName.Length | _ as i -> i) + +type FSharpAssembly with + static member LoadFiles (dllFiles, ?libDirs, ?otherFlags, ?manualResolve) = + let resolveDirs = defaultArg manualResolve true + let libDirs = defaultArg libDirs Seq.empty + let dllFiles = dllFiles |> Seq.toList + let findReferences libDir = + Directory.EnumerateFiles(libDir, "*.dll") + |> Seq.map Path.GetFullPath + // Filter files already referenced directly + |> Seq.filter (fun file -> dllFiles |> Seq.map Path.GetFileName |> Seq.exists ((=?) (Path.GetFileName file)) |> not) + // Filter FSharp.Core.dll when there is no sigdata and optdata + |> Seq.filter (fun file -> + if Path.GetFileName file =? "FSharp.Core.dll" then + FSharpAssemblyHelper.tryCheckFsCore file |> Option.isSome + else true) + + // See https://github.com/tpetricek/FSharp.Formatting/commit/22ffb8ec3c743ceaf069893a46a7521667c6fc9d + //let blacklist = + // [ "FSharp.Core.dll"; "mscorlib.dll" ] + + // See https://github.com/tpetricek/FSharp.Formatting/commit/5d14f45cd7e70c2164a7448ea50a6b9995166489 + let _dllFiles, _libDirs = + if resolveDirs then + libDirs + |> Seq.collect findReferences + |> Seq.append dllFiles, + //|> Seq.filter (fun file -> blacklist |> List.exists ((=?) (Path.GetFileName file)) |> not), + Seq.empty + else dllFiles |> List.toSeq, libDirs |> Seq.map (fun l -> Path.GetFullPath (l)) + let frameworkVersion = FSharpAssemblyHelper.defaultFrameworkVersion + FSharpAssemblyHelper.getProjectReferences frameworkVersion otherFlags (Some _libDirs) _dllFiles + |> FSharpAssemblyHelper.resolve dllFiles + + static member FromAssembly (assembly:Assembly) = + let loc = + if assembly.GetName().Name =? "FSharp.Core" then + FSharpAssemblyHelper.findFSCore [assembly.Location] [] + else + assembly.Location + if isNull loc then None + else + let frameworkVersion = + match FSharpAssemblyHelper.findAssemblyVersion assembly with + | Some (_, ver) -> ver + | _ -> FSharpAssemblyHelper.defaultFrameworkVersion + FSharpAssemblyHelper.getProjectReferenceFromFile frameworkVersion loc + + member x.FindType (t:Type) = + x.Contents.Entities + |> Seq.collect FSharpAssemblyHelper.enumerateEntities + |> Seq.tryPick (fun entity -> + let namespaceName = t.NamespaceName.Replace("+", ".") + match entity.TryFullName with + | Some fullName when namespaceName = fullName -> + Some entity + | _ -> None) + +module TypeNameHelper = + let rec fallbackName (t:System.Type) = + t.Name + and getFSharpTypeName (t:System.Type) = + try + let optFsharpName = + match FSharpAssembly.FromAssembly (t.GetTypeInfo().Assembly) with + | Some fsAssembly -> + match fsAssembly.FindType t with + | Some entity -> Some entity.DisplayName + | None -> None + | None -> None + match optFsharpName with + | Some fsharpName -> fsharpName + | None -> fallbackName t + with e -> + sprintf "Couldn't get FSharpName from Assembly\n%s\n%s\n" e.Message e.StackTrace + |> Debug.WriteLine + fallbackName t + + type Type with + /// The name of the current type instance in F# source code. + member x.FSharpName = TypeNameHelper.getFSharpTypeName x + /// Gets the FullName of the current type in F# source code. + member x.FSharpFullName = + if x.IsGenericType then + let gt = x.GetGenericTypeDefinition() + gt.Namespace + "." + gt.FSharpName + else + x.Namespace + "." + x.FSharpName + + module TypeParamHelper = + + let rec getFSharpTypeParameterList (tk:System.Type) = + let t = tk.GetTypeInfo() + let builder = new System.Text.StringBuilder() + if t.IsGenericType then + let args = t.GetGenericArguments() + builder.Append "<" |> ignore + if t.IsGenericTypeDefinition then + args |> Seq.iter (fun _ -> builder.Append "_," |> ignore) + else + args |> Seq.iter (fun t -> builder.Append (sprintf "%s," (t.FSharpFullName + getFSharpTypeParameterList t)) |> ignore) + builder.Length <- builder.Length - 1 + builder.Append ">" |> ignore + builder.ToString() + + type Type with + /// The parameter list of the current type, sets "_" if the current instance is a generic definition. + member x.FSharpParamList = TypeParamHelper.getFSharpTypeParameterList x + /// Gets a string that can be used in F# source code to reference the current type instance. + member x.FSharpFullNameWithTypeArgs = x.FSharpFullName + x.FSharpParamList + + + +type OutputData = { + FsiOutput : string + ScriptOutput : string + Merged : string +} + + +type InteractionResult = { + Output : OutputData + Error : OutputData +} + + +type FsiEvaluationException = + inherit System.Exception + val private result : InteractionResult + val private input : string + val private arguments : string list option + new (msg:string, input:string, args : string list option, result: InteractionResult, inner:System.Exception) = { + inherit System.Exception(msg, inner) + input = input + result = result + arguments = args + } +#if !NETSTANDARD1_5 + new (info:System.Runtime.Serialization.SerializationInfo, context:System.Runtime.Serialization.StreamingContext) = { + inherit System.Exception(info, context) + input = info.GetString("Input") + // TODO: do this properly? + arguments = + match info.GetString("FSI_Arguments") with + | null -> None + | v -> v |> String.splitUnescape '\\' ";" |> Seq.toList |> Some + result = + { Output = + { FsiOutput = info.GetString("Result_Output_FsiOutput") + ScriptOutput = info.GetString "Result_Output_ScriptOutput" + Merged = info.GetString "Result_Output_Merged" } + Error = + { FsiOutput = info.GetString("Result_Error_FsiOutput") + ScriptOutput = info.GetString "Result_Error_ScriptOutput" + Merged = info.GetString "Result_Error_Merged" } } + } + override x.GetObjectData(info, _) = + info.AddValue("Input", x.input) + info.AddValue("Result_Output_FsiOutput", x.result.Output.FsiOutput) + info.AddValue("Result_Output_ScriptOutput", x.result.Output.ScriptOutput) + info.AddValue("Result_Output_Merged", x.result.Output.Merged) + info.AddValue("Result_Error_FsiOutput", x.result.Error.FsiOutput) + info.AddValue("Result_Error_ScriptOutput", x.result.Error.ScriptOutput) + info.AddValue("Result_Error_Merged", x.result.Error.Merged) + info.AddValue("FSI_Arguments", + match x.arguments with + | None -> null + | Some args -> args |> String.concatEscape '\\' ";") +#endif + member x.Result with get () = x.result + member x.Input with get () = x.input + override x.ToString () = + let nl (s:string) = s.Replace("\n", "\n\t") + match x.arguments with + | None -> + sprintf + "FsiEvaluationException:\n\nError: %s\n\nOutput: %s\n\nInput: %s\n\nException: %s" + (nl x.Result.Error.Merged) (nl x.Result.Output.Merged) (nl x.Input) (base.ToString()) + | Some args -> + sprintf + "FsiEvaluationException:\n\nError: %s\n\nOutput: %s\n\nInput: %s\n\Arguments: %s\n\nException: %s" + (nl x.Result.Error.Merged) (nl x.Result.Output.Merged) (nl x.Input) (formatArgs args) (base.ToString()) + + +type IFsiSession = + inherit IDisposable + /// Evaluate the given interaction. + abstract member EvalInteractionWithOutput : string -> InteractionResult + /// Try to evaluate the given expression and return its result. + abstract member TryEvalExpressionWithOutput : string -> InteractionResult * ((obj * System.Type) option) + /// Evaluate the given script. + abstract member EvalScriptWithOutput : string -> InteractionResult + /// Gets the currently build dynamic assembly. + abstract member DynamicAssembly : System.Reflection.Assembly + +[] +type FsiExpressionTypeException = + val private value : obj option + val private expected : System.Type + inherit FsiEvaluationException + new (msg:string, input:string, result: InteractionResult, expect : System.Type, ?value : obj) = { + inherit FsiEvaluationException(msg, input, None, result, null) + expected = expect + value = value } + new (info:System.Runtime.Serialization.SerializationInfo, context:System.Runtime.Serialization.StreamingContext) = { + inherit FsiEvaluationException(info, context) + expected = null + value = None + } + member x.Value with get () = x.value + member x.ExpectedType with get () = x.expected + +type HandledResult<'a> = + | InvalidExpressionType of FsiExpressionTypeException + | InvalidCode of FsiEvaluationException + | Result of 'a + + +[] +module Extensions = + type IFsiSession with + member x.EvalInteraction s = x.EvalInteractionWithOutput s |> ignore + member x.TryEvalExpression s = x.TryEvalExpressionWithOutput s |> snd + member x.EvalScript s = x.EvalScriptWithOutput s |> ignore + /// See https://github.com/Microsoft/visualfsharp/issues/1392 + member x.EvalScriptAsInteractionWithOutput s = + // See https://github.com/fsharp/FSharp.Compiler.Service/issues/621 + let scriptContents = + sprintf "#line 1 @\"%s\"\n" s + + System.IO.File.ReadAllText s + + "\n()" + x.EvalInteraction scriptContents + /// See https://github.com/Microsoft/visualfsharp/issues/1392 + member x.EvalScriptAsInteraction s = + x.EvalScriptAsInteractionWithOutput s |> ignore + + member x.EvalExpressionWithOutput<'a> text = + match x.TryEvalExpressionWithOutput text with + | int, Some (value, _) -> + match value with + | :? 'a as v -> int, v + | o -> + let msg = sprintf "the returned value (%O) doesn't match the expected type (%A) but has type %A" o (typeof<'a>) (o.GetType()) + raise <| new FsiExpressionTypeException(msg, text, int, typeof<'a>, o) + | int, _ -> + let msg = sprintf "no value was returned by expression: %s" text + raise <| new FsiExpressionTypeException(msg, text, int, typeof<'a>) + + /// Evaluate the given expression and return its result. + member x.EvalExpression<'a> text = + x.EvalExpressionWithOutput<'a> text |> snd + /// Assigns the given object to the given name (ie "let varName = obj") + member x.Let<'a> varName obj = + let typeName = typeof<'a>.FSharpFullNameWithTypeArgs + x.EvalInteraction (sprintf "let mutable __hook = ref Unchecked.defaultof<%s>" typeName) + let __hook = x.EvalExpression<'a ref> "__hook" + __hook := obj + x.EvalInteraction (sprintf "let %s = !__hook" varName) + + member x.Open ns = + x.EvalInteraction (sprintf "open %s" ns) + member x.Reference file = + x.EvalInteraction (sprintf "#r @\"%s\"" file) + member x.Load file = + x.EvalInteraction (sprintf "#load @\"%s\" " file) + + /// Change the current directory (so that relative paths within scripts work properly). + /// Returns a handle to change the current directory back to it's initial state + /// (Because this will change the current directory of the currently running code as well!). + member x.ChangeCurrentDirectory dir = + let oldDir = System.IO.Directory.GetCurrentDirectory() + let cd dir = + x.EvalInteraction (sprintf "System.IO.Directory.SetCurrentDirectory(@\"%s\")" dir) + x.EvalInteraction (sprintf "#cd @\"%s\"" dir) + cd dir + let isDisposed = ref false + { new System.IDisposable with + member __.Dispose() = + if not !isDisposed then + cd oldDir + isDisposed := true } + + /// Same as ChangeCurrentDirectory but takes a function for the scope. + member x.WithCurrentDirectory dir f = + use __ = x.ChangeCurrentDirectory dir + f () + + /// Handle the given evaluation function + member __.Handle f (text:string) = + try Result <| f text + with + | :? FsiExpressionTypeException as e -> InvalidExpressionType e + | :? FsiEvaluationException as e -> InvalidCode e + + // Try to get the AssemblyBuilder + member x.DynamicAssemblyBuilder = + match x.DynamicAssembly with + | :? System.Reflection.Emit.AssemblyBuilder as builder -> builder + | _ -> failwith "The DynamicAssembly property is no AssemblyBuilder!" + + + +let consoleCapture out err f = + let defOut = Console.Out + let defErr = Console.Error + try + Console.SetOut out + Console.SetError err + f () + finally + Console.SetOut defOut + Console.SetError defErr + +type ForwardTextWriter (f) = + inherit TextWriter() + override __.Flush() = () + override __.Write(c:char) = f (string c) + override __.Write(c:string) = if isNull c |> not then f c + override __.WriteLine(c:string) = f <| sprintf "%s%s" c Environment.NewLine + override __.WriteLine() = f Environment.NewLine + override __.Dispose (r) = + base.Dispose r + if r then f null + override __.Encoding = Encoding.UTF8 + static member Create f = new ForwardTextWriter (f) :> TextWriter + +type CombineTextWriter (l : TextWriter list) = + inherit TextWriter() + do assert (l.Length > 0) + let doAll f = + l |> Seq.iter f + override __.Flush() = doAll (fun t -> t.Flush()) + override __.Write(c:char) = doAll (fun t -> t.Write c) + override __.Write(c:string) = if not (System.String.IsNullOrEmpty c) then doAll (fun t -> t.Write c) + override __.WriteLine(c:string) = doAll (fun t -> t.WriteLine c) + override __.WriteLine() = doAll (fun t -> t.WriteLine ()) + override __.Dispose (r) = + base.Dispose r + if r then doAll (fun t -> t.Dispose()) + override __.Encoding = Encoding.UTF8 + static member Create l = new CombineTextWriter (l) :> TextWriter + +type OutStreamHelper (saveGlobal, liveOutWriter : _ option, liveFsiWriter : _ option) = + let globalFsiOut = new StringBuilder() + let globalStdOut = new StringBuilder() + let globalMergedOut = new StringBuilder() + + let fsiOut = new StringBuilder() + let stdOut = new StringBuilder() + let mergedOut = new StringBuilder() + let fsiOutStream = new StringWriter(fsiOut) :> TextWriter + let stdOutStream = new StringWriter(stdOut) :> TextWriter + let mergedOutStream = new StringWriter(mergedOut) :> TextWriter + let fsiOutWriter = + CombineTextWriter.Create [ yield fsiOutStream; yield mergedOutStream; + if liveFsiWriter.IsSome then yield liveFsiWriter.Value ] + let stdOutWriter = + CombineTextWriter.Create [ yield stdOutStream; yield mergedOutStream; + if liveOutWriter.IsSome then yield liveOutWriter.Value ] + let all = [ globalFsiOut, fsiOut; globalStdOut, stdOut; globalMergedOut, mergedOut ] + member __.FsiOutWriter = fsiOutWriter + member __.StdOutWriter = stdOutWriter + member __.GetOutputAndResetLocal () = + let [ fsi; std; merged ] = + all + |> List.map (fun (global', local) -> + let data = local.ToString() + if saveGlobal then global'.Append(data) |> ignore + local.Clear() |> ignore + data + ) + { FsiOutput = fsi; ScriptOutput = std; Merged = merged} + +let getSession (fsi : obj, options : FsiOptions, reportGlobal, liveOut, liveOutFsi, liveErr, liveErrFsi, preventStdOut) = + // Intialize output and input streams + let out = new OutStreamHelper(reportGlobal, liveOut, liveOutFsi) + let err = new OutStreamHelper(reportGlobal, liveErr, liveErrFsi) + let sbInput = new StringBuilder() + let inStream = new StringReader("") + + // Build command line arguments & start FSI session + let args = + [| yield "C:\\fsi.exe" + yield! options.AsArgs |] + printfn "Starting nested fsi.exe with args: %s" (formatArgs args) + let saveOutput () = + let out = out.GetOutputAndResetLocal() + let err = err.GetOutputAndResetLocal() + { Output = out; Error = err } + let getMessages () = + let out = out.GetOutputAndResetLocal() + let err = err.GetOutputAndResetLocal() + let inp = sbInput.ToString() + err, out, inp + let redirectOut f = + let defOut = Console.Out + let defErr = Console.Error + let captureOut, captureErr = + if preventStdOut then + out.StdOutWriter, err.StdOutWriter + else + (CombineTextWriter.Create [defOut; out.StdOutWriter]), + (CombineTextWriter.Create [defErr; err.StdOutWriter]) + consoleCapture captureOut captureErr f + let fsiSession = + try + let fsiConfig = FsiEvaluationSession.GetDefaultConfiguration(fsi, false) + redirectOut (fun () -> + let session = FsiEvaluationSession.Create(fsiConfig, args, inStream, out.FsiOutWriter, err.FsiOutWriter) + saveOutput() |> ignore + session) + with e -> + let err, out, _ = getMessages() + raise <| + new FsiEvaluationException( + "Error while creating a fsi session.", + sprintf "Fsi Arguments: %s" (formatArgs args), + args |> Array.toList |> Some, + { Output = out; Error = err }, + e) + + let save_ f text = + try + redirectOut (fun () -> + let res = f text + saveOutput(), res) + with e -> + let err, out, inp = getMessages() + raise <| + new FsiEvaluationException( + "Error while compiling or executing fsharp snippet.", + (if reportGlobal then inp else text), + args |> Array.toList |> Some, + { Output = out; Error = err }, + e) + + let save f = + save_ (fun text -> + if reportGlobal then + sbInput.AppendLine(text) |> ignore + f text) + let saveScript f = + save_ (fun path -> + if reportGlobal then + // That's how its implemented: https://github.com/fsharp/FSharp.Compiler.Service/blob/c1ca06144d8194000cf6b86f5f26bdc433ccaa7d/src/fsharp/fsi/fsi.fs#L2074 + sbInput.AppendLine(sprintf "#load @\"%s\" " path) |> ignore + f path) + + let evalInteraction = save fsiSession.EvalInteraction + let evalExpression = save fsiSession.EvalExpression + let evalScript = saveScript fsiSession.EvalScript + + let session = + { new IFsiSession with + member __.EvalInteractionWithOutput text = evalInteraction text |> fst + member __.EvalScriptWithOutput path = evalScript path |> fst + member __.TryEvalExpressionWithOutput text = + let i, r = evalExpression text + i, r |> Option.map (fun r -> r.ReflectionValue, r.ReflectionType) + member __.DynamicAssembly = + fsiSession.DynamicAssembly + member __.Dispose() = + (fsiSession :> IDisposable).Dispose() + } + // This works around a FCS bug, I would expect "fsi" to be defined already... + // This is probably not the case because we do not have any type with the correct signature loaded + // We just compile ourself a forwarder to fix that. + //session.Reference (typeof.Assembly.Location) + //session.Let "fsi" fsi +//#if !NETSTANDARD1_5 // Currently this is broken on netcore + session.Let "__rawfsi" (box fsi) + session.EvalInteraction """ +module __ReflectHelper = + open System + open System.Reflection + let rec tryFindMember (name : string) (memberType : MemberTypes) (declaringType : Type) = + match declaringType.GetMember + ( name, + memberType, + ( System.Reflection.BindingFlags.Instance ||| + System.Reflection.BindingFlags.Public ||| + System.Reflection.BindingFlags.NonPublic)) with + | [||] -> declaringType.GetInterfaces() |> Array.tryPick (tryFindMember name memberType) + | [|m|] -> Some m + | _ -> raise <| new System.Reflection.AmbiguousMatchException(sprintf "Ambiguous match for member '%s'" name) + + let getInstanceProperty (obj:obj) (nm:string) = + let p = (tryFindMember nm System.Reflection.MemberTypes.Property <| obj.GetType()).Value :?> PropertyInfo + p.GetValue(obj, [||]) |> unbox + + let setInstanceProperty (obj:obj) (nm:string) (v:obj) = + let p = (tryFindMember nm System.Reflection.MemberTypes.Property <| obj.GetType()).Value :?> PropertyInfo + p.SetValue(obj, v, [||]) |> unbox + + let callInstanceMethod0 (obj:obj) (typeArgs : System.Type []) (nm:string) = + let m = (tryFindMember nm System.Reflection.MemberTypes.Method <| obj.GetType()).Value :?> MethodInfo + let m = match typeArgs with [||] -> m | _ -> m.MakeGenericMethod(typeArgs) + m.Invoke(obj, [||]) |> unbox + + let callInstanceMethod1 (obj:obj) (typeArgs : Type []) (nm:string) (v:obj) = + let m = (tryFindMember nm System.Reflection.MemberTypes.Method <| obj.GetType()).Value :?> MethodInfo + let m = match typeArgs with [||] -> m | _ -> m.MakeGenericMethod(typeArgs) + m.Invoke(obj, [|v|]) |> unbox + + type ForwardEventLoop(ev) = + member x.Inner = ev + member x.Run () = + callInstanceMethod0 ev [||] "Run" : unit + member x.Invoke<'T>(f:unit -> 'T) = + callInstanceMethod1 ev [| typeof<'T> |] "Invoke" f : 'T + member x.ScheduleRestart() = + callInstanceMethod0 ev [||] "ScheduleRestart" : unit + + type ForwardingInteractiveSettings(fsiObj) = + member self.FloatingPointFormat + with get() = getInstanceProperty fsiObj "FloatingPointFormat" : string + and set (v:string) = setInstanceProperty fsiObj "FloatingPointFormat" v + member self.FormatProvider + with get() = getInstanceProperty fsiObj "FormatProvider" : System.IFormatProvider + and set (v: System.IFormatProvider) = setInstanceProperty fsiObj "FormatProvider" v + member self.PrintWidth + with get() = getInstanceProperty fsiObj "PrintWidth" :int + and set (v:int) = setInstanceProperty fsiObj "PrintWidth" v + member self.PrintDepth + with get() = getInstanceProperty fsiObj "PrintDepth" :int + and set (v:int) = setInstanceProperty fsiObj "PrintDepth" v + member self.PrintLength + with get() = getInstanceProperty fsiObj "PrintLength" :int + and set (v:int) = setInstanceProperty fsiObj "PrintLength" v + member self.PrintSize + with get() = getInstanceProperty fsiObj "PrintSize" :int + and set (v:int) = setInstanceProperty fsiObj "PrintSize" v + member self.ShowDeclarationValues + with get() = getInstanceProperty fsiObj "ShowDeclarationValues" :bool + and set (v:bool) = setInstanceProperty fsiObj "ShowDeclarationValues" v + member self.ShowProperties + with get() = getInstanceProperty fsiObj "ShowProperties" :bool + and set (v:bool) = setInstanceProperty fsiObj "ShowProperties" v + member self.ShowIEnumerable + with get() = getInstanceProperty fsiObj "ShowIEnumerable" :bool + and set (v:bool) = setInstanceProperty fsiObj "ShowIEnumerable" v + member self.ShowIDictionary + with get() = getInstanceProperty fsiObj "ShowIDictionary" :bool + and set (v:bool) = setInstanceProperty fsiObj "ShowIDictionary" v + member self.AddedPrinters + with get() = getInstanceProperty fsiObj "AddedPrinters" : Choice string), System.Type * (obj -> obj)> list + and set (v:Choice string), System.Type * (obj -> obj)> list) = setInstanceProperty fsiObj "AddedPrinters" v + member self.CommandLineArgs + with get() = getInstanceProperty fsiObj "CommandLineArgs" :string array + and set (v:string array) = setInstanceProperty fsiObj "CommandLineArgs" v + member self.AddPrinter(printer : 'T -> string) = + callInstanceMethod1 fsiObj [|typeof<'T>|] "AddPrinter" printer : unit + + member self.EventLoop + with get() = ForwardEventLoop(getInstanceProperty fsiObj "EventLoop") + and set (v:ForwardEventLoop) = setInstanceProperty fsiObj "EventLoop" v.Inner + + member self.AddPrintTransformer(printer : 'T -> obj) = + callInstanceMethod1 fsiObj [|typeof<'T>|] "AddPrintTransformer" printer +let fsi = __ReflectHelper.ForwardingInteractiveSettings(__rawfsi)""" + + session + + +type ScriptHost private() = + /// Creates a forwarder Textwriter, which forwards all output to the given function. + /// Set revertRedirect only to "false" if you know that f doesn't print anything to the stdout. + /// When revertRedirect is true we capture the Console.Out property and set it before calling f. + /// removeNewLines handles the newline characters properly and calls f for every new line instead of every call to + /// to the underlaying writers. + /// The difference is that with removeNewLines you should use printfn and get lines without newline characters. + /// On the other hand without removeNewLines you are called on every TextWriter.Write call, + /// so you might be called multiple times for a single lines or a single time for multiple lines. + static member CreateForwardWriter (f, ?revertRedirect, ?removeNewLines) = + let revertRedirect = defaultArg revertRedirect true + let removeNewLines = defaultArg removeNewLines false + let captureOut = System.Console.Out + let captureErr = System.Console.Error + let bufferF = + let builder = new System.Text.StringBuilder() + let properEndLine = ref false + let clearBuilder () = + let current = builder.ToString() + builder.Clear() |> ignore + let reader = new StringReader(current) + let mutable line = "" + while isNull line |> not do + line <- reader.ReadLine() + if isNull line |> not then + if reader.Peek() = -1 && not (current.EndsWith "\n") then + properEndLine := false + builder.Append line |> ignore + else + properEndLine := true + f line + (fun (data:string) -> + if isNull data then + // finished. + let last = builder.ToString() + if !properEndLine || not (System.String.IsNullOrEmpty last) then + f last + else + builder.Append data |> ignore + clearBuilder()) + let withBuffer = if removeNewLines then bufferF else (fun s -> if isNull s |> not then f s) + let myF data = consoleCapture captureOut captureErr (fun () -> withBuffer data) + ForwardTextWriter.Create + (if revertRedirect then myF else withBuffer) + /// Create a new IFsiSession by specifying all fsi arguments manually. + static member Create + ( opts : FsiOptions, ?fsiObj : obj, ?reportGlobal, + ?outWriter : TextWriter, ?fsiOutWriter : TextWriter, + ?errWriter : TextWriter, ?fsiErrWriter : TextWriter, + ?preventStdOut) = + getSession( + defaultArg fsiObj (Microsoft.FSharp.Compiler.Interactive.Shell.Settings.fsi :> obj), + opts, + defaultArg reportGlobal false, outWriter, fsiOutWriter, errWriter, fsiErrWriter, + defaultArg preventStdOut false) + + /// Quickly create a new IFsiSession with some sane defaults + static member CreateNew + ( ?defines : string list, ?fsiObj : obj, ?reportGlobal, + ?outWriter : TextWriter, ?fsiOutWriter : TextWriter, + ?errWriter : TextWriter, ?fsiErrWriter : TextWriter, + ?preventStdOut) = + let opts = + { FsiOptions.Default with + Defines = defaultArg defines [] } + ScriptHost.Create + (opts, ?fsiObj = fsiObj, ?reportGlobal = reportGlobal, + ?outWriter = outWriter, ?fsiOutWriter = fsiOutWriter, + ?errWriter = errWriter, ?fsiErrWriter = fsiErrWriter, + ?preventStdOut = preventStdOut) \ No newline at end of file diff --git a/src/FSharp.CodeFormat/CodeFormatAgent.fs b/src/FSharp.CodeFormat/CodeFormatAgent.fs index 99ee56a50..5259f3bfe 100644 --- a/src/FSharp.CodeFormat/CodeFormatAgent.fs +++ b/src/FSharp.CodeFormat/CodeFormatAgent.fs @@ -6,11 +6,16 @@ namespace FSharp.CodeFormat open System open System.IO -open FSharp.CodeFormat -open FSharp.CodeFormat.CommentFilter open Microsoft.FSharp.Compiler +open Microsoft.FSharp.Compiler.Ast +open Microsoft.FSharp.Compiler.Range +open Microsoft.FSharp.Compiler.Layout +open Microsoft.FSharp.Compiler.SourceCodeServices.FSharpTokenTag +open Microsoft.FSharp.Compiler.SimpleSourceCodeServices open Microsoft.FSharp.Compiler.SourceCodeServices - +open FSharp.CodeFormat +open FSharp.CodeFormat.CommentFilter +open FSharp.Formatting.Common // -------------------------------------------------------------------------------------- // ? // -------------------------------------------------------------------------------------- @@ -18,20 +23,19 @@ open Microsoft.FSharp.Compiler.SourceCodeServices module private Helpers = /// Mapping table that translates F# compiler representation to our union - let private colorMap = - [ FSharpTokenColorKind.Comment, TokenKind.Comment - FSharpTokenColorKind.Identifier, TokenKind.Identifier - FSharpTokenColorKind.InactiveCode, TokenKind.Inactive - FSharpTokenColorKind.Keyword, TokenKind.Keyword - FSharpTokenColorKind.Number, TokenKind.Number - FSharpTokenColorKind.Operator, TokenKind.Operator - FSharpTokenColorKind.PreprocessorKeyword, TokenKind.Preprocessor - FSharpTokenColorKind.String, TokenKind.String - FSharpTokenColorKind.UpperIdentifier, TokenKind.Identifier ] |> Map.ofSeq - - /// Return the TokenKind corresponding to the specified F# compiler token - let getTokenKind key = - defaultArg (Map.tryFind key colorMap) TokenKind.Default + let getTokenKind = function + | FSharpTokenColorKind.Comment -> TokenKind.Comment + | FSharpTokenColorKind.Identifier -> TokenKind.Identifier + | FSharpTokenColorKind.InactiveCode -> TokenKind.Inactive + | FSharpTokenColorKind.Keyword -> TokenKind.Keyword + | FSharpTokenColorKind.Number -> TokenKind.Number + | FSharpTokenColorKind.Operator -> TokenKind.Operator + | FSharpTokenColorKind.Punctuation -> TokenKind.Punctuation + | FSharpTokenColorKind.PreprocessorKeyword -> TokenKind.Preprocessor + | FSharpTokenColorKind.String -> TokenKind.String + | FSharpTokenColorKind.UpperIdentifier -> TokenKind.Identifier + | FSharpTokenColorKind.Text + | FSharpTokenColorKind.Default | _ -> TokenKind.Default // Parse command line options - split string by space, but if there is something // enclosed in double quotes "..." then ignore spaces in the quoted text @@ -59,21 +63,25 @@ module private Helpers = let defines = defines |> Option.map (fun (s:string) -> s.Split([| ' '; ';'; ',' |], StringSplitOptions.RemoveEmptyEntries) |> List.ofSeq) // Create source tokenizer - let sourceTok = SourceTokenizer(defaultArg defines [], file) + let sourceTok = FSharpSourceTokenizer(defaultArg defines [], file) // Parse lines using the tokenizer - [ let state = ref 0L - for n, line in lines |> Seq.zip [ 0 .. lines.Length ] do - let tokenizer = sourceTok.CreateLineTokenizer(line) - let rec parseLine() = seq { - match tokenizer.ScanToken(!state) with - | Some(tok), nstate -> - let str = line.Substring(tok.LeftColumn, tok.RightColumn - tok.LeftColumn + 1) - yield str, tok - state := nstate - yield! parseLine() - | None, nstate -> state := nstate } - yield { StartLine = n; StartColumn = 0; EndLine = n; EndColumn = 0 }, parseLine() |> List.ofSeq ] + let indexedSnippetLines = + [ let state = ref 0L + for n, line in lines |> Seq.zip [ 0 .. lines.Length ] do + let tokenizer = sourceTok.CreateLineTokenizer(line) + let rec parseLine() = seq { + match tokenizer.ScanToken(!state) with + | Some(tok), nstate -> + let str = line.Substring(tok.LeftColumn, tok.RightColumn - tok.LeftColumn + 1) + yield str, tok + state := nstate + yield! parseLine() + | None, nstate -> state := nstate + } + yield { StartLine = n; StartColumn = 0; EndLine = n; EndColumn = 0 }, parseLine() |> List.ofSeq + ] + indexedSnippetLines // Count the minimal number of spaces at the beginning of lines // (so that we can remove spaces for indented text) @@ -83,308 +91,308 @@ module private Helpers = | ((text:string), info)::_ when info.TokenName = "WHITESPACE" -> yield text.Length - text.TrimStart([| ' ' |]).Length | [] -> () - | _ -> yield 0 ] |> Seq.fold min 0 + | _ -> yield 0 + ] |> Seq.fold min 0 // -------------------------------------------------------------------------------------- // Main type that implements parsing and uses F# services // -------------------------------------------------------------------------------------- -open FSharpVSPowerTools -type Range = - { LeftCol : int - RightCol : int } +type [] Range = { + LeftCol : int + RightCol : int +} with static member Create leftCol rightCol = { LeftCol = leftCol; RightCol = rightCol } /// Uses agent to handle formatting requests type CodeFormatAgent() = - // Create keys for query tooltips for double-backtick identifiers - let processDoubleBackticks (body : string) = - if body.StartsWith "``" then - sprintf "( %s )" <| body.Trim('`') - else body - - let categoryToTokenKind = function - | Category.ReferenceType - | Category.ValueType - | Category.Module -> Some TokenKind.TypeOrModule - | Category.Function -> Some TokenKind.Function - | Category.PatternCase -> Some TokenKind.Pattern - | Category.MutableVar -> Some TokenKind.MutableVar - | Category.Printf -> Some TokenKind.Printf - | Category.Escaped -> Some TokenKind.Escaped - | _ -> None - - // Processes a single line of the snippet - let processSnippetLine (checkResults: ParseAndCheckResults) (spans: CategorizedColumnSpan<_> list) - (lines: string[]) (line: int, lineTokens: SnippetLine) = - let lineStr = lines.[line] - - // Recursive processing of tokens on the line (keeps a long identifier 'island') - let rec loop island (tokens: SnippetLine) (stringRange: Range option) = seq { - match tokens with - | [] -> () - | (body, token) :: rest -> - let stringRange, completedStringRange, rest = - match rest with - // it's the last token in the string - | [] -> - match token.ColorClass, stringRange with - | FSharpTokenColorKind.String, None -> - None, Some (Range.Create token.LeftColumn token.RightColumn), rest - | FSharpTokenColorKind.String, Some range -> None, Some { range with RightCol = token.RightColumn }, rest - | _, Some range -> None, Some range, tokens - | _ -> None, None, rest - | _ -> - match token.ColorClass, stringRange with - | FSharpTokenColorKind.String, None -> Some (Range.Create token.LeftColumn token.RightColumn), None, rest - | FSharpTokenColorKind.String, Some range -> Some { range with RightCol = token.RightColumn }, None, rest - | _, Some range -> None, Some range, tokens - | _ -> None, None, rest - - match stringRange, completedStringRange with - | None, None -> - // Update the current identifier island (long identifier e.g. Collections.List.map) - let island = - match token.TokenName with - | "DOT" -> island // keep what we have found so far - | "IDENT" -> processDoubleBackticks body::island // add current identifier - | _ -> [] // drop everything - not in island + // Create keys for query tooltips for double-backtick identifiers + let processDoubleBackticks (body : string) = + if body.StartsWith "``" then + sprintf "( %s )" <| body.Trim '`' + else body + + let categoryToTokenKind = function + | SemanticClassificationType.Enumeration -> Some TokenKind.Enumeration + | SemanticClassificationType.Function -> Some TokenKind.Function + | SemanticClassificationType.Interface -> Some TokenKind.Interface + | SemanticClassificationType.Module -> Some TokenKind.Module + | SemanticClassificationType.MutableVar -> Some TokenKind.MutableVar + | SemanticClassificationType.Printf -> Some TokenKind.Printf + | SemanticClassificationType.Property -> Some TokenKind.Property + | SemanticClassificationType.ReferenceType -> Some TokenKind.ReferenceType + | SemanticClassificationType.UnionCase -> Some TokenKind.UnionCase + | SemanticClassificationType.ValueType -> Some TokenKind.ValueType + | SemanticClassificationType.Disposable -> Some TokenKind.Disposable + | SemanticClassificationType.ComputationExpression -> Some TokenKind.Keyword + | SemanticClassificationType.TypeArgument -> Some TokenKind.TypeArgument + | SemanticClassificationType.Operator -> Some TokenKind.Operator + | SemanticClassificationType.IntrinsicFunction -> Some TokenKind.Keyword + + + // Processes a single line of the snippet + let processSnippetLine (checkResults: FSharpCheckFileResults) (semanticRanges: (Range.range * SemanticClassificationType)[]) + (lines: string[]) (line: int, lineTokens: SnippetLine) = + let lineStr = lines.[line] + + // Recursive processing of tokens on the line (keeps a long identifier 'island') + let rec loop island (tokens: SnippetLine) (stringRange: Range option) = seq { + match tokens with + | [] -> () + | (body, token)::rest when token.ColorClass = FSharpTokenColorKind.Keyword -> + yield FSharp.CodeFormat.Token (TokenKind.Keyword, body, None) + yield! loop [] rest None + | (body, token) :: rest -> + let stringRange, completedStringRange, rest = + match rest with + // it's the last token in the string + | [] -> + match token.ColorClass, stringRange with + | FSharpTokenColorKind.String, None -> + None, Some (Range.Create token.LeftColumn token.RightColumn), rest + | FSharpTokenColorKind.String, Some range -> + None, Some { range with RightCol = token.RightColumn }, rest + | _, Some range -> None, Some range, tokens + | _ -> None, None, rest + | _ -> + match token.ColorClass, stringRange with + | FSharpTokenColorKind.String, None -> + Some (Range.Create token.LeftColumn token.RightColumn), None, rest + | FSharpTokenColorKind.String, Some range -> + Some { range with RightCol = token.RightColumn }, None, rest + | _, Some range -> None, Some range, tokens + | _ -> None, None, rest + + match stringRange, completedStringRange with + | None, None -> + // Update the current identifier island (long identifier e.g. Collections.List.map) + let island = + match token.TokenName with + | "DOT" -> island // keep what we have found so far + | "IDENT" -> processDoubleBackticks body::island // add current identifier + | _ -> [] // drop everything - not in island + // Find tootltip using F# compiler service & the identifier island + let tip = + // If we're processing an identfier, see if it has any tool tip + if (token.TokenName = "IDENT") then + let island = List.rev island + let tip = checkResults.GetToolTipTextAlternate(line + 1, token.LeftColumn + 1, lines.[line], island,FSharpTokenTag.IDENT) + match Async.RunSynchronously tip |> fun (tooltip) -> + //tooltip. + ToolTipReader.tryFormatTip tooltip with + | Some(_) as res -> res + | _ -> None + else None - // Find tootltip using F# compiler service & the identifier island - let tip = - // If we're processing an identfier, see if it has any tool tip - if (token.TokenName = "IDENT") then - let island = List.rev island - let tip = checkResults.GetIdentTooltip(line + 1, token.LeftColumn + 1, lines.[line], island) - match Async.RunSynchronously tip |> Option.bind ToolTipReader.tryFormatTip with - | Some(_) as res -> res - | _ when island.Length > 1 -> - // Try to find some information about the last part of the identifier - let tip = checkResults.GetIdentTooltip(line + 1, token.LeftColumn + 2, lines.[line], [ processDoubleBackticks body ]) - Async.RunSynchronously tip |> Option.bind ToolTipReader.tryFormatTip - | _ -> None - else None - - if token.TokenName.StartsWith("OMIT") then - // Special OMIT tag - add tool tip stored in token name - // (The text immediately follows the keyword "OMIT") - yield Omitted(body, token.TokenName.Substring(4)) - elif token.TokenName = "FSI" then - // F# Interactive output - return as Output token - yield Output(body) - else - match tip with - | Some (Literal msg::_) when msg.StartsWith("custom operation:") -> - // If the tool-tip says this is a custom operation, then - // we want to treat it as keyword (not sure if there is a better - // way to detect this, but Visual Studio also colors these later) - yield Token(TokenKind.Keyword, body, tip) - | _ -> - let kind = - spans - |> List.tryFind (fun span -> span.WordSpan.StartCol = token.LeftColumn) - |> Option.bind (fun span -> categoryToTokenKind span.Category) - |> Option.getOrElse (Helpers.getTokenKind token.ColorClass) - yield Token (kind, body, tip) - // Process the rest of the line - yield! loop island rest stringRange - - | Some _, None -> yield! loop island rest stringRange - - | _, Some { LeftCol = strLeftCol; RightCol = strRightCol } -> - let printfOrEscapedSpans = - spans - |> List.filter (fun span -> - (span.Category = Category.Escaped || span.Category = Category.Printf) && - span.WordSpan.StartCol >= strLeftCol && - span.WordSpan.EndCol <= strRightCol) - - match printfOrEscapedSpans with - | [] -> yield Token (TokenKind.String, lineStr.[strLeftCol..strRightCol], None) - | spans -> - let data = - spans - |> List.fold (fun points span -> - points - |> Set.add span.WordSpan.StartCol - |> Set.add (span.WordSpan.EndCol - 1)) Set.empty - |> Set.add (strLeftCol - 1) - |> Set.add (strRightCol + 1) - |> Set.toSeq - |> Seq.pairwise - |> Seq.map (fun (leftPoint, rightPoint) -> - printfOrEscapedSpans - |> List.tryFind (fun span -> span.WordSpan.StartCol = leftPoint) - |> Option.bind (fun span -> - categoryToTokenKind span.Category - |> Option.map (fun kind -> span.WordSpan.StartCol, span.WordSpan.EndCol, kind)) - |> Option.getOrElse (leftPoint+1, rightPoint, TokenKind.String)) + if token.TokenName.StartsWith("OMIT") then + // Special OMIT tag - add tool tip stored in token name + // (The text immediately follows the keyword "OMIT") + yield Omitted(body, token.TokenName.Substring(4)) + elif token.TokenName = "FSI" then + // F# Interactive output - return as Output token + yield Output(body) + else + match tip with + | Some (Literal msg::_) when msg.StartsWith("custom operation:") -> + // If the tool-tip says this is a custom operation, then + // we want to treat it as keyword (not sure if there is a better + // way to detect this, but Visual Studio also colors these later) + yield FSharp.CodeFormat.Token(TokenKind.Keyword, body, tip) + | _ -> + let kind = + semanticRanges + |> Array.tryFind (fun (range,_) -> range.StartColumn = token.LeftColumn) + |> Option.bind (fun (_,category) -> categoryToTokenKind category) + |> Option.defaultValue (Helpers.getTokenKind token.ColorClass) + yield FSharp.CodeFormat.Token (kind, body, tip) + // Process the rest of the line + yield! loop island rest stringRange + | Some _x, None -> yield! loop island rest stringRange + + | _x, Some { LeftCol = strLeftCol; RightCol = strRightCol } -> + let printfOrEscapedSpans = + semanticRanges + |> Array.filter (fun (range,category) -> + (category = SemanticClassificationType.Printf) && + range.StartColumn >= strLeftCol && + range.EndColumn <= strRightCol) + + match printfOrEscapedSpans with + | [||] -> yield FSharp.CodeFormat.Token (TokenKind.String, lineStr.[strLeftCol..strRightCol], None) + | spans -> + let data = + spans + |> Array.fold (fun points (range,category) -> + points + |> Set.add range.StartColumn + |> Set.add (range.EndColumn - 1)) Set.empty + |> Set.add (strLeftCol - 1) + |> Set.add (strRightCol + 1) + |> Set.toSeq + |> Seq.pairwise + |> Seq.map (fun (leftPoint, rightPoint) -> + printfOrEscapedSpans + |> Array.tryFind (fun (range,category) -> range.StartColumn = leftPoint) + |> Option.bind (fun (range,category)-> + categoryToTokenKind category + |> Option.map (fun kind -> range.StartColumn, range.EndColumn, kind)) + |> Option.defaultValue (leftPoint+1, rightPoint, TokenKind.String)) - for leftPoint, rightPoint, kind in data do - yield Token (kind, lineStr.[leftPoint..rightPoint-1], None) - // Process the rest of the line - yield! loop island rest stringRange } - - // Process the current line & return info about it - Line (loop [] (List.ofSeq lineTokens) None |> List.ofSeq) - - /// Process snippet - let processSnippet checkResults categorizedSpans lines (snippet: Snippet) = - snippet - |> List.map (fun snippetLine -> - processSnippetLine - checkResults - (categorizedSpans - |> Map.tryFind ((fst snippetLine).StartLine + 1) - |> function None -> [] | Some spans -> List.ofSeq spans) - lines - ((fst snippetLine).StartLine, snd snippetLine)) - -// -------------------------------------------------------------------------------------- - - // Create an instance of an InteractiveChecker (which does background analysis - // in a typical IntelliSense editor integration for F#) - let languageService = LanguageService() - do languageService.SetCriticalErrorHandler(fun exn str1 str2 opts -> - FSharp.Formatting.Common.Log.errorf "Language Service Error (%s, %s, %A): %O" str1 str2 opts exn) - - /// Type-checking takes some time and doesn't return information on the - /// first call, so this function creates workflow that tries repeatedly - let getTypeCheckInfo(file, source, opts) = async { - let! checkResults = languageService.ParseAndCheckFileInProject(opts, file, source, AllowStaleResults.No) - let! symbolUses = languageService.GetAllUsesOfAllSymbolsInFile (opts, file, source, AllowStaleResults.No, false, new Profiler()) - return checkResults, symbolUses - } - - // ------------------------------------------------------------------------------------ - - let processSourceCode (file, source, options, defines) = async { - - // Read the source code into an array of lines - use reader = new StringReader(source) - let sourceLines = - [| let line = ref "" - while (line := reader.ReadLine(); line.Value <> null) do - yield line.Value |] - - // Get options for a standalone script file (this adds some - // default references and doesn't require full project information) - let! opts = languageService.RawChecker.GetProjectOptionsFromScript(file, source, DateTime.Now) + for leftPoint, rightPoint, kind in data do + yield FSharp.CodeFormat.Token (kind, lineStr.[leftPoint..rightPoint-1], None) + // Process the rest of the line + yield! loop island rest stringRange + } + + // Process the current line & return info about it + Line (loop [] (List.ofSeq lineTokens) None |> List.ofSeq) + + /// Process snippet + let processSnippet checkResults categorizedRanges lines (snippet: Snippet) = + snippet + |> List.map (fun snippetLine -> + + processSnippetLine + checkResults + (categorizedRanges + |> Map.tryFind ((fst snippetLine).StartLine + 1) + |> function None -> [||] | Some spans -> Array.ofSeq spans) + lines + ((fst snippetLine).StartLine, snd snippetLine)) + + // -------------------------------------------------------------------------------------- + + // Create an instance of an InteractiveChecker (which does background analysis + // in a typical IntelliSense editor integration for F#) + let fsChecker = FSharpChecker.Create() + + + // ------------------------------------------------------------------------------------ + + let processSourceCode (filePath, source, options, defines) = asyncMaybe { + + // Read the source code into an array of lines + use reader = new StringReader(source) + let sourceLines = [| + let line = ref "" + while (line := reader.ReadLine(); line.Value <> null) do + yield line.Value + |] + // Get options for a standalone script file (this adds some + // default references and doesn't require full project information) + let! (opts,_errors) = fsChecker.GetProjectOptionsFromScript(filePath, source, DateTime.Now) |> liftAsync - // Override default options if the user specified something - let opts = - match options with - | Some(str:string) when not(String.IsNullOrEmpty(str)) -> - { opts with OtherOptions = Helpers.parseOptions str } - | _ -> opts - - // Run the second phase - perform type checking - let checkResults, symbolUses = getTypeCheckInfo(file, source, opts) |> Async.RunSynchronously - let errors = checkResults.Errors - - let lexer = - { new LexerBase() with - member __.GetSymbolFromTokensAtLocation (_, line, col) = - let lineStr = sourceLines.[line] - Lexer.getSymbol source line col lineStr SymbolLookupKind.ByRightColumn opts.OtherOptions Lexer.queryLexState - member __.TokenizeLine line = - let lineStr = sourceLines.[line] - Lexer.tokenizeLine source opts.OtherOptions line lineStr Lexer.queryLexState - member __.LineCount = sourceLines.Length } - - let categorizedSpans = - SourceCodeClassifier.getCategoriesAndLocations( - symbolUses, checkResults, lexer, (fun line -> sourceLines.[line]), [], None) - |> Seq.groupBy (fun span -> span.WordSpan.Line) - |> Map.ofSeq - - /// Parse source file into a list of lines consisting of tokens - let tokens = Helpers.getTokens file defines sourceLines - - // -------------------------------------------------------------------------------- - // When type-checking completes and we have a parsed file (as tokens), we can - // put the information together - this processes tokens and adds information such - // as color and tool tips (for identifiers) + // Override default options if the user specified something + let opts = + match options with + | Some(str:string) when not(System.String.IsNullOrEmpty(str)) -> + { opts with OtherOptions = Helpers.parseOptions str } + | _ -> opts + + // Run the second phase - perform type checking + let! _parseResults, parsedInput, checkResults = fsChecker.ParseAndCheckDocument(filePath, source,opts,false) + let! symbolUses = checkResults.GetAllUsesOfAllSymbolsInFile () |> liftAsync + let errors = checkResults.Errors + let classifications = + checkResults.GetSemanticClassification (Some parsedInput.Range) + |> Seq.groupBy (fun (r,c) -> r.StartLine) + |> Map.ofSeq + + + /// Parse source file into a list of lines consisting of tokens + let tokens = Helpers.getTokens (Some filePath) defines sourceLines + + // -------------------------------------------------------------------------------- + // When type-checking completes and we have a parsed file (as tokens), we can + // put the information together - this processes tokens and adds information such + // as color and tool tips (for identifiers) - // Process "omit" meta-comments in the source - let source = shrinkOmittedParts tokens |> List.ofSeq - - // Split source into snippets if it contains meta-comments - let snippets : NamedSnippet list = - match getSnippets None [] source sourceLines with - | [] -> [null, source] - | snippets -> snippets |> List.rev - - // Generate a list of snippets - let parsedSnippets = - snippets |> List.map (fun (title, lines) -> - if lines.Length = 0 then - // Skip empty snippets - Snippet(title, []) - else - // Process the current snippet - let parsed = processSnippet checkResults categorizedSpans sourceLines lines - - // Remove additional whitespace from start of lines - let spaces = Helpers.countStartingSpaces lines - let parsed = parsed |> List.map (function - | Line ((Token(kind, body, tip))::rest) -> - let body = body.Substring(spaces) - Line ((Token(kind, body, tip))::rest) - | line -> line) - - // Return parsed snippet as 'Snippet' value - Snippet(title, parsed)) + // Process "omit" meta-comments in the source + let source = shrinkOmittedParts tokens |> List.ofSeq + + // Split source into snippets if it contains meta-comments + let snippets : NamedSnippet list = + match getSnippets None [] source sourceLines with + | [] -> [null, source] + | snippets -> snippets |> List.rev + + // Generate a list of snippets + let parsedSnippets = + snippets |> List.map (fun (title, lines) -> + if lines.Length = 0 then + // Skip empty snippets + Snippet(title, []) + else + // Process the current snippet + let parsed = processSnippet checkResults classifications sourceLines lines + + // Remove additional whitespace from start of lines + let spaces = Helpers.countStartingSpaces lines + let parsed = parsed |> List.map (function + | Line ((Token(kind, body, tip))::rest) -> + let body = body.Substring(spaces) + Line ((Token(kind, body, tip))::rest) + | line -> line + ) + // Return parsed snippet as 'Snippet' value + Snippet(title, parsed) + ) - let sourceErrors = - [| for errInfo in errors do - if errInfo.Message <> "Multiple references to 'mscorlib.dll' are not permitted" then - yield - SourceError - ( (errInfo.StartLineAlternate - 1, errInfo.StartColumn), (errInfo.EndLineAlternate - 1, errInfo.EndColumn), - (if errInfo.Severity = FSharpErrorSeverity.Error then ErrorKind.Error else ErrorKind.Warning), - errInfo.Message ) |] - return parsedSnippets, sourceErrors - } + let sourceErrors = [| + for errInfo in errors do + if errInfo.Message <> "Multiple references to 'mscorlib.dll' are not permitted" then + yield SourceError( + (errInfo.StartLineAlternate - 1, errInfo.StartColumn), + (errInfo.EndLineAlternate - 1, errInfo.EndColumn), + (if errInfo.Severity = FSharpErrorSeverity.Error then ErrorKind.Error else ErrorKind.Warning), + errInfo.Message + ) + |] + return parsedSnippets, sourceErrors + } - // ------------------------------------------------------------------------------------ - // Agent that implements the parsing & formatting + // ------------------------------------------------------------------------------------ + // Agent that implements the parsing & formatting - let agent = MailboxProcessor.Start(fun agent -> async { - while true do - // Receive parameters for the next parsing request - let! request, (chnl:AsyncReplyChannel<_>) = agent.Receive() - try - let! res, errs = processSourceCode request - chnl.Reply(Choice1Of2(res |> Array.ofList, errs)) - with e -> - chnl.Reply(Choice2Of2(e)) // new Exception(Utilities.formatException e, e))) - }) - - /// Parse the source code specified by 'source', assuming that it - /// is located in a specified 'file'. Optional arguments can be used - /// to give compiler command line options and preprocessor definitions - member __.AsyncParseSource(file, source, ?options, ?defines) = async { - let! res = agent.PostAndAsyncReply(fun chnl -> (file, source, options, defines), chnl) - match res with - | Choice1Of2 res -> return res - | Choice2Of2 exn -> return raise exn } - - /// Parse the source code specified by 'source', assuming that it - /// is located in a specified 'file'. Optional arguments can be used - /// to give compiler command line options and preprocessor definitions - member x.ParseSourceAsync(file, source, options, defines) = - x.AsyncParseSource(file, source, options, defines) - |> Async.StartAsTask - - /// Parse the source code specified by 'source', assuming that it - /// is located in a specified 'file'. Optional arguments can be used - /// to give compiler command line options and preprocessor definitions - member __.ParseSource(file, source, ?options, ?defines) = - let res = agent.PostAndReply(fun chnl -> (file, source, options, defines), chnl) - match res with - | Choice1Of2 res -> res - | Choice2Of2 exn -> raise exn + let agent = MailboxProcessor.Start (fun agent -> async { + while true do + // Receive parameters for the next parsing request + let! request, (chnl:AsyncReplyChannel<_>) = agent.Receive() + try + let! result = processSourceCode request + match result with + | Some (res,errs) -> + chnl.Reply(Choice1Of2(res |> Array.ofList, errs)) + | None -> + chnl.Reply(Choice2Of2(exn "No result from source code processing")) // new Exception(Utilities.formatException e, e))) + with e -> + chnl.Reply(Choice2Of2(e)) // new Exception(Utilities.formatException e, e))) + }) + + /// Parse the source code specified by 'source', assuming that it + /// is located in a specified 'file'. Optional arguments can be used + /// to give compiler command line options and preprocessor definitions + member __.AsyncParseSource(file, source, ?options, ?defines) = async { + let! res = agent.PostAndAsyncReply(fun chnl -> (file, source, options, defines), chnl) + match res with + | Choice1Of2 res -> return res + | Choice2Of2 exn -> return raise exn } + + /// Parse the source code specified by 'source', assuming that it + /// is located in a specified 'file'. Optional arguments can be used + /// to give compiler command line options and preprocessor definitions + member x.ParseSourceAsync(file, source, options, defines) = + x.AsyncParseSource(file, source, options, defines) + |> Async.StartAsTask + + /// Parse the source code specified by 'source', assuming that it + /// is located in a specified 'file'. Optional arguments can be used + /// to give compiler command line options and preprocessor definitions + member __.ParseSource(file, source, ?options, ?defines) = + let res = agent.PostAndReply(fun chnl -> (file, source, options, defines), chnl) + match res with + | Choice1Of2 res -> res + | Choice2Of2 exn -> raise exn diff --git a/src/FSharp.CodeFormat/Constants.fs b/src/FSharp.CodeFormat/Constants.fs new file mode 100644 index 000000000..ee85aa045 --- /dev/null +++ b/src/FSharp.CodeFormat/Constants.fs @@ -0,0 +1,30 @@ +module FSharp.CodeFormat.Constants + +[] +module CSS = + + let [] Comment = "c" + let [] Default = "" + let [] Identifier = "id" + let [] Inactive = "inactive" + let [] Keyword = "k" + let [] Number = "n" + let [] Operator = "o" + let [] Preprocessor = "pp" + let [] String = "s" + let [] Module = "m" + let [] ReferenceType = "rt" + let [] ValueType = "vt" + let [] Function = "fn" + let [] Pattern = "pat" + let [] MutableVar = "mv" + let [] Printf = "pf" + let [] Escaped = "esc" + let [] Disposable = "d" + let [] TypeArgument = "ta" + let [] Punctuation = "pn" + let [] Enumeration = "en" + let [] Interface = "if" + let [] Property = "prop" + let [] UnionCase = "uc" + diff --git a/src/FSharp.CodeFormat/FSharp.CodeFormat.fsproj b/src/FSharp.CodeFormat/FSharp.CodeFormat.fsproj index af1069bba..01f75a10a 100644 --- a/src/FSharp.CodeFormat/FSharp.CodeFormat.fsproj +++ b/src/FSharp.CodeFormat/FSharp.CodeFormat.fsproj @@ -3,23 +3,18 @@ Debug AnyCPU - 8.0.30703 - 2.0 {341ebf32-d470-4c55-99e9-55f14f7ffbb1} Library FSharp.CodeFormat FSharp.CodeFormat - v4.5 - - + v4.6.1 FSharp.CodeFormat ..\..\ - true - 4.4.0.0 + 4.4.1.0 true - full + portable false false ..\..\bin\ @@ -29,7 +24,7 @@ AnyCPU - pdbonly + portable true true ..\..\bin\ @@ -43,6 +38,11 @@ 11 + + + $(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\4.1\Framework\v4.0\Microsoft.FSharp.Targets + + $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\FSharp\Microsoft.FSharp.Targets @@ -65,12 +65,8 @@ - - - - - + Common\AssemblyInfo.fs @@ -80,6 +76,8 @@ Common\StringParsing.fs + + @@ -87,7 +85,6 @@ - @@ -112,19 +109,24 @@ --> - + - ..\..\packages\FSharp.Compiler.Service\lib\net40\FSharp.Compiler.Service.dll + ..\..\packages\FSharp.Compiler.Service\lib\net45\FSharp.Compiler.Service.dll + True + True + + + ..\..\packages\FSharp.Compiler.Service\lib\net45\FSharp.Compiler.Service.MSBuild.v12.dll True True - + - ..\..\packages\FSharp.Compiler.Service\lib\net45\FSharp.Compiler.Service.dll + ..\..\packages\FSharp.Compiler.Service\lib\netstandard1.6\FSharp.Compiler.Service.dll True True @@ -141,7 +143,7 @@ - + ..\..\packages\FSharp.Core\lib\net40\FSharp.Core.dll @@ -150,6 +152,24 @@ + + + + ..\..\packages\FSharp.Core\lib\net45\FSharp.Core.dll + True + True + + + + + + + ..\..\packages\FSharp.Core\lib\netstandard1.6\FSharp.Core.dll + True + True + + + @@ -159,7 +179,7 @@ - + ..\..\packages\FSharp.Core\lib\portable-net45+netcore45\FSharp.Core.dll @@ -197,10 +217,1220 @@ - + + + + ..\..\packages\Microsoft.DiaSymReader\lib\netstandard1.1\Microsoft.DiaSymReader.dll + True + True + + + + + + + + + ..\..\packages\Microsoft.DiaSymReader.PortablePdb\lib\netstandard1.1\Microsoft.DiaSymReader.PortablePdb.dll + True + True + + + + + + + + + True + + + ..\..\packages\Microsoft.Win32.Primitives\lib\net46\Microsoft.Win32.Primitives.dll + True + True + + + + + + + ..\..\packages\Microsoft.Win32.Primitives\ref\netstandard1.3\Microsoft.Win32.Primitives.dll + False + True + + + + + + + + + ..\..\packages\Microsoft.Win32.Registry\ref\netstandard1.3\Microsoft.Win32.Registry.dll + False + True + + + + + + + + + ..\..\packages\System.AppContext\lib\net463\System.AppContext.dll + True + True + + + + + + + ..\..\packages\System.AppContext\lib\netstandard1.6\System.AppContext.dll + True + True + + + + + + + + + ..\..\packages\System.Buffers\lib\netstandard1.1\System.Buffers.dll + True + True + + + + + + + + + ..\..\packages\System.Collections\ref\netstandard1.0\System.Collections.dll + False + True + + + + + + + ..\..\packages\System.Collections\ref\netstandard1.3\System.Collections.dll + False + True + + + + + + + + + ..\..\packages\System.Collections.Concurrent\lib\netstandard1.3\System.Collections.Concurrent.dll + True + True + + + + + + + + + ..\..\packages\System.Collections.Immutable\lib\netstandard1.0\System.Collections.Immutable.dll + True + True + + + + + + + + + ..\..\packages\System.Console\lib\net46\System.Console.dll + True + True + + + + + + + ..\..\packages\System.Console\ref\netstandard1.3\System.Console.dll + False + True + + + + + + + + + ..\..\packages\System.Diagnostics.Debug\ref\netstandard1.0\System.Diagnostics.Debug.dll + False + True + + + + + + + ..\..\packages\System.Diagnostics.Debug\ref\netstandard1.3\System.Diagnostics.Debug.dll + False + True + + + + + + + + + ..\..\packages\System.Diagnostics.DiagnosticSource\lib\net46\System.Diagnostics.DiagnosticSource.dll + True + True + + + + + + + ..\..\packages\System.Diagnostics.DiagnosticSource\lib\netstandard1.3\System.Diagnostics.DiagnosticSource.dll + True + True + + + + + + + + + ..\..\packages\System.Diagnostics.Process\ref\netstandard1.4\System.Diagnostics.Process.dll + False + True + + + + + + + + + ..\..\packages\System.Diagnostics.TraceSource\ref\netstandard1.3\System.Diagnostics.TraceSource.dll + False + True + + + + + + + + + True + + + + + + + + + ..\..\packages\System.Diagnostics.Tracing\lib\net462\System.Diagnostics.Tracing.dll + True + True + + + + + + + ..\..\packages\System.Diagnostics.Tracing\ref\netstandard1.3\System.Diagnostics.Tracing.dll + False + True + + + + + + + ..\..\packages\System.Diagnostics.Tracing\ref\netstandard1.5\System.Diagnostics.Tracing.dll + False + True + + + + + + + + + ..\..\packages\System.Globalization\ref\netstandard1.0\System.Globalization.dll + False + True + + + + + + + ..\..\packages\System.Globalization\ref\netstandard1.3\System.Globalization.dll + False + True + + + + + + + + + ..\..\packages\System.Globalization.Calendars\lib\net46\System.Globalization.Calendars.dll + True + True + + + + + + + ..\..\packages\System.Globalization.Calendars\ref\netstandard1.3\System.Globalization.Calendars.dll + False + True + + + + + + + + + ..\..\packages\System.Globalization.Extensions\lib\net46\System.Globalization.Extensions.dll + True + True + + + + + + + ..\..\packages\System.Globalization.Extensions\ref\netstandard1.3\System.Globalization.Extensions.dll + False + True + + + + + + + + + ..\..\packages\System.IO\lib\net462\System.IO.dll + True + True + + + + + + + ..\..\packages\System.IO\ref\netstandard1.0\System.IO.dll + False + True + + + + + + + ..\..\packages\System.IO\ref\netstandard1.3\System.IO.dll + False + True + + + + + + + ..\..\packages\System.IO\ref\netstandard1.5\System.IO.dll + False + True + + + + + + + + + True + + + + + + + + + True + + + + + + + ..\..\packages\System.IO.Compression\lib\net46\System.IO.Compression.dll + True + True + + + + + + + ..\..\packages\System.IO.Compression\ref\netstandard1.1\System.IO.Compression.dll + False + True + + + + + + + ..\..\packages\System.IO.Compression\ref\netstandard1.3\System.IO.Compression.dll + False + True + + + + + + + + + True + + + ..\..\packages\System.IO.Compression.ZipFile\lib\net46\System.IO.Compression.ZipFile.dll + True + True + + + + + + + ..\..\packages\System.IO.Compression.ZipFile\lib\netstandard1.3\System.IO.Compression.ZipFile.dll + True + True + + + + + + + + + ..\..\packages\System.IO.FileSystem\lib\net46\System.IO.FileSystem.dll + True + True + + + + + + + ..\..\packages\System.IO.FileSystem\ref\netstandard1.3\System.IO.FileSystem.dll + False + True + + + + + + + + + ..\..\packages\System.IO.FileSystem.Primitives\lib\net46\System.IO.FileSystem.Primitives.dll + True + True + + + + + + + ..\..\packages\System.IO.FileSystem.Primitives\lib\netstandard1.3\System.IO.FileSystem.Primitives.dll + True + True + + + + + + + + + ..\..\packages\System.Linq\lib\net463\System.Linq.dll + True + True + + + + + + + ..\..\packages\System.Linq\lib\netstandard1.6\System.Linq.dll + True + True + + + + + + + + + ..\..\packages\System.Linq.Expressions\lib\net463\System.Linq.Expressions.dll + True + True + + + + + + + ..\..\packages\System.Linq.Expressions\lib\netstandard1.6\System.Linq.Expressions.dll + True + True + + + + + + + + + ..\..\packages\System.Linq.Queryable\lib\netstandard1.3\System.Linq.Queryable.dll + True + True + + + + + + + + + ..\..\packages\System.Net.Http\lib\net46\System.Net.Http.dll + True + True + + + + + + + ..\..\packages\System.Net.Http\ref\netstandard1.3\System.Net.Http.dll + False + True + + + + + + + + + ..\..\packages\System.Net.Requests\ref\netstandard1.3\System.Net.Requests.dll + False + True + + + + + + + + + ..\..\packages\System.Net.Sockets\lib\net46\System.Net.Sockets.dll + True + True + + + + + + + ..\..\packages\System.Net.Sockets\ref\netstandard1.3\System.Net.Sockets.dll + False + True + + + + + + + + + ..\..\packages\System.Net.WebHeaderCollection\lib\netstandard1.3\System.Net.WebHeaderCollection.dll + True + True + + + + + + + + + ..\..\packages\System.ObjectModel\lib\netstandard1.3\System.ObjectModel.dll + True + True + + + + + + + + + ..\..\packages\System.Reflection\lib\net462\System.Reflection.dll + True + True + + + + + + + ..\..\packages\System.Reflection\ref\netstandard1.0\System.Reflection.dll + False + True + + + + + + + ..\..\packages\System.Reflection\ref\netstandard1.3\System.Reflection.dll + False + True + + + + + + + ..\..\packages\System.Reflection\ref\netstandard1.5\System.Reflection.dll + False + True + + + + + + + + + ..\..\packages\System.Reflection.Emit\lib\netstandard1.3\System.Reflection.Emit.dll + True + True + + + + + + + + + ..\..\packages\System.Reflection.Emit.ILGeneration\lib\netstandard1.3\System.Reflection.Emit.ILGeneration.dll + True + True + + + + + + + + + ..\..\packages\System.Reflection.Emit.Lightweight\lib\netstandard1.3\System.Reflection.Emit.Lightweight.dll + True + True + + + + + + + + + ..\..\packages\System.Reflection.Metadata\lib\netstandard1.1\System.Reflection.Metadata.dll + True + True + + + + + + + + + ..\..\packages\System.Reflection.TypeExtensions\lib\net462\System.Reflection.TypeExtensions.dll + True + True + + + + + + + ..\..\packages\System.Reflection.TypeExtensions\lib\netstandard1.5\System.Reflection.TypeExtensions.dll + True + True + + + + + + + + + True + + + + + + + True + + + ..\..\packages\System.Runtime\lib\net462\System.Runtime.dll + True + True + + + + + + + ..\..\packages\System.Runtime\ref\netstandard1.0\System.Runtime.dll + False + True + + + + + + + ..\..\packages\System.Runtime\ref\netstandard1.2\System.Runtime.dll + False + True + + + + + + + ..\..\packages\System.Runtime\ref\netstandard1.3\System.Runtime.dll + False + True + + + + + + + ..\..\packages\System.Runtime\ref\netstandard1.5\System.Runtime.dll + False + True + + + + + + + + + ..\..\packages\System.Runtime.Extensions\lib\net462\System.Runtime.Extensions.dll + True + True + + + + + + + ..\..\packages\System.Runtime.Extensions\ref\netstandard1.0\System.Runtime.Extensions.dll + False + True + + + + + + + ..\..\packages\System.Runtime.Extensions\ref\netstandard1.3\System.Runtime.Extensions.dll + False + True + + + + + + + ..\..\packages\System.Runtime.Extensions\ref\netstandard1.5\System.Runtime.Extensions.dll + False + True + + + + + + + + + ..\..\packages\System.Runtime.Handles\ref\netstandard1.3\System.Runtime.Handles.dll + False + True + + + + + + + + + ..\..\packages\System.Runtime.InteropServices\lib\net462\System.Runtime.InteropServices.dll + True + True + + + + + + + ..\..\packages\System.Runtime.InteropServices\lib\net463\System.Runtime.InteropServices.dll + True + True + + + + + + + ..\..\packages\System.Runtime.InteropServices\ref\netstandard1.1\System.Runtime.InteropServices.dll + False + True + + + + + + + ..\..\packages\System.Runtime.InteropServices\ref\netstandard1.2\System.Runtime.InteropServices.dll + False + True + + + + + + + ..\..\packages\System.Runtime.InteropServices\ref\netstandard1.3\System.Runtime.InteropServices.dll + False + True + + + + + + + ..\..\packages\System.Runtime.InteropServices\ref\netstandard1.5\System.Runtime.InteropServices.dll + False + True + + + + + + + + + ..\..\packages\System.Runtime.InteropServices.RuntimeInformation\lib\net45\System.Runtime.InteropServices.RuntimeInformation.dll + True + True + + + + + + + ..\..\packages\System.Runtime.InteropServices.RuntimeInformation\lib\netstandard1.1\System.Runtime.InteropServices.RuntimeInformation.dll + True + True + + + + + + + ..\..\packages\System.Runtime.InteropServices.RuntimeInformation\ref\netstandard1.1\System.Runtime.InteropServices.RuntimeInformation.dll + False + True + + + + + + + + + ..\..\packages\System.Runtime.Loader\lib\netstandard1.5\System.Runtime.Loader.dll + True + True + + + + + + + + + ..\..\packages\System.Runtime.Numerics\lib\netstandard1.3\System.Runtime.Numerics.dll + True + True + + + + + + + + + ..\..\packages\System.Security.Cryptography.Algorithms\lib\net463\System.Security.Cryptography.Algorithms.dll + True + True + + + + + + + ..\..\packages\System.Security.Cryptography.Algorithms\ref\netstandard1.6\System.Security.Cryptography.Algorithms.dll + False + True + + + + + + + + + ..\..\packages\System.Security.Cryptography.Cng\lib\net463\System.Security.Cryptography.Cng.dll + True + True + + + + + + + ..\..\packages\System.Security.Cryptography.Cng\ref\netstandard1.6\System.Security.Cryptography.Cng.dll + False + True + + + + + + + + + ..\..\packages\System.Security.Cryptography.Csp\lib\net46\System.Security.Cryptography.Csp.dll + True + True + + + + + + + ..\..\packages\System.Security.Cryptography.Csp\ref\netstandard1.3\System.Security.Cryptography.Csp.dll + False + True + + + + + + + + + ..\..\packages\System.Security.Cryptography.Encoding\lib\net46\System.Security.Cryptography.Encoding.dll + True + True + + + + + + + ..\..\packages\System.Security.Cryptography.Encoding\ref\netstandard1.3\System.Security.Cryptography.Encoding.dll + False + True + + + + + + + + + ..\..\packages\System.Security.Cryptography.OpenSsl\lib\netstandard1.6\System.Security.Cryptography.OpenSsl.dll + True + True + + + + + + + + + ..\..\packages\System.Security.Cryptography.Primitives\lib\net46\System.Security.Cryptography.Primitives.dll + True + True + + + + + + + ..\..\packages\System.Security.Cryptography.Primitives\lib\netstandard1.3\System.Security.Cryptography.Primitives.dll + True + True + + + + + + + + + ..\..\packages\System.Security.Cryptography.X509Certificates\lib\net461\System.Security.Cryptography.X509Certificates.dll + True + True + + + + + + + ..\..\packages\System.Security.Cryptography.X509Certificates\ref\netstandard1.4\System.Security.Cryptography.X509Certificates.dll + False + True + + + + + + + + + ..\..\packages\System.Text.Encoding\ref\netstandard1.0\System.Text.Encoding.dll + False + True + + + + + + + ..\..\packages\System.Text.Encoding\ref\netstandard1.3\System.Text.Encoding.dll + False + True + + + + + + + + + ..\..\packages\System.Text.Encoding.Extensions\ref\netstandard1.0\System.Text.Encoding.Extensions.dll + False + True + + + + + + + ..\..\packages\System.Text.Encoding.Extensions\ref\netstandard1.3\System.Text.Encoding.Extensions.dll + False + True + + + + + + + + + ..\..\packages\System.Text.RegularExpressions\lib\net463\System.Text.RegularExpressions.dll + True + True + + + + + + + ..\..\packages\System.Text.RegularExpressions\lib\netstandard1.6\System.Text.RegularExpressions.dll + True + True + + + + + + + + + ..\..\packages\System.Threading\lib\netstandard1.3\System.Threading.dll + True + True + + + + + + + + + ..\..\packages\System.Threading.Tasks\ref\netstandard1.0\System.Threading.Tasks.dll + False + True + + + + + + + ..\..\packages\System.Threading.Tasks\ref\netstandard1.3\System.Threading.Tasks.dll + False + True + + + + + + + + + ..\..\packages\System.Threading.Tasks.Extensions\lib\netstandard1.0\System.Threading.Tasks.Extensions.dll + True + True + + + + + + + + + ..\..\packages\System.Threading.Tasks.Parallel\lib\netstandard1.3\System.Threading.Tasks.Parallel.dll + True + True + + + + + + + + + ..\..\packages\System.Threading.Thread\lib\netstandard1.3\System.Threading.Thread.dll + True + True + + + + + + + + + ..\..\packages\System.Threading.ThreadPool\lib\netstandard1.3\System.Threading.ThreadPool.dll + True + True + + + + + + + + + ..\..\packages\System.ValueTuple\lib\netstandard1.0\System.ValueTuple.dll + True + True + + + + + + + ..\..\packages\System.ValueTuple\lib\portable-net40+sl4+win8+wp8\System.ValueTuple.dll + True + True + + + + + + + + + True + + + ..\..\packages\System.Xml.ReaderWriter\lib\net46\System.Xml.ReaderWriter.dll + True + True + + + + + + + ..\..\packages\System.Xml.ReaderWriter\lib\netstandard1.3\System.Xml.ReaderWriter.dll + True + True + + + + + + + + + True + + + + - - ..\..\packages\FSharpVSPowerTools.Core\lib\net45\FSharpVSPowerTools.Core.dll + + ..\..\packages\System.Xml.XDocument\lib\netstandard1.3\System.Xml.XDocument.dll True True diff --git a/src/FSharp.CodeFormat/HtmlFormatting.fs b/src/FSharp.CodeFormat/HtmlFormatting.fs index 19a80697c..97572b8fc 100644 --- a/src/FSharp.CodeFormat/HtmlFormatting.fs +++ b/src/FSharp.CodeFormat/HtmlFormatting.fs @@ -11,6 +11,7 @@ open System.Web open System.Text open System.Collections.Generic open FSharp.CodeFormat +open FSharp.CodeFormat.Constants // -------------------------------------------------------------------------------------- // Context used by the formatter @@ -18,50 +19,55 @@ open FSharp.CodeFormat /// Mutable type that formats tool tips and keeps the generated HTML type ToolTipFormatter(prefix) = - let tips = new Dictionary() - let mutable count = 0 - let mutable uniqueId = 0 - - /// Formats tip and returns assignments for 'onmouseover' and 'onmouseout' - member x.FormatTip (tip:ToolTipSpans) overlapping formatFunction = - uniqueId <- uniqueId + 1 - let stringIndex = - match tips.TryGetValue(tip) with - | true, (idx, _) -> idx - | _ -> - count <- count + 1 - tips.Add(tip, (count, formatFunction tip)) - count - // stringIndex is the index of the tool tip - // uniqueId is globally unique id of the occurrence - if overlapping then - // The may contain other , so we need to - // get the element and check where the mouse goes... - String.Format - ( "id=\"{0}t{1}\" onmouseout=\"hideTip(event, '{0}{1}', {2})\" " + - "onmouseover=\"showTip(event, '{0}{1}', {2}, document.getElementById('{0}t{1}'))\" ", - prefix, stringIndex, uniqueId ) - else - String.Format - ( "onmouseout=\"hideTip(event, '{0}{1}', {2})\" " + - "onmouseover=\"showTip(event, '{0}{1}', {2})\" ", - prefix, stringIndex, uniqueId ) + let tips = new Dictionary() + let mutable count = 0 + let mutable uniqueId = 0 + + /// Formats tip and returns assignments for 'onmouseover' and 'onmouseout' + member x.FormatTip (tip:ToolTipSpans) overlapping formatFunction = + uniqueId <- uniqueId + 1 + let stringIndex = + match tips.TryGetValue(tip) with + | true, (idx, _) -> idx + | _ -> + count <- count + 1 + tips.Add(tip, (count, formatFunction tip)) + count + // stringIndex is the index of the tool tip + // uniqueId is globally unique id of the occurrence + if overlapping then + // The may contain other , so we need to + // get the element and check where the mouse goes... + String.Format( + "id=\"{0}t{1}\" onmouseout=\"hideTip(event, '{0}{1}', {2})\" " + + "onmouseover=\"showTip(event, '{0}{1}', {2}, document.getElementById('{0}t{1}'))\" ", + prefix, stringIndex, uniqueId + ) + else + String.Format( + "onmouseout=\"hideTip(event, '{0}{1}', {2})\" " + + "onmouseover=\"showTip(event, '{0}{1}', {2})\" ", + prefix, stringIndex, uniqueId + ) - /// Returns all generated tool tip elements - member x.WriteTipElements (writer:TextWriter) = - for (KeyValue(_, (index, html))) in tips do - writer.WriteLine(sprintf "
%s
" prefix index html) + + /// Returns all generated tool tip elements + member x.WriteTipElements (writer:TextWriter) = + for (KeyValue(_, (index, html))) in tips do + writer.WriteLine(sprintf "
%s
" prefix index html) + /// Represents context used by the formatter -type FormattingContext = - { AddLines : bool +type FormattingContext = { + AddLines : bool GenerateErrors : bool - Writer : TextWriter - OpenTag : string - CloseTag : string - OpenLinesTag : string - CloseLinesTag : string - FormatTip : ToolTipSpans -> bool -> (ToolTipSpans -> string) -> string } + Writer : TextWriter + OpenTag : string + CloseTag : string + OpenLinesTag : string + CloseLinesTag : string + FormatTip : ToolTipSpans -> bool -> (ToolTipSpans -> string) -> string +} // -------------------------------------------------------------------------------------- // Formats various types from 'SourceCode.fs' as HTML @@ -115,39 +121,48 @@ let rec formatTokenSpans (ctx:FormattingContext) = List.iter (function ctx.Writer.Write("
") | Token(kind, body, tip) -> - // Generate additional attributes for ToolTip - let tipAttributes = + // Generate additional attributes for ToolTip + let tipAttributes = match tip with | Some(tip) -> ctx.FormatTip tip false formatToolTipSpans | _ -> "" - // Get CSS class name of the token - let color = + // Get CSS class name of the token + let color = match kind with - | TokenKind.Comment -> "c" - | TokenKind.Default -> "" - | TokenKind.Identifier -> "i" - | TokenKind.Inactive -> "inactive" - | TokenKind.Keyword -> "k" - | TokenKind.Number -> "n" - | TokenKind.Operator -> "o" - | TokenKind.Preprocessor -> "prep" - | TokenKind.String -> "s" - | TokenKind.TypeOrModule -> "t" - | TokenKind.Function -> "f" - | TokenKind.Pattern -> "p" - | TokenKind.MutableVar -> "v" - | TokenKind.Printf -> "pf" - | TokenKind.Escaped -> "e" - - if kind <> TokenKind.Default then + | TokenKind.Comment -> CSS.Comment + | TokenKind.Default -> CSS.Default + | TokenKind.Identifier -> CSS.Identifier + | TokenKind.Inactive -> CSS.Inactive + | TokenKind.Keyword -> CSS.Keyword + | TokenKind.Number -> CSS.Number + | TokenKind.Operator -> CSS.Operator + | TokenKind.Preprocessor -> CSS.Preprocessor + | TokenKind.String -> CSS.String + | TokenKind.Module -> CSS.Module + | TokenKind.ReferenceType -> CSS.ReferenceType + | TokenKind.ValueType -> CSS.ValueType + | TokenKind.Function -> CSS.Function + | TokenKind.Pattern -> CSS.Pattern + | TokenKind.MutableVar -> CSS.MutableVar + | TokenKind.Printf -> CSS.Printf + | TokenKind.Escaped -> CSS.Escaped + | TokenKind.Disposable -> CSS.Disposable + | TokenKind.TypeArgument -> CSS.TypeArgument + | TokenKind.Punctuation -> CSS.Punctuation + | TokenKind.Enumeration -> CSS.Enumeration + | TokenKind.Interface -> CSS.Interface + | TokenKind.Property -> CSS.Property + | TokenKind.UnionCase -> CSS.UnionCase + + if kind <> TokenKind.Default then // Colorize token & add tool tip ctx.Writer.Write("") ctx.Writer.Write(HttpUtility.HtmlEncode(body)) ctx.Writer.Write("") - else + else ctx.Writer.Write(HttpUtility.HtmlEncode(body)) ) /// Generate HTML with the specified snippets @@ -206,15 +221,20 @@ let formatSnippets (ctx:FormattingContext) (snippets:Snippet[]) = /// Format snippets and return HTML for
 tags together
 /// wtih HTML for ToolTips (to be added to the end of document)
 let format addLines addErrors prefix openTag closeTag openLinesTag closeLinesTag (snippets:Snippet[]) = 
-  let tipf = ToolTipFormatter(prefix)
-  let ctx =  { AddLines = addLines; GenerateErrors = addErrors
-               Writer = null; FormatTip = tipf.FormatTip 
-               OpenLinesTag = openLinesTag; CloseLinesTag = closeLinesTag
-               OpenTag = openTag; CloseTag = closeTag }
-  
-  // Generate main HTML for snippets
-  let snippets = formatSnippets ctx snippets
-  // Generate HTML with ToolTip tags
-  let tipStr = StringBuilder()
-  tipf.WriteTipElements(new StringWriter(tipStr))
-  snippets, tipStr.ToString()
\ No newline at end of file
+    let tipf = ToolTipFormatter prefix
+    let ctx =  { 
+        AddLines       = addLines 
+        GenerateErrors = addErrors
+        Writer         = null 
+        FormatTip      = tipf.FormatTip 
+        OpenLinesTag   = openLinesTag
+        CloseLinesTag  = closeLinesTag
+        OpenTag        = openTag 
+        CloseTag       = closeTag 
+    }
+    // Generate main HTML for snippets
+    let snippets = formatSnippets ctx snippets
+    // Generate HTML with ToolTip tags
+    let tipStr = StringBuilder()
+    tipf.WriteTipElements(new StringWriter(tipStr))
+    snippets, tipStr.ToString()
diff --git a/src/FSharp.CodeFormat/LatexFormatting.fs b/src/FSharp.CodeFormat/LatexFormatting.fs
index 414c067b8..866fac079 100644
--- a/src/FSharp.CodeFormat/LatexFormatting.fs
+++ b/src/FSharp.CodeFormat/LatexFormatting.fs
@@ -65,7 +65,9 @@ let rec formatTokenSpans (ctx:FormattingContext) = List.iter (function
         | TokenKind.Operator -> @"\ops"
         | TokenKind.Preprocessor -> @"\prep"
         | TokenKind.String -> @"\str"
-        | TokenKind.TypeOrModule -> @"\ltyp"
+        | TokenKind.Module
+        | TokenKind.ValueType
+        | TokenKind.ReferenceType -> @"\ltyp"
         | TokenKind.Function -> @"\lfun"
         | TokenKind.Pattern -> @"\lpat"
         | TokenKind.MutableVar -> @"\lvar"
diff --git a/src/FSharp.CodeFormat/Pervasive.fs b/src/FSharp.CodeFormat/Pervasive.fs
new file mode 100644
index 000000000..b4ab79037
--- /dev/null
+++ b/src/FSharp.CodeFormat/Pervasive.fs
@@ -0,0 +1,158 @@
+[]
+module internal FSharp.CodeFormat.Pervasive
+
+open System
+open System.Diagnostics
+open Microsoft.FSharp.Compiler
+open Microsoft.FSharp.Compiler.SourceCodeServices
+
+[]
+type AsyncMaybeBuilder () =
+
+    []
+    member __.Return value : Async<'T option> = Some value |> async.Return
+
+    []
+    member __.ReturnFrom value : Async<'T option> = value
+
+    []
+    member __.ReturnFrom (value: 'T option) : Async<'T option> = async.Return value
+
+    []
+    member __.Zero () : Async = Some () |> async.Return
+
+    []
+    member __.Delay (f : unit -> Async<'T option>) : Async<'T option> = async.Delay f
+
+    []
+    member __.Combine (r1, r2 : Async<'T Option>) : Async<'T option> = async {
+        let! r1' = r1
+        match r1' with
+        | None -> return None
+        | Some () -> return! r2
+    }
+
+    []
+    member __.Bind (value: Async<'T option>, f : 'T -> Async<'U option>) : Async<'U option> = async {
+        let! value' = value
+        match value' with
+        | None -> return None
+        | Some result -> return! f result
+    }
+
+    []
+    member __.Bind (value: System.Threading.Tasks.Task<'T>, f : 'T -> Async<'U option>) : Async<'U option> = async {
+        let! value' = Async.AwaitTask value
+        return! f value'
+    }
+
+    []
+    member __.Bind (value: 'T option, f : 'T -> Async<'U option>) : Async<'U option> = async {
+        match value with
+        | None -> return None
+        | Some result -> return! f result
+    }
+
+    []
+    member __.Using (resource : ('T :> IDisposable), body : _ -> Async<_ option>) : Async<_ option> =
+        try body resource
+        finally if not (isNull resource) then resource.Dispose ()
+
+    []
+    member x.While (guard, body : Async<_ option>) : Async<_ option> =
+        if guard () then
+            x.Bind (body, (fun () -> x.While (guard, body)))
+        else
+            x.Zero ()
+
+    []
+    member x.For (sequence : seq<_>, body : 'T -> Async) : Async<_ option> =
+        x.Using (sequence.GetEnumerator (), fun enum ->
+            x.While (enum.MoveNext, x.Delay (fun () -> body enum.Current)))
+
+    []
+    member inline __.TryWith (computation : Async<'T option>, catchHandler : exn -> Async<'T option>) : Async<'T option> =
+            async.TryWith (computation, catchHandler)
+
+    []
+    member inline __.TryFinally (computation : Async<'T option>, compensation : unit -> unit) : Async<'T option> =
+            async.TryFinally (computation, compensation)
+
+let asyncMaybe = AsyncMaybeBuilder()
+
+let inline liftAsync (computation : Async<'T>) : Async<'T option> = async {
+    let! a = computation
+    return Some a 
+}
+
+
+[]
+module Async =
+
+    let map (f: 'T -> 'U) (a: Async<'T>) : Async<'U> = async {
+        let! a = a
+        return f a
+    }
+
+    /// Creates an asynchronous workflow that runs the asynchronous workflow given as an argument at most once. 
+    /// When the returned workflow is started for the second time, it reuses the result of the previous execution.
+    let cache (input : Async<'T>) =
+        let agent = MailboxProcessor>.Start <| fun agent ->
+            async {
+                let! replyCh = agent.Receive ()
+                let! res = input
+                replyCh.Reply res
+                while true do
+                    let! replyCh = agent.Receive ()
+                    replyCh.Reply res 
+            }
+        async { return! agent.PostAndAsyncReply id }
+
+type CheckResults =
+    | Ready of (FSharpParseFileResults * FSharpCheckFileResults) option
+    | StillRunning of Async<(FSharpParseFileResults * FSharpCheckFileResults) option>
+
+type FSharpChecker with
+
+    member this.ParseAndCheckDocument(filePath: string, sourceText: string, options: FSharpProjectOptions, allowStaleResults: bool) : Async<(FSharpParseFileResults * Ast.ParsedInput * FSharpCheckFileResults) option> =
+            let parseAndCheckFile = async {
+                let! parseResults, checkFileAnswer = this.ParseAndCheckFileInProject(filePath, 0, sourceText, options)
+                return
+                    match checkFileAnswer with
+                    | FSharpCheckFileAnswer.Aborted -> None
+                    | FSharpCheckFileAnswer.Succeeded checkFileResults -> Some (parseResults, checkFileResults)
+            }
+
+            let tryGetFreshResultsWithTimeout () : Async = async {
+                try let! worker = Async.StartChild (parseAndCheckFile, 2000)
+                    let! result = worker 
+                    return Ready result
+                with :? TimeoutException -> return StillRunning parseAndCheckFile
+            }
+
+            let bindParsedInput (results: (FSharpParseFileResults * FSharpCheckFileResults) option) =
+                match results with
+                | Some (parseResults, checkResults) ->
+                    match parseResults.ParseTree with
+                    | Some parsedInput -> Some (parseResults, parsedInput, checkResults)
+                    | None -> None
+                | None -> None
+
+            if allowStaleResults then
+                async {
+                    let! freshResults = tryGetFreshResultsWithTimeout()
+                    
+                    let! results =
+                        match freshResults with
+                        | Ready x -> async.Return x
+                        | StillRunning worker ->
+                            async {
+                                match allowStaleResults, this.TryGetRecentCheckResultsForFile(filePath, options) with
+                                | true, Some (parseResults, checkFileResults, _) ->
+                                    return Some (parseResults, checkFileResults)
+                                | _ ->
+                                    return! worker
+                            }
+                    return bindParsedInput results
+                }
+            else parseAndCheckFile |> Async.map bindParsedInput
\ No newline at end of file
diff --git a/src/FSharp.CodeFormat/SourceCode.fs b/src/FSharp.CodeFormat/SourceCode.fs
index 6520f579f..518eb7224 100644
--- a/src/FSharp.CodeFormat/SourceCode.fs
+++ b/src/FSharp.CodeFormat/SourceCode.fs
@@ -12,35 +12,43 @@ namespace FSharp.CodeFormat
 type ToolTipSpans = list
 
 /// A tool tip span can be emphasized text, plain text `Literal` or a line brak
-and ToolTipSpan = 
-  | Emphasis of ToolTipSpans
-  | Literal of string
-  | HardLineBreak
+and ToolTipSpan =
+    | Emphasis of ToolTipSpans
+    | Literal of string
+    | HardLineBreak
 
-/// Classifies tokens reported by the F# lexer and F# PowerTools 
-/// (PowerTools provide additional information e.g. whether a variable
-/// is mutable, etc.)
+/// Classifies tokens reported by the FCS
 []
-type TokenKind = 
-  | Keyword
-  | String
-  | Comment
-  | Identifier
-  | Inactive
-  | Number
-  | Operator
-  | Preprocessor
-  | TypeOrModule
-  | Function
-  | Pattern
-  | MutableVar
-  | Printf
-  | Escaped
-  | Default
+type TokenKind =
+    | Keyword
+    | String
+    | Comment
+    | Identifier
+    | Inactive
+    | Number
+    | Operator
+    | Punctuation
+    | Preprocessor
+    | Module
+    | ReferenceType
+    | ValueType
+    | Interface
+    | TypeArgument
+    | Property
+    | Enumeration
+    | UnionCase
+    | Function
+    | Pattern
+    | MutableVar
+    | Disposable
+    | Printf
+    | Escaped
+    | Default
+
 
 /// Represents a kind of error reported from the F# compiler (warning or error)
 []
-type ErrorKind = 
+type ErrorKind =
   | Error
   | Warning
 
@@ -48,7 +56,7 @@ type ErrorKind =
 /// the compiler (`Token`), this also includes `Error` (wrapping the underlined
 /// tokens), `Omitted` for the special `[omit:...]` tags and `Output` for the special
 /// `[output:...]` tag
-type TokenSpan = 
+type TokenSpan =
   | Token of TokenKind * string * ToolTipSpans option
   | Error of ErrorKind * string * TokenSpans
   | Omitted of string * string
diff --git a/src/FSharp.CodeFormat/ToolTipReader.fs b/src/FSharp.CodeFormat/ToolTipReader.fs
index 15399e26f..6a562dd23 100644
--- a/src/FSharp.CodeFormat/ToolTipReader.fs
+++ b/src/FSharp.CodeFormat/ToolTipReader.fs
@@ -58,7 +58,11 @@ let private formatElement = function
             yield Literal "   "
             yield Emphasis [Literal (msg) ]
             yield HardLineBreak ]
-
+  | FSharpToolTipElement.SingleParameter(_paramType,_doc,_name) -> 
+    [   yield ToolTipSpan.Literal _paramType
+        yield ToolTipSpan.HardLineBreak
+        yield! formatComment _doc     
+    ]
   | FSharpToolTipElement.CompositionError(err) -> []
 
 /// Format entire tool tip as a value of type ToolTipSpans      
diff --git a/src/FSharp.CodeFormat/app.config b/src/FSharp.CodeFormat/app.config
index 84919544e..c15bb22a9 100644
--- a/src/FSharp.CodeFormat/app.config
+++ b/src/FSharp.CodeFormat/app.config
@@ -1,15 +1,24 @@
 
 
-  
-    
-  
-  
-    
-  
+
   
     True
     
-    
+    
   
-
-
\ No newline at end of file
+  
+    True
+    
+    
+  
+  
+    True
+    
+    
+  
+  
+    True
+    
+    
+  
+
diff --git a/src/FSharp.CodeFormat/paket.references b/src/FSharp.CodeFormat/paket.references
index 8f4c61640..0a1dca0be 100644
--- a/src/FSharp.CodeFormat/paket.references
+++ b/src/FSharp.CodeFormat/paket.references
@@ -1,3 +1,2 @@
 FSharp.Compiler.Service
-FSharpVSPowerTools.Core
-FSharp.Core
\ No newline at end of file
+FSharp.Core
diff --git a/src/FSharp.Formatting.CommandTool/App.config b/src/FSharp.Formatting.CommandTool/App.config
deleted file mode 100644
index c5e99b644..000000000
--- a/src/FSharp.Formatting.CommandTool/App.config
+++ /dev/null
@@ -1,63 +0,0 @@
-
-
-  
-    
-      
-        
-          
-          
-        
-      
-      
-        
-          
-          
-        
-      
-    
-    
-      
-    
-    
-      
-        
-      
-    
-  
-  
-    
-  
-  
-    
-  
-  
-    
-    
-  
-  
-    
-    
-  
-  
-    
-    
-  
-  
-    
-    
-  
-  
-    
-    
-  
-  
-    
-    
-  
-  
-    True
-    
-    
-  
-
-
\ No newline at end of file
diff --git a/src/FSharp.Formatting.CommandTool/FSharp.Formatting.CommandTool.fsproj b/src/FSharp.Formatting.CommandTool/FSharp.Formatting.CommandTool.fsproj
index b6c32c948..c2a57e2bf 100644
--- a/src/FSharp.Formatting.CommandTool/FSharp.Formatting.CommandTool.fsproj
+++ b/src/FSharp.Formatting.CommandTool/FSharp.Formatting.CommandTool.fsproj
@@ -4,24 +4,21 @@
   
     Debug
     AnyCPU
-    2.0
     d30f7f2b-a4e3-4a07-a1bd-ed3eb21768f8
     Exe
     FSharp.FormattingCLI
     fsformatting
-    v4.5
+    v4.6.1
     .NETFramework
     true
-    4.4.0.0
+    4.4.1.0
     FSharp.FormattingCLI
     FSFCLI
     ..\..\
-    true
-    
   
   
     true
-    full
+    portable
     false
     false
     ..\..\bin\
@@ -33,7 +30,7 @@
     true
   
   
-    pdbonly
+    portable
     false
     true
     ..\..\bin\
@@ -50,9 +47,9 @@
     
     
     
+    
   
   
-    
     
     
       Common\AssemblyInfo.fs
@@ -104,6 +101,11 @@
     11
   
   
+    
+      
+        $(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\4.1\Framework\v4.0\Microsoft.FSharp.Targets
+      
+    
     
       
         $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\FSharp\Microsoft.FSharp.Targets
@@ -126,7 +128,6 @@
     
   
   
-  
   
   
-    
-      True
-      paket-files/YaafFSharpScripting.fs
-    
+    
     
       Common\AssemblyInfo.fs
     
     
     
-    
     
   
   
@@ -87,19 +87,24 @@
     
   
   
-    
+    
       
         
-          ..\..\packages\FSharp.Compiler.Service\lib\net40\FSharp.Compiler.Service.dll
+          ..\..\packages\FSharp.Compiler.Service\lib\net45\FSharp.Compiler.Service.dll
+          True
+          True
+        
+        
+          ..\..\packages\FSharp.Compiler.Service\lib\net45\FSharp.Compiler.Service.MSBuild.v12.dll
           True
           True
         
       
     
-    
+    
       
         
-          ..\..\packages\FSharp.Compiler.Service\lib\net45\FSharp.Compiler.Service.dll
+          ..\..\packages\FSharp.Compiler.Service\lib\netstandard1.6\FSharp.Compiler.Service.dll
           True
           True
         
@@ -116,7 +121,7 @@
         
       
     
-    
+    
       
         
           ..\..\packages\FSharp.Core\lib\net40\FSharp.Core.dll
@@ -125,6 +130,24 @@
         
       
     
+    
+      
+        
+          ..\..\packages\FSharp.Core\lib\net45\FSharp.Core.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\FSharp.Core\lib\netstandard1.6\FSharp.Core.dll
+          True
+          True
+        
+      
+    
     
       
         
@@ -134,7 +157,7 @@
         
       
     
-    
+    
       
         
           ..\..\packages\FSharp.Core\lib\portable-net45+netcore45\FSharp.Core.dll
@@ -171,4 +194,1204 @@
       
     
   
+  
+    
+      
+        
+          ..\..\packages\Microsoft.DiaSymReader\lib\netstandard1.1\Microsoft.DiaSymReader.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\Microsoft.DiaSymReader.PortablePdb\lib\netstandard1.1\Microsoft.DiaSymReader.PortablePdb.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\Microsoft.Win32.Primitives\lib\net46\Microsoft.Win32.Primitives.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\Microsoft.Win32.Primitives\ref\netstandard1.3\Microsoft.Win32.Primitives.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\Microsoft.Win32.Registry\ref\netstandard1.3\Microsoft.Win32.Registry.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.AppContext\lib\net463\System.AppContext.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.AppContext\lib\netstandard1.6\System.AppContext.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Buffers\lib\netstandard1.1\System.Buffers.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Collections\ref\netstandard1.0\System.Collections.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Collections\ref\netstandard1.3\System.Collections.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Collections.Concurrent\lib\netstandard1.3\System.Collections.Concurrent.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Collections.Immutable\lib\netstandard1.0\System.Collections.Immutable.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Console\lib\net46\System.Console.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Console\ref\netstandard1.3\System.Console.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Diagnostics.Debug\ref\netstandard1.0\System.Diagnostics.Debug.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Diagnostics.Debug\ref\netstandard1.3\System.Diagnostics.Debug.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Diagnostics.DiagnosticSource\lib\net46\System.Diagnostics.DiagnosticSource.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Diagnostics.DiagnosticSource\lib\netstandard1.3\System.Diagnostics.DiagnosticSource.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Diagnostics.Process\ref\netstandard1.4\System.Diagnostics.Process.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Diagnostics.TraceSource\ref\netstandard1.3\System.Diagnostics.TraceSource.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Diagnostics.Tracing\lib\net462\System.Diagnostics.Tracing.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Diagnostics.Tracing\ref\netstandard1.3\System.Diagnostics.Tracing.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Diagnostics.Tracing\ref\netstandard1.5\System.Diagnostics.Tracing.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Globalization\ref\netstandard1.0\System.Globalization.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Globalization\ref\netstandard1.3\System.Globalization.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Globalization.Calendars\lib\net46\System.Globalization.Calendars.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Globalization.Calendars\ref\netstandard1.3\System.Globalization.Calendars.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Globalization.Extensions\lib\net46\System.Globalization.Extensions.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Globalization.Extensions\ref\netstandard1.3\System.Globalization.Extensions.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.IO\lib\net462\System.IO.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.IO\ref\netstandard1.0\System.IO.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.IO\ref\netstandard1.3\System.IO.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.IO\ref\netstandard1.5\System.IO.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.IO.Compression\lib\net46\System.IO.Compression.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.IO.Compression\ref\netstandard1.1\System.IO.Compression.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.IO.Compression\ref\netstandard1.3\System.IO.Compression.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          True
+        
+        
+          ..\..\packages\System.IO.Compression.ZipFile\lib\net46\System.IO.Compression.ZipFile.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.IO.Compression.ZipFile\lib\netstandard1.3\System.IO.Compression.ZipFile.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.IO.FileSystem\lib\net46\System.IO.FileSystem.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.IO.FileSystem\ref\netstandard1.3\System.IO.FileSystem.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.IO.FileSystem.Primitives\lib\net46\System.IO.FileSystem.Primitives.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.IO.FileSystem.Primitives\lib\netstandard1.3\System.IO.FileSystem.Primitives.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Linq\lib\net463\System.Linq.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Linq\lib\netstandard1.6\System.Linq.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Linq.Expressions\lib\net463\System.Linq.Expressions.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Linq.Expressions\lib\netstandard1.6\System.Linq.Expressions.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Linq.Queryable\lib\netstandard1.3\System.Linq.Queryable.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Net.Http\lib\net46\System.Net.Http.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Net.Http\ref\netstandard1.3\System.Net.Http.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Net.Requests\ref\netstandard1.3\System.Net.Requests.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Net.Sockets\lib\net46\System.Net.Sockets.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Net.Sockets\ref\netstandard1.3\System.Net.Sockets.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Net.WebHeaderCollection\lib\netstandard1.3\System.Net.WebHeaderCollection.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.ObjectModel\lib\netstandard1.3\System.ObjectModel.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Reflection\lib\net462\System.Reflection.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Reflection\ref\netstandard1.0\System.Reflection.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Reflection\ref\netstandard1.3\System.Reflection.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Reflection\ref\netstandard1.5\System.Reflection.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Reflection.Emit\lib\netstandard1.3\System.Reflection.Emit.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Reflection.Emit.ILGeneration\lib\netstandard1.3\System.Reflection.Emit.ILGeneration.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Reflection.Emit.Lightweight\lib\netstandard1.3\System.Reflection.Emit.Lightweight.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Reflection.Metadata\lib\netstandard1.1\System.Reflection.Metadata.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Reflection.TypeExtensions\lib\net462\System.Reflection.TypeExtensions.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Reflection.TypeExtensions\lib\netstandard1.5\System.Reflection.TypeExtensions.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          True
+        
+      
+    
+    
+      
+        
+          True
+        
+        
+          ..\..\packages\System.Runtime\lib\net462\System.Runtime.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Runtime\ref\netstandard1.0\System.Runtime.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Runtime\ref\netstandard1.2\System.Runtime.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Runtime\ref\netstandard1.3\System.Runtime.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Runtime\ref\netstandard1.5\System.Runtime.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Runtime.Extensions\lib\net462\System.Runtime.Extensions.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Runtime.Extensions\ref\netstandard1.0\System.Runtime.Extensions.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Runtime.Extensions\ref\netstandard1.3\System.Runtime.Extensions.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Runtime.Extensions\ref\netstandard1.5\System.Runtime.Extensions.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Runtime.Handles\ref\netstandard1.3\System.Runtime.Handles.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Runtime.InteropServices\lib\net462\System.Runtime.InteropServices.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Runtime.InteropServices\lib\net463\System.Runtime.InteropServices.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Runtime.InteropServices\ref\netstandard1.1\System.Runtime.InteropServices.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Runtime.InteropServices\ref\netstandard1.2\System.Runtime.InteropServices.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Runtime.InteropServices\ref\netstandard1.3\System.Runtime.InteropServices.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Runtime.InteropServices\ref\netstandard1.5\System.Runtime.InteropServices.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Runtime.InteropServices.RuntimeInformation\lib\net45\System.Runtime.InteropServices.RuntimeInformation.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Runtime.InteropServices.RuntimeInformation\lib\netstandard1.1\System.Runtime.InteropServices.RuntimeInformation.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Runtime.InteropServices.RuntimeInformation\ref\netstandard1.1\System.Runtime.InteropServices.RuntimeInformation.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Runtime.Loader\lib\netstandard1.5\System.Runtime.Loader.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Runtime.Numerics\lib\netstandard1.3\System.Runtime.Numerics.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Security.Cryptography.Algorithms\lib\net463\System.Security.Cryptography.Algorithms.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Security.Cryptography.Algorithms\ref\netstandard1.6\System.Security.Cryptography.Algorithms.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Security.Cryptography.Cng\lib\net463\System.Security.Cryptography.Cng.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Security.Cryptography.Cng\ref\netstandard1.6\System.Security.Cryptography.Cng.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Security.Cryptography.Csp\lib\net46\System.Security.Cryptography.Csp.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Security.Cryptography.Csp\ref\netstandard1.3\System.Security.Cryptography.Csp.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Security.Cryptography.Encoding\lib\net46\System.Security.Cryptography.Encoding.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Security.Cryptography.Encoding\ref\netstandard1.3\System.Security.Cryptography.Encoding.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Security.Cryptography.OpenSsl\lib\netstandard1.6\System.Security.Cryptography.OpenSsl.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Security.Cryptography.Primitives\lib\net46\System.Security.Cryptography.Primitives.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Security.Cryptography.Primitives\lib\netstandard1.3\System.Security.Cryptography.Primitives.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Security.Cryptography.X509Certificates\lib\net461\System.Security.Cryptography.X509Certificates.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Security.Cryptography.X509Certificates\ref\netstandard1.4\System.Security.Cryptography.X509Certificates.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Text.Encoding\ref\netstandard1.0\System.Text.Encoding.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Text.Encoding\ref\netstandard1.3\System.Text.Encoding.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Text.Encoding.Extensions\ref\netstandard1.0\System.Text.Encoding.Extensions.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Text.Encoding.Extensions\ref\netstandard1.3\System.Text.Encoding.Extensions.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Text.RegularExpressions\lib\net463\System.Text.RegularExpressions.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Text.RegularExpressions\lib\netstandard1.6\System.Text.RegularExpressions.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Threading\lib\netstandard1.3\System.Threading.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Threading.Tasks\ref\netstandard1.0\System.Threading.Tasks.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Threading.Tasks\ref\netstandard1.3\System.Threading.Tasks.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Threading.Tasks.Extensions\lib\netstandard1.0\System.Threading.Tasks.Extensions.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Threading.Tasks.Parallel\lib\netstandard1.3\System.Threading.Tasks.Parallel.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Threading.Thread\lib\netstandard1.3\System.Threading.Thread.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Threading.ThreadPool\lib\netstandard1.3\System.Threading.ThreadPool.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.ValueTuple\lib\netstandard1.0\System.ValueTuple.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.ValueTuple\lib\portable-net40+sl4+win8+wp8\System.ValueTuple.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          True
+        
+        
+          ..\..\packages\System.Xml.ReaderWriter\lib\net46\System.Xml.ReaderWriter.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Xml.ReaderWriter\lib\netstandard1.3\System.Xml.ReaderWriter.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Xml.XDocument\lib\netstandard1.3\System.Xml.XDocument.dll
+          True
+          True
+        
+      
+    
+  
 
\ No newline at end of file
diff --git a/src/FSharp.Formatting.Common/Log.fs b/src/FSharp.Formatting.Common/Log.fs
index 600aaede3..ca3fa8ad0 100644
--- a/src/FSharp.Formatting.Common/Log.fs
+++ b/src/FSharp.Formatting.Common/Log.fs
@@ -3,7 +3,7 @@
 open System.Diagnostics
 
 module Log =
-  let source = new System.Diagnostics.TraceSource("FSharp.Formatting")
+  let source = new System.Diagnostics.TraceSource "FSharp.Formatting"
 
   let ConsoleListener () = new ConsoleTraceListener()
   let SvclogListener (file:string) = new XmlWriterTraceListener(file)
@@ -24,6 +24,7 @@ module Log =
     
   let traceEventf t f =
     Printf.kprintf (fun s -> source.TraceEvent(t, 0, s)) f
+
   let infof f = traceEventf TraceEventType.Information f
   let errorf f = traceEventf TraceEventType.Error f
   let warnf f = traceEventf TraceEventType.Warning f
diff --git a/src/FSharp.Formatting.Common/Range.fs b/src/FSharp.Formatting.Common/Range.fs
index 059151fe8..734cb6e5d 100644
--- a/src/FSharp.Formatting.Common/Range.fs
+++ b/src/FSharp.Formatting.Common/Range.fs
@@ -1,13 +1,22 @@
 namespace FSharp.Formatting.Common
 
-type MarkdownRange = { StartLine : int; StartColumn : int; EndLine : int; EndColumn : int }
+type [] MarkdownRange = { 
+    StartLine   : int 
+    StartColumn : int
+    EndLine     : int
+    EndColumn   : int 
+}
+
 
-[]
 module MarkdownRange =
+    
     let zero = { StartLine = 0; StartColumn = 0; EndLine = 0; EndColumn = 0 }
 
     let mergeRanges (ranges:MarkdownRange list) =
         let startRange = ranges |> List.minBy (fun r -> r.StartLine, r.StartColumn)
         let endRange = ranges |> List.maxBy (fun r -> r.EndLine, r.EndColumn)
-        { StartLine = startRange.StartLine; StartColumn = startRange.StartColumn; 
-          EndLine = endRange.EndLine; EndColumn = endRange.EndColumn }
\ No newline at end of file
+        {   StartLine   = startRange.StartLine 
+            StartColumn = startRange.StartColumn
+            EndLine     = endRange.EndLine 
+            EndColumn   = endRange.EndColumn 
+        }
\ No newline at end of file
diff --git a/src/FSharp.Formatting.Common/app.config b/src/FSharp.Formatting.Common/app.config
index 84919544e..c15bb22a9 100644
--- a/src/FSharp.Formatting.Common/app.config
+++ b/src/FSharp.Formatting.Common/app.config
@@ -1,15 +1,24 @@
 
 
-  
-    
-  
-  
-    
-  
+
   
     True
     
-    
+    
   
-
-
\ No newline at end of file
+  
+    True
+    
+    
+  
+  
+    True
+    
+    
+  
+  
+    True
+    
+    
+  
+
diff --git a/src/FSharp.Formatting.Common/paket.references b/src/FSharp.Formatting.Common/paket.references
index ba92a0160..e4c76aeae 100644
--- a/src/FSharp.Formatting.Common/paket.references
+++ b/src/FSharp.Formatting.Common/paket.references
@@ -1,3 +1,2 @@
 FSharp.Core
-File: YaafFSharpScripting.fs 
 FSharp.Compiler.Service
\ No newline at end of file
diff --git a/src/FSharp.Formatting.Razor/FSharp.Formatting.Razor.fsproj b/src/FSharp.Formatting.Razor/FSharp.Formatting.Razor.fsproj
index f46e094dd..5b055f7af 100644
--- a/src/FSharp.Formatting.Razor/FSharp.Formatting.Razor.fsproj
+++ b/src/FSharp.Formatting.Razor/FSharp.Formatting.Razor.fsproj
@@ -6,17 +6,15 @@
     FSharp.Formatting.Razor
     Debug
     AnyCPU
-    2.0
     c6b3c274-71a8-4239-ba9a-1af7b2f7c736
     Library
-    v4.5
+    v4.6.1
     true
-    4.4.0.0
-    
+    4.4.1.0
   
   
     true
-    Full
+    portable
     false
     false
     bin\$(Configuration)\
@@ -25,7 +23,7 @@
     ..\..\bin\FSharp.Formatting.Razor.xml
   
   
-    PdbOnly
+    portable
     true
     true
     bin\$(Configuration)\
@@ -33,14 +31,40 @@
     3
     ..\..\bin\FSharp.Formatting.Razor.xml
   
+  
+    14.0
+    11
+  
+  
+    
+      
+        $(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\4.1\Framework\v4.0\Microsoft.FSharp.Targets
+      
+    
+    
+      
+        $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\FSharp\Microsoft.FSharp.Targets
+      
+    
+    
+      
+        $(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\4.0\Framework\v4.0\Microsoft.FSharp.Targets
+      
+    
+    
+      
+        $(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\3.1\Framework\v4.0\Microsoft.FSharp.Targets
+      
+    
+    
+      
+        $(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\3.0\Framework\v4.0\Microsoft.FSharp.Targets
+      
+    
+  
+  
   
-    
-    
-    
-    
-    
-  
-  
+    
     
       Common/AssemblyInfo.fs
     
@@ -52,8 +76,13 @@
     
     
     
+    
   
   
+    
+    
+    
+    
     
       FSharp.CodeFormat
       {341ebf32-d470-4c55-99e9-55f14f7ffbb1}
@@ -80,33 +109,6 @@
       True
     
   
-  
-    14.0
-    11
-  
-  
-    
-      
-        $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\FSharp\Microsoft.FSharp.Targets
-      
-    
-    
-      
-        $(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\4.0\Framework\v4.0\Microsoft.FSharp.Targets
-      
-    
-    
-      
-        $(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\3.1\Framework\v4.0\Microsoft.FSharp.Targets
-      
-    
-    
-      
-        $(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\3.0\Framework\v4.0\Microsoft.FSharp.Targets
-      
-    
-  
-  
   
     
       
@@ -117,7 +119,7 @@
         
       
     
-    
+    
       
         
           ..\..\packages\FSharp.Core\lib\net40\FSharp.Core.dll
@@ -126,6 +128,24 @@
         
       
     
+    
+      
+        
+          ..\..\packages\FSharp.Core\lib\net45\FSharp.Core.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\FSharp.Core\lib\netstandard1.6\FSharp.Core.dll
+          True
+          True
+        
+      
+    
     
       
         
@@ -135,7 +155,7 @@
         
       
     
-    
+    
       
         
           ..\..\packages\FSharp.Core\lib\portable-net45+netcore45\FSharp.Core.dll
@@ -184,7 +204,7 @@
     
   
   
-    
+    
       
         
           ..\..\packages\RazorEngine\lib\net45\RazorEngine.dll
@@ -194,4 +214,885 @@
       
     
   
+  
+    
+      
+        
+          ..\..\packages\System.Collections\ref\netstandard1.0\System.Collections.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Collections\ref\netstandard1.3\System.Collections.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Collections.Concurrent\lib\netstandard1.3\System.Collections.Concurrent.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Console\lib\net46\System.Console.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Console\ref\netstandard1.3\System.Console.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Diagnostics.Debug\ref\netstandard1.0\System.Diagnostics.Debug.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Diagnostics.Debug\ref\netstandard1.3\System.Diagnostics.Debug.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Diagnostics.DiagnosticSource\lib\net46\System.Diagnostics.DiagnosticSource.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Diagnostics.DiagnosticSource\lib\netstandard1.3\System.Diagnostics.DiagnosticSource.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Diagnostics.Tracing\lib\net462\System.Diagnostics.Tracing.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Diagnostics.Tracing\ref\netstandard1.3\System.Diagnostics.Tracing.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Diagnostics.Tracing\ref\netstandard1.5\System.Diagnostics.Tracing.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Globalization\ref\netstandard1.0\System.Globalization.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Globalization\ref\netstandard1.3\System.Globalization.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Globalization.Calendars\lib\net46\System.Globalization.Calendars.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Globalization.Calendars\ref\netstandard1.3\System.Globalization.Calendars.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Globalization.Extensions\lib\net46\System.Globalization.Extensions.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Globalization.Extensions\ref\netstandard1.3\System.Globalization.Extensions.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.IO\lib\net462\System.IO.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.IO\ref\netstandard1.0\System.IO.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.IO\ref\netstandard1.3\System.IO.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.IO\ref\netstandard1.5\System.IO.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.IO.FileSystem\lib\net46\System.IO.FileSystem.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.IO.FileSystem\ref\netstandard1.3\System.IO.FileSystem.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.IO.FileSystem.Primitives\lib\net46\System.IO.FileSystem.Primitives.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.IO.FileSystem.Primitives\lib\netstandard1.3\System.IO.FileSystem.Primitives.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Linq\lib\net463\System.Linq.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Linq\lib\netstandard1.6\System.Linq.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Linq.Expressions\lib\net463\System.Linq.Expressions.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Linq.Expressions\lib\netstandard1.6\System.Linq.Expressions.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Linq.Queryable\lib\netstandard1.3\System.Linq.Queryable.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Net.Http\lib\net46\System.Net.Http.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Net.Http\ref\netstandard1.3\System.Net.Http.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Net.Requests\ref\netstandard1.3\System.Net.Requests.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Net.WebHeaderCollection\lib\netstandard1.3\System.Net.WebHeaderCollection.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.ObjectModel\lib\netstandard1.3\System.ObjectModel.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Reflection\lib\net462\System.Reflection.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Reflection\ref\netstandard1.0\System.Reflection.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Reflection\ref\netstandard1.3\System.Reflection.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Reflection\ref\netstandard1.5\System.Reflection.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Reflection.Emit\lib\netstandard1.3\System.Reflection.Emit.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Reflection.Emit.ILGeneration\lib\netstandard1.3\System.Reflection.Emit.ILGeneration.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Reflection.Emit.Lightweight\lib\netstandard1.3\System.Reflection.Emit.Lightweight.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Reflection.TypeExtensions\lib\net462\System.Reflection.TypeExtensions.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Reflection.TypeExtensions\lib\netstandard1.5\System.Reflection.TypeExtensions.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          True
+        
+      
+    
+    
+      
+        
+          True
+        
+        
+          ..\..\packages\System.Runtime\lib\net462\System.Runtime.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Runtime\ref\netstandard1.0\System.Runtime.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Runtime\ref\netstandard1.2\System.Runtime.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Runtime\ref\netstandard1.3\System.Runtime.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Runtime\ref\netstandard1.5\System.Runtime.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Runtime.Extensions\lib\net462\System.Runtime.Extensions.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Runtime.Extensions\ref\netstandard1.0\System.Runtime.Extensions.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Runtime.Extensions\ref\netstandard1.3\System.Runtime.Extensions.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Runtime.Extensions\ref\netstandard1.5\System.Runtime.Extensions.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Runtime.Handles\ref\netstandard1.3\System.Runtime.Handles.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Runtime.InteropServices\lib\net462\System.Runtime.InteropServices.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Runtime.InteropServices\lib\net463\System.Runtime.InteropServices.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Runtime.InteropServices\ref\netstandard1.1\System.Runtime.InteropServices.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Runtime.InteropServices\ref\netstandard1.2\System.Runtime.InteropServices.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Runtime.InteropServices\ref\netstandard1.3\System.Runtime.InteropServices.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Runtime.InteropServices\ref\netstandard1.5\System.Runtime.InteropServices.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Runtime.Numerics\lib\netstandard1.3\System.Runtime.Numerics.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Security.Cryptography.Algorithms\lib\net463\System.Security.Cryptography.Algorithms.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Security.Cryptography.Algorithms\ref\netstandard1.6\System.Security.Cryptography.Algorithms.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Security.Cryptography.Cng\lib\net463\System.Security.Cryptography.Cng.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Security.Cryptography.Cng\ref\netstandard1.6\System.Security.Cryptography.Cng.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Security.Cryptography.Csp\lib\net46\System.Security.Cryptography.Csp.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Security.Cryptography.Csp\ref\netstandard1.3\System.Security.Cryptography.Csp.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Security.Cryptography.Encoding\lib\net46\System.Security.Cryptography.Encoding.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Security.Cryptography.Encoding\ref\netstandard1.3\System.Security.Cryptography.Encoding.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Security.Cryptography.OpenSsl\lib\netstandard1.6\System.Security.Cryptography.OpenSsl.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Security.Cryptography.Primitives\lib\net46\System.Security.Cryptography.Primitives.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Security.Cryptography.Primitives\lib\netstandard1.3\System.Security.Cryptography.Primitives.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Security.Cryptography.X509Certificates\lib\net461\System.Security.Cryptography.X509Certificates.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Security.Cryptography.X509Certificates\ref\netstandard1.4\System.Security.Cryptography.X509Certificates.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Text.Encoding\ref\netstandard1.0\System.Text.Encoding.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Text.Encoding\ref\netstandard1.3\System.Text.Encoding.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Text.RegularExpressions\lib\net463\System.Text.RegularExpressions.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Text.RegularExpressions\lib\netstandard1.6\System.Text.RegularExpressions.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Threading\lib\netstandard1.3\System.Threading.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Threading.Tasks\ref\netstandard1.0\System.Threading.Tasks.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Threading.Tasks\ref\netstandard1.3\System.Threading.Tasks.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Threading.Tasks.Parallel\lib\netstandard1.3\System.Threading.Tasks.Parallel.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Threading.Thread\lib\netstandard1.3\System.Threading.Thread.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Threading.ThreadPool\lib\netstandard1.3\System.Threading.ThreadPool.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.ValueTuple\lib\netstandard1.0\System.ValueTuple.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.ValueTuple\lib\portable-net40+sl4+win8+wp8\System.ValueTuple.dll
+          True
+          True
+        
+      
+    
+  
 
\ No newline at end of file
diff --git a/src/FSharp.Formatting.Razor/Main.fs b/src/FSharp.Formatting.Razor/Main.fs
index 0953dfc81..d84bf176b 100644
--- a/src/FSharp.Formatting.Razor/Main.fs
+++ b/src/FSharp.Formatting.Razor/Main.fs
@@ -1,4 +1,4 @@
-namespace FSharp.Formatting.Razor
+namespace FSharp.Formatting.Razor
 
 open FSharp.MetadataFormat
 open FSharp.Formatting
@@ -98,6 +98,11 @@ type RazorMetadataFormat private() =
         ?publicOnly = publicOnly, ?libDirs = libDirs, ?otherFlags = otherFlags, ?markDownComments = markDownComments, ?urlRangeHighlight = urlRangeHighlight)
     |> generate namespaceTemplate moduleTemplate typeTemplate layoutRoots outDir assemblyReferences
 
+
+  static member Generate(generatedMetadata:FSharp.MetadataFormat.GeneratorOutput, outDir, layoutRoots, ?namespaceTemplate, ?moduleTemplate, ?typeTemplate,?assemblyReferences) =
+        generate namespaceTemplate moduleTemplate typeTemplate layoutRoots outDir assemblyReferences generatedMetadata
+
+
 type RazorLiterate private () =
   static let defaultOutput output input kind =
     match output, defaultArg kind OutputKind.Html with
diff --git a/src/FSharp.Formatting.Razor/app.config b/src/FSharp.Formatting.Razor/app.config
index a4daf5445..c15bb22a9 100644
--- a/src/FSharp.Formatting.Razor/app.config
+++ b/src/FSharp.Formatting.Razor/app.config
@@ -4,6 +4,21 @@
   
     True
     
-    
+    
+  
+  
+    True
+    
+    
+  
+  
+    True
+    
+    
+  
+  
+    True
+    
+    
   
 
diff --git a/src/FSharp.Literate/Evaluator.fs b/src/FSharp.Literate/Evaluator.fs
index 2241114d5..ce7bda2ef 100644
--- a/src/FSharp.Literate/Evaluator.fs
+++ b/src/FSharp.Literate/Evaluator.fs
@@ -4,8 +4,8 @@ open System
 open System.IO
 open FSharp.Markdown
 open FSharp.CodeFormat
+open FSharp.Formatting.Scripting
 
-open Yaaf.FSharp.Scripting
 
 // ------------------------------------------------------------------------------------------------
 // Evaluator
diff --git a/src/FSharp.Literate/FSharp.Literate.fsproj b/src/FSharp.Literate/FSharp.Literate.fsproj
index 678eba917..56f6e01eb 100644
--- a/src/FSharp.Literate/FSharp.Literate.fsproj
+++ b/src/FSharp.Literate/FSharp.Literate.fsproj
@@ -4,34 +4,32 @@
   
     Debug
     AnyCPU
-    2.0
     65e6d541-0486-4383-b619-5cfc5d2ba2f0
     Library
     FSharp.Literate
     FSharp.Literate
-    v4.5
+    v4.6.1
     FSharp.Literate
-    
+    NET461
     ..\..\
-    true
-    4.4.0.0
+    4.4.1.0
   
   
     true
-    full
+    portable
     false
     false
     ..\..\bin\
-    DEBUG;TRACE
+    $(DefineConstants);DEBUG;TRACE
     3
     ..\..\bin\FSharp.Literate.xml
   
   
-    pdbonly
+    portable
     true
     true
     ..\..\bin\
-    TRACE
+    $(DefineConstants);TRACE
     3
     ..\..\bin\FSharp.Literate.xml
   
@@ -40,6 +38,11 @@
     11
   
   
+    
+      
+        $(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\4.1\Framework\v4.0\Microsoft.FSharp.Targets
+      
+    
     
       
         $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\FSharp\Microsoft.FSharp.Targets
@@ -63,6 +66,7 @@
   
   
   
+    
     
       Common\AssemblyInfo.fs
     
@@ -72,6 +76,9 @@
     
       Common\StringParsing.fs
     
+    
+      Common\Scripting.fs
+    
     
     
     
@@ -80,7 +87,6 @@
     
     
     
-    
     
   
   
@@ -119,19 +125,24 @@
   -->
   
   
-    
+    
       
         
-          ..\..\packages\FSharp.Compiler.Service\lib\net40\FSharp.Compiler.Service.dll
+          ..\..\packages\FSharp.Compiler.Service\lib\net45\FSharp.Compiler.Service.dll
+          True
+          True
+        
+        
+          ..\..\packages\FSharp.Compiler.Service\lib\net45\FSharp.Compiler.Service.MSBuild.v12.dll
           True
           True
         
       
     
-    
+    
       
         
-          ..\..\packages\FSharp.Compiler.Service\lib\net45\FSharp.Compiler.Service.dll
+          ..\..\packages\FSharp.Compiler.Service\lib\netstandard1.6\FSharp.Compiler.Service.dll
           True
           True
         
@@ -148,7 +159,7 @@
         
       
     
-    
+    
       
         
           ..\..\packages\FSharp.Core\lib\net40\FSharp.Core.dll
@@ -157,6 +168,24 @@
         
       
     
+    
+      
+        
+          ..\..\packages\FSharp.Core\lib\net45\FSharp.Core.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\FSharp.Core\lib\netstandard1.6\FSharp.Core.dll
+          True
+          True
+        
+      
+    
     
       
         
@@ -166,7 +195,7 @@
         
       
     
-    
+    
       
         
           ..\..\packages\FSharp.Core\lib\portable-net45+netcore45\FSharp.Core.dll
@@ -203,4 +232,1204 @@
       
     
   
+  
+    
+      
+        
+          ..\..\packages\Microsoft.DiaSymReader\lib\netstandard1.1\Microsoft.DiaSymReader.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\Microsoft.DiaSymReader.PortablePdb\lib\netstandard1.1\Microsoft.DiaSymReader.PortablePdb.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\Microsoft.Win32.Primitives\lib\net46\Microsoft.Win32.Primitives.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\Microsoft.Win32.Primitives\ref\netstandard1.3\Microsoft.Win32.Primitives.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\Microsoft.Win32.Registry\ref\netstandard1.3\Microsoft.Win32.Registry.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.AppContext\lib\net463\System.AppContext.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.AppContext\lib\netstandard1.6\System.AppContext.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Buffers\lib\netstandard1.1\System.Buffers.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Collections\ref\netstandard1.0\System.Collections.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Collections\ref\netstandard1.3\System.Collections.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Collections.Concurrent\lib\netstandard1.3\System.Collections.Concurrent.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Collections.Immutable\lib\netstandard1.0\System.Collections.Immutable.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Console\lib\net46\System.Console.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Console\ref\netstandard1.3\System.Console.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Diagnostics.Debug\ref\netstandard1.0\System.Diagnostics.Debug.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Diagnostics.Debug\ref\netstandard1.3\System.Diagnostics.Debug.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Diagnostics.DiagnosticSource\lib\net46\System.Diagnostics.DiagnosticSource.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Diagnostics.DiagnosticSource\lib\netstandard1.3\System.Diagnostics.DiagnosticSource.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Diagnostics.Process\ref\netstandard1.4\System.Diagnostics.Process.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Diagnostics.TraceSource\ref\netstandard1.3\System.Diagnostics.TraceSource.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Diagnostics.Tracing\lib\net462\System.Diagnostics.Tracing.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Diagnostics.Tracing\ref\netstandard1.3\System.Diagnostics.Tracing.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Diagnostics.Tracing\ref\netstandard1.5\System.Diagnostics.Tracing.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Globalization\ref\netstandard1.0\System.Globalization.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Globalization\ref\netstandard1.3\System.Globalization.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Globalization.Calendars\lib\net46\System.Globalization.Calendars.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Globalization.Calendars\ref\netstandard1.3\System.Globalization.Calendars.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Globalization.Extensions\lib\net46\System.Globalization.Extensions.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Globalization.Extensions\ref\netstandard1.3\System.Globalization.Extensions.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.IO\lib\net462\System.IO.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.IO\ref\netstandard1.0\System.IO.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.IO\ref\netstandard1.3\System.IO.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.IO\ref\netstandard1.5\System.IO.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.IO.Compression\lib\net46\System.IO.Compression.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.IO.Compression\ref\netstandard1.1\System.IO.Compression.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.IO.Compression\ref\netstandard1.3\System.IO.Compression.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          True
+        
+        
+          ..\..\packages\System.IO.Compression.ZipFile\lib\net46\System.IO.Compression.ZipFile.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.IO.Compression.ZipFile\lib\netstandard1.3\System.IO.Compression.ZipFile.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.IO.FileSystem\lib\net46\System.IO.FileSystem.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.IO.FileSystem\ref\netstandard1.3\System.IO.FileSystem.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.IO.FileSystem.Primitives\lib\net46\System.IO.FileSystem.Primitives.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.IO.FileSystem.Primitives\lib\netstandard1.3\System.IO.FileSystem.Primitives.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Linq\lib\net463\System.Linq.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Linq\lib\netstandard1.6\System.Linq.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Linq.Expressions\lib\net463\System.Linq.Expressions.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Linq.Expressions\lib\netstandard1.6\System.Linq.Expressions.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Linq.Queryable\lib\netstandard1.3\System.Linq.Queryable.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Net.Http\lib\net46\System.Net.Http.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Net.Http\ref\netstandard1.3\System.Net.Http.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Net.Requests\ref\netstandard1.3\System.Net.Requests.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Net.Sockets\lib\net46\System.Net.Sockets.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Net.Sockets\ref\netstandard1.3\System.Net.Sockets.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Net.WebHeaderCollection\lib\netstandard1.3\System.Net.WebHeaderCollection.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.ObjectModel\lib\netstandard1.3\System.ObjectModel.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Reflection\lib\net462\System.Reflection.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Reflection\ref\netstandard1.0\System.Reflection.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Reflection\ref\netstandard1.3\System.Reflection.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Reflection\ref\netstandard1.5\System.Reflection.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Reflection.Emit\lib\netstandard1.3\System.Reflection.Emit.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Reflection.Emit.ILGeneration\lib\netstandard1.3\System.Reflection.Emit.ILGeneration.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Reflection.Emit.Lightweight\lib\netstandard1.3\System.Reflection.Emit.Lightweight.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Reflection.Metadata\lib\netstandard1.1\System.Reflection.Metadata.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Reflection.TypeExtensions\lib\net462\System.Reflection.TypeExtensions.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Reflection.TypeExtensions\lib\netstandard1.5\System.Reflection.TypeExtensions.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          True
+        
+      
+    
+    
+      
+        
+          True
+        
+        
+          ..\..\packages\System.Runtime\lib\net462\System.Runtime.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Runtime\ref\netstandard1.0\System.Runtime.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Runtime\ref\netstandard1.2\System.Runtime.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Runtime\ref\netstandard1.3\System.Runtime.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Runtime\ref\netstandard1.5\System.Runtime.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Runtime.Extensions\lib\net462\System.Runtime.Extensions.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Runtime.Extensions\ref\netstandard1.0\System.Runtime.Extensions.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Runtime.Extensions\ref\netstandard1.3\System.Runtime.Extensions.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Runtime.Extensions\ref\netstandard1.5\System.Runtime.Extensions.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Runtime.Handles\ref\netstandard1.3\System.Runtime.Handles.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Runtime.InteropServices\lib\net462\System.Runtime.InteropServices.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Runtime.InteropServices\lib\net463\System.Runtime.InteropServices.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Runtime.InteropServices\ref\netstandard1.1\System.Runtime.InteropServices.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Runtime.InteropServices\ref\netstandard1.2\System.Runtime.InteropServices.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Runtime.InteropServices\ref\netstandard1.3\System.Runtime.InteropServices.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Runtime.InteropServices\ref\netstandard1.5\System.Runtime.InteropServices.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Runtime.InteropServices.RuntimeInformation\lib\net45\System.Runtime.InteropServices.RuntimeInformation.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Runtime.InteropServices.RuntimeInformation\lib\netstandard1.1\System.Runtime.InteropServices.RuntimeInformation.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Runtime.InteropServices.RuntimeInformation\ref\netstandard1.1\System.Runtime.InteropServices.RuntimeInformation.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Runtime.Loader\lib\netstandard1.5\System.Runtime.Loader.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Runtime.Numerics\lib\netstandard1.3\System.Runtime.Numerics.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Security.Cryptography.Algorithms\lib\net463\System.Security.Cryptography.Algorithms.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Security.Cryptography.Algorithms\ref\netstandard1.6\System.Security.Cryptography.Algorithms.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Security.Cryptography.Cng\lib\net463\System.Security.Cryptography.Cng.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Security.Cryptography.Cng\ref\netstandard1.6\System.Security.Cryptography.Cng.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Security.Cryptography.Csp\lib\net46\System.Security.Cryptography.Csp.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Security.Cryptography.Csp\ref\netstandard1.3\System.Security.Cryptography.Csp.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Security.Cryptography.Encoding\lib\net46\System.Security.Cryptography.Encoding.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Security.Cryptography.Encoding\ref\netstandard1.3\System.Security.Cryptography.Encoding.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Security.Cryptography.OpenSsl\lib\netstandard1.6\System.Security.Cryptography.OpenSsl.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Security.Cryptography.Primitives\lib\net46\System.Security.Cryptography.Primitives.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Security.Cryptography.Primitives\lib\netstandard1.3\System.Security.Cryptography.Primitives.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Security.Cryptography.X509Certificates\lib\net461\System.Security.Cryptography.X509Certificates.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Security.Cryptography.X509Certificates\ref\netstandard1.4\System.Security.Cryptography.X509Certificates.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Text.Encoding\ref\netstandard1.0\System.Text.Encoding.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Text.Encoding\ref\netstandard1.3\System.Text.Encoding.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Text.Encoding.Extensions\ref\netstandard1.0\System.Text.Encoding.Extensions.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Text.Encoding.Extensions\ref\netstandard1.3\System.Text.Encoding.Extensions.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Text.RegularExpressions\lib\net463\System.Text.RegularExpressions.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Text.RegularExpressions\lib\netstandard1.6\System.Text.RegularExpressions.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Threading\lib\netstandard1.3\System.Threading.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Threading.Tasks\ref\netstandard1.0\System.Threading.Tasks.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Threading.Tasks\ref\netstandard1.3\System.Threading.Tasks.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Threading.Tasks.Extensions\lib\netstandard1.0\System.Threading.Tasks.Extensions.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Threading.Tasks.Parallel\lib\netstandard1.3\System.Threading.Tasks.Parallel.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Threading.Thread\lib\netstandard1.3\System.Threading.Thread.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Threading.ThreadPool\lib\netstandard1.3\System.Threading.ThreadPool.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.ValueTuple\lib\netstandard1.0\System.ValueTuple.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.ValueTuple\lib\portable-net40+sl4+win8+wp8\System.ValueTuple.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          True
+        
+        
+          ..\..\packages\System.Xml.ReaderWriter\lib\net46\System.Xml.ReaderWriter.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Xml.ReaderWriter\lib\netstandard1.3\System.Xml.ReaderWriter.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Xml.XDocument\lib\netstandard1.3\System.Xml.XDocument.dll
+          True
+          True
+        
+      
+    
+  
 
\ No newline at end of file
diff --git a/src/FSharp.Literate/app.config b/src/FSharp.Literate/app.config
index 84919544e..c15bb22a9 100644
--- a/src/FSharp.Literate/app.config
+++ b/src/FSharp.Literate/app.config
@@ -1,15 +1,24 @@
 
 
-  
-    
-  
-  
-    
-  
+
   
     True
     
-    
+    
   
-
-
\ No newline at end of file
+  
+    True
+    
+    
+  
+  
+    True
+    
+    
+  
+  
+    True
+    
+    
+  
+
diff --git a/src/FSharp.Markdown/FSharp.Markdown.fsproj b/src/FSharp.Markdown/FSharp.Markdown.fsproj
index 3eb2f6356..32c074891 100644
--- a/src/FSharp.Markdown/FSharp.Markdown.fsproj
+++ b/src/FSharp.Markdown/FSharp.Markdown.fsproj
@@ -3,23 +3,17 @@
   
     Debug
     AnyCPU
-    8.0.30703
-    2.0
     {c44c1c05-599a-40dd-9590-465eab8960c5}
     Library
     FSharp.Markdown
-    
-    
-    v4.5
-    
-    
+    v4.6.1
     ..\..\
     FSharp.Markdown
-    4.4.0.0
+    4.4.1.0
   
   
     true
-    full
+    portable
     false
     false
     ..\..\bin\
@@ -29,7 +23,7 @@
     AnyCPU
   
   
-    pdbonly
+    portable
     true
     true
     ..\..\bin\
@@ -38,43 +32,16 @@
     ..\..\bin\FSharp.Markdown.xml
     AnyCPU
   
-  
-    
-    
-    
-    
-      False
-    
-    
-  
-  
-    
-      Common\AssemblyInfo.fs
-    
-    
-      Common\Collections.fs
-    
-    
-      Common\StringParsing.fs
-    
-    
-    
-    
-    
-    
-  
-  
-    
-      FSharp.Formatting.Common
-      {91bad90e-bf3b-4646-a1a7-1568f8f25075}
-      True
-    
-  
   
     14.0
     11
   
   
+    
+      
+        $(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\4.1\Framework\v4.0\Microsoft.FSharp.Targets
+      
+    
     
       
         $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\FSharp\Microsoft.FSharp.Targets
@@ -97,10 +64,6 @@
     
   
   
-  
-    
-    
-  
   
   
+  
+    
+    
+      Common\AssemblyInfo.fs
+    
+    
+      Common\Collections.fs
+    
+    
+      Common\StringParsing.fs
+    
+    
+    
+    
+    
+    
+    
+  
+  
+    
+    
+    
+    
+      False
+    
+    
+      FSharp.Formatting.Common
+      {91bad90e-bf3b-4646-a1a7-1568f8f25075}
+      True
+    
+  
   
     
       
@@ -119,7 +113,7 @@
         
       
     
-    
+    
       
         
           ..\..\packages\FSharp.Core\lib\net40\FSharp.Core.dll
@@ -128,6 +122,24 @@
         
       
     
+    
+      
+        
+          ..\..\packages\FSharp.Core\lib\net45\FSharp.Core.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\FSharp.Core\lib\netstandard1.6\FSharp.Core.dll
+          True
+          True
+        
+      
+    
     
       
         
@@ -137,7 +149,7 @@
         
       
     
-    
+    
       
         
           ..\..\packages\FSharp.Core\lib\portable-net45+netcore45\FSharp.Core.dll
@@ -174,4 +186,897 @@
       
     
   
+  
+    
+      
+        
+          ..\..\packages\System.Collections\ref\netstandard1.0\System.Collections.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Collections\ref\netstandard1.3\System.Collections.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Collections.Concurrent\lib\netstandard1.3\System.Collections.Concurrent.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          True
+        
+        
+          ..\..\packages\System.Console\lib\net46\System.Console.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Console\ref\netstandard1.3\System.Console.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Diagnostics.Debug\ref\netstandard1.0\System.Diagnostics.Debug.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Diagnostics.Debug\ref\netstandard1.3\System.Diagnostics.Debug.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Diagnostics.DiagnosticSource\lib\net46\System.Diagnostics.DiagnosticSource.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Diagnostics.DiagnosticSource\lib\netstandard1.3\System.Diagnostics.DiagnosticSource.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Diagnostics.Tracing\lib\net462\System.Diagnostics.Tracing.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Diagnostics.Tracing\ref\netstandard1.3\System.Diagnostics.Tracing.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Diagnostics.Tracing\ref\netstandard1.5\System.Diagnostics.Tracing.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Globalization\ref\netstandard1.0\System.Globalization.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Globalization\ref\netstandard1.3\System.Globalization.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Globalization.Calendars\lib\net46\System.Globalization.Calendars.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Globalization.Calendars\ref\netstandard1.3\System.Globalization.Calendars.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Globalization.Extensions\lib\net46\System.Globalization.Extensions.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Globalization.Extensions\ref\netstandard1.3\System.Globalization.Extensions.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.IO\lib\net462\System.IO.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.IO\ref\netstandard1.0\System.IO.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.IO\ref\netstandard1.3\System.IO.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.IO\ref\netstandard1.5\System.IO.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.IO.FileSystem\lib\net46\System.IO.FileSystem.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.IO.FileSystem\ref\netstandard1.3\System.IO.FileSystem.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.IO.FileSystem.Primitives\lib\net46\System.IO.FileSystem.Primitives.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.IO.FileSystem.Primitives\lib\netstandard1.3\System.IO.FileSystem.Primitives.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Linq\lib\net463\System.Linq.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Linq\lib\netstandard1.6\System.Linq.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Linq.Expressions\lib\net463\System.Linq.Expressions.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Linq.Expressions\lib\netstandard1.6\System.Linq.Expressions.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Linq.Queryable\lib\netstandard1.3\System.Linq.Queryable.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Net.Http\lib\net46\System.Net.Http.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Net.Http\ref\netstandard1.3\System.Net.Http.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Net.Requests\ref\netstandard1.3\System.Net.Requests.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Net.WebHeaderCollection\lib\netstandard1.3\System.Net.WebHeaderCollection.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.ObjectModel\lib\netstandard1.3\System.ObjectModel.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Reflection\lib\net462\System.Reflection.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Reflection\ref\netstandard1.0\System.Reflection.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Reflection\ref\netstandard1.3\System.Reflection.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Reflection\ref\netstandard1.5\System.Reflection.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Reflection.Emit\lib\netstandard1.3\System.Reflection.Emit.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Reflection.Emit.ILGeneration\lib\netstandard1.3\System.Reflection.Emit.ILGeneration.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Reflection.Emit.Lightweight\lib\netstandard1.3\System.Reflection.Emit.Lightweight.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Reflection.TypeExtensions\lib\net462\System.Reflection.TypeExtensions.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Reflection.TypeExtensions\lib\netstandard1.5\System.Reflection.TypeExtensions.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          True
+        
+      
+    
+    
+      
+        
+          True
+        
+        
+          ..\..\packages\System.Runtime\lib\net462\System.Runtime.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Runtime\ref\netstandard1.0\System.Runtime.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Runtime\ref\netstandard1.2\System.Runtime.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Runtime\ref\netstandard1.3\System.Runtime.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Runtime\ref\netstandard1.5\System.Runtime.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Runtime.Extensions\lib\net462\System.Runtime.Extensions.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Runtime.Extensions\ref\netstandard1.0\System.Runtime.Extensions.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Runtime.Extensions\ref\netstandard1.3\System.Runtime.Extensions.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Runtime.Extensions\ref\netstandard1.5\System.Runtime.Extensions.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Runtime.Handles\ref\netstandard1.3\System.Runtime.Handles.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Runtime.InteropServices\lib\net462\System.Runtime.InteropServices.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Runtime.InteropServices\lib\net463\System.Runtime.InteropServices.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Runtime.InteropServices\ref\netstandard1.1\System.Runtime.InteropServices.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Runtime.InteropServices\ref\netstandard1.2\System.Runtime.InteropServices.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Runtime.InteropServices\ref\netstandard1.3\System.Runtime.InteropServices.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Runtime.InteropServices\ref\netstandard1.5\System.Runtime.InteropServices.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Runtime.Numerics\lib\netstandard1.3\System.Runtime.Numerics.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Security.Cryptography.Algorithms\lib\net463\System.Security.Cryptography.Algorithms.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Security.Cryptography.Algorithms\ref\netstandard1.6\System.Security.Cryptography.Algorithms.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Security.Cryptography.Cng\lib\net463\System.Security.Cryptography.Cng.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Security.Cryptography.Cng\ref\netstandard1.6\System.Security.Cryptography.Cng.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Security.Cryptography.Csp\lib\net46\System.Security.Cryptography.Csp.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Security.Cryptography.Csp\ref\netstandard1.3\System.Security.Cryptography.Csp.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Security.Cryptography.Encoding\lib\net46\System.Security.Cryptography.Encoding.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Security.Cryptography.Encoding\ref\netstandard1.3\System.Security.Cryptography.Encoding.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Security.Cryptography.OpenSsl\lib\netstandard1.6\System.Security.Cryptography.OpenSsl.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Security.Cryptography.Primitives\lib\net46\System.Security.Cryptography.Primitives.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Security.Cryptography.Primitives\lib\netstandard1.3\System.Security.Cryptography.Primitives.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Security.Cryptography.X509Certificates\lib\net461\System.Security.Cryptography.X509Certificates.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Security.Cryptography.X509Certificates\ref\netstandard1.4\System.Security.Cryptography.X509Certificates.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Text.Encoding\ref\netstandard1.0\System.Text.Encoding.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Text.Encoding\ref\netstandard1.3\System.Text.Encoding.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Text.RegularExpressions\lib\net463\System.Text.RegularExpressions.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Text.RegularExpressions\lib\netstandard1.6\System.Text.RegularExpressions.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Threading\lib\netstandard1.3\System.Threading.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Threading.Tasks\ref\netstandard1.0\System.Threading.Tasks.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Threading.Tasks\ref\netstandard1.3\System.Threading.Tasks.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Threading.Tasks.Parallel\lib\netstandard1.3\System.Threading.Tasks.Parallel.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Threading.Thread\lib\netstandard1.3\System.Threading.Thread.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Threading.ThreadPool\lib\netstandard1.3\System.Threading.ThreadPool.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.ValueTuple\lib\netstandard1.0\System.ValueTuple.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.ValueTuple\lib\portable-net40+sl4+win8+wp8\System.ValueTuple.dll
+          True
+          True
+        
+      
+    
+  
 
\ No newline at end of file
diff --git a/src/FSharp.Markdown/Main.fs b/src/FSharp.Markdown/Main.fs
index 75c9df0c7..83b04a637 100644
--- a/src/FSharp.Markdown/Main.fs
+++ b/src/FSharp.Markdown/Main.fs
@@ -15,17 +15,19 @@ open FSharp.Markdown.Html
 open FSharp.Formatting.Common
 
 module private Utils  =
-  /// Replace tabs with four spaces - tab will end at the 
-  /// first column that is divisible by four.
-  let replaceTabs size = List.map (fun (line:string) ->
-    if line.IndexOf('\t') = -1 then line else
-    let chars = ResizeArray<_>()
-    for i in 0 .. line.Length - 1 do
-      if line.[i] <> '\t' then chars.Add(line.[i])
-      else 
-        chars.Add(' ')
-        while chars.Count % size <> 0 do chars.Add(' ')
-    String(chars.ToArray()) )
+    /// Replace tabs with four spaces - tab will end at the 
+    /// first column that is divisible by four.
+    let replaceTabs size = 
+        List.map (fun (line:string) ->
+            if line.IndexOf '\t' = -1 then line else
+            let chars = ResizeArray<_>()
+            for i in 0 .. line.Length - 1 do
+                if line.[i] <> '\t' then chars.Add line.[i]
+                else 
+                chars.Add ' '
+                while chars.Count % size <> 0 do chars.Add ' '
+            String (chars.ToArray()) 
+        )
 
 // --------------------------------------------------------------------------------------
 // Expose Markdown transformer functions as an overloaded static method (C# friendly)
diff --git a/src/FSharp.Markdown/MarkdownParser.fs b/src/FSharp.Markdown/MarkdownParser.fs
index 3d894f26d..ccbe5c3ac 100644
--- a/src/FSharp.Markdown/MarkdownParser.fs
+++ b/src/FSharp.Markdown/MarkdownParser.fs
@@ -156,7 +156,7 @@ type ParsingContext =
 let rec parseChars acc input (ctx:ParsingContext) = seq {
 
   // Zero or one literals, depending whether there is some accumulated input and update the ctx
-  let accLiterals = Lazy.Create(fun () ->
+  let accLiterals = Lazy<_>.Create (fun () ->
     if List.isEmpty acc then ([], ctx)
     else
       let range = match ctx.CurrentRange with 
diff --git a/src/FSharp.Markdown/app.config b/src/FSharp.Markdown/app.config
index a4daf5445..c15bb22a9 100644
--- a/src/FSharp.Markdown/app.config
+++ b/src/FSharp.Markdown/app.config
@@ -4,6 +4,21 @@
   
     True
     
-    
+    
+  
+  
+    True
+    
+    
+  
+  
+    True
+    
+    
+  
+  
+    True
+    
+    
   
 
diff --git a/src/FSharp.MetadataFormat/FSharp.MetadataFormat.fsproj b/src/FSharp.MetadataFormat/FSharp.MetadataFormat.fsproj
index 367a648fe..62ee48e6a 100644
--- a/src/FSharp.MetadataFormat/FSharp.MetadataFormat.fsproj
+++ b/src/FSharp.MetadataFormat/FSharp.MetadataFormat.fsproj
@@ -4,36 +4,35 @@
   
     Debug
     AnyCPU
-    2.0
     bc4946ba-2724-4524-ac50-dfc49ee154a1
     Library
     FSharp.MetadataFormat
     FSharp.MetadataFormat
-    v4.5
+    v4.6.1
     FSharp.MetadataFormat
     METADATAFORMAT
     ..\..\
     true
-    
-    4.4.0.0
+    4.4.1.0
+    NET461
   
   
     true
-    full
+    portable
     false
     false
     ..\..\bin\
-    TRACE;DEBUG;METADATAFORMAT
+    $(DefineConstants);TRACE;DEBUG;METADATAFORMAT
     3
     ..\..\bin\FSharp.MetadataFormat.xml
   
   
-    pdbonly
-    METADATAFORMAT
+    portable
+    $(DefineConstants);METADATAFORMAT
     true
     true
     ..\..\bin\
-    TRACE;METADATAFORMAT
+    $(DefineConstants);TRACE;METADATAFORMAT
     3
     ..\..\bin\FSharp.MetadataFormat.xml
   
@@ -45,6 +44,11 @@
     11
   
   
+    
+      
+        $(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\4.1\Framework\v4.0\Microsoft.FSharp.Targets
+      
+    
     
       
         $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\FSharp\Microsoft.FSharp.Targets
@@ -76,6 +80,7 @@
   -->
   
   
+    
     
       Common\AssemblyInfo.fs
     
@@ -85,8 +90,10 @@
     
       Common\StringParsing.fs
     
+    
+      Common\Scripting.fs
+    
     
-    
     
   
   
@@ -119,19 +126,24 @@
     
   
   
-    
+    
       
         
-          ..\..\packages\FSharp.Compiler.Service\lib\net40\FSharp.Compiler.Service.dll
+          ..\..\packages\FSharp.Compiler.Service\lib\net45\FSharp.Compiler.Service.dll
+          True
+          True
+        
+        
+          ..\..\packages\FSharp.Compiler.Service\lib\net45\FSharp.Compiler.Service.MSBuild.v12.dll
           True
           True
         
       
     
-    
+    
       
         
-          ..\..\packages\FSharp.Compiler.Service\lib\net45\FSharp.Compiler.Service.dll
+          ..\..\packages\FSharp.Compiler.Service\lib\netstandard1.6\FSharp.Compiler.Service.dll
           True
           True
         
@@ -148,7 +160,7 @@
         
       
     
-    
+    
       
         
           ..\..\packages\FSharp.Core\lib\net40\FSharp.Core.dll
@@ -157,6 +169,24 @@
         
       
     
+    
+      
+        
+          ..\..\packages\FSharp.Core\lib\net45\FSharp.Core.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\FSharp.Core\lib\netstandard1.6\FSharp.Core.dll
+          True
+          True
+        
+      
+    
     
       
         
@@ -166,7 +196,7 @@
         
       
     
-    
+    
       
         
           ..\..\packages\FSharp.Core\lib\portable-net45+netcore45\FSharp.Core.dll
@@ -203,4 +233,1194 @@
       
     
   
+  
+    
+      
+        
+          ..\..\packages\Microsoft.DiaSymReader\lib\netstandard1.1\Microsoft.DiaSymReader.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\Microsoft.DiaSymReader.PortablePdb\lib\netstandard1.1\Microsoft.DiaSymReader.PortablePdb.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\Microsoft.Win32.Primitives\lib\net46\Microsoft.Win32.Primitives.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\Microsoft.Win32.Primitives\ref\netstandard1.3\Microsoft.Win32.Primitives.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\Microsoft.Win32.Registry\ref\netstandard1.3\Microsoft.Win32.Registry.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.AppContext\lib\net463\System.AppContext.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.AppContext\lib\netstandard1.6\System.AppContext.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Buffers\lib\netstandard1.1\System.Buffers.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Collections\ref\netstandard1.0\System.Collections.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Collections\ref\netstandard1.3\System.Collections.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Collections.Concurrent\lib\netstandard1.3\System.Collections.Concurrent.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Collections.Immutable\lib\netstandard1.0\System.Collections.Immutable.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Console\lib\net46\System.Console.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Console\ref\netstandard1.3\System.Console.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Diagnostics.Debug\ref\netstandard1.0\System.Diagnostics.Debug.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Diagnostics.Debug\ref\netstandard1.3\System.Diagnostics.Debug.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Diagnostics.DiagnosticSource\lib\net46\System.Diagnostics.DiagnosticSource.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Diagnostics.DiagnosticSource\lib\netstandard1.3\System.Diagnostics.DiagnosticSource.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Diagnostics.Process\ref\netstandard1.4\System.Diagnostics.Process.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Diagnostics.TraceSource\ref\netstandard1.3\System.Diagnostics.TraceSource.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Diagnostics.Tracing\lib\net462\System.Diagnostics.Tracing.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Diagnostics.Tracing\ref\netstandard1.3\System.Diagnostics.Tracing.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Diagnostics.Tracing\ref\netstandard1.5\System.Diagnostics.Tracing.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Globalization\ref\netstandard1.0\System.Globalization.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Globalization\ref\netstandard1.3\System.Globalization.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Globalization.Calendars\lib\net46\System.Globalization.Calendars.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Globalization.Calendars\ref\netstandard1.3\System.Globalization.Calendars.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Globalization.Extensions\lib\net46\System.Globalization.Extensions.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Globalization.Extensions\ref\netstandard1.3\System.Globalization.Extensions.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.IO\lib\net462\System.IO.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.IO\ref\netstandard1.0\System.IO.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.IO\ref\netstandard1.3\System.IO.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.IO\ref\netstandard1.5\System.IO.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.IO.Compression\lib\net46\System.IO.Compression.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.IO.Compression\ref\netstandard1.1\System.IO.Compression.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.IO.Compression\ref\netstandard1.3\System.IO.Compression.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          True
+        
+        
+          ..\..\packages\System.IO.Compression.ZipFile\lib\net46\System.IO.Compression.ZipFile.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.IO.Compression.ZipFile\lib\netstandard1.3\System.IO.Compression.ZipFile.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.IO.FileSystem\lib\net46\System.IO.FileSystem.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.IO.FileSystem\ref\netstandard1.3\System.IO.FileSystem.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.IO.FileSystem.Primitives\lib\net46\System.IO.FileSystem.Primitives.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.IO.FileSystem.Primitives\lib\netstandard1.3\System.IO.FileSystem.Primitives.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Linq\lib\net463\System.Linq.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Linq\lib\netstandard1.6\System.Linq.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Linq.Expressions\lib\net463\System.Linq.Expressions.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Linq.Expressions\lib\netstandard1.6\System.Linq.Expressions.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Linq.Queryable\lib\netstandard1.3\System.Linq.Queryable.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Net.Http\lib\net46\System.Net.Http.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Net.Http\ref\netstandard1.3\System.Net.Http.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Net.Requests\ref\netstandard1.3\System.Net.Requests.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Net.Sockets\lib\net46\System.Net.Sockets.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Net.Sockets\ref\netstandard1.3\System.Net.Sockets.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Net.WebHeaderCollection\lib\netstandard1.3\System.Net.WebHeaderCollection.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.ObjectModel\lib\netstandard1.3\System.ObjectModel.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Reflection\lib\net462\System.Reflection.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Reflection\ref\netstandard1.0\System.Reflection.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Reflection\ref\netstandard1.3\System.Reflection.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Reflection\ref\netstandard1.5\System.Reflection.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Reflection.Emit\lib\netstandard1.3\System.Reflection.Emit.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Reflection.Emit.ILGeneration\lib\netstandard1.3\System.Reflection.Emit.ILGeneration.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Reflection.Emit.Lightweight\lib\netstandard1.3\System.Reflection.Emit.Lightweight.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Reflection.Metadata\lib\netstandard1.1\System.Reflection.Metadata.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Reflection.TypeExtensions\lib\net462\System.Reflection.TypeExtensions.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Reflection.TypeExtensions\lib\netstandard1.5\System.Reflection.TypeExtensions.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          True
+        
+      
+    
+    
+      
+        
+          True
+        
+        
+          ..\..\packages\System.Runtime\lib\net462\System.Runtime.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Runtime\ref\netstandard1.0\System.Runtime.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Runtime\ref\netstandard1.2\System.Runtime.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Runtime\ref\netstandard1.3\System.Runtime.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Runtime\ref\netstandard1.5\System.Runtime.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Runtime.Extensions\lib\net462\System.Runtime.Extensions.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Runtime.Extensions\ref\netstandard1.0\System.Runtime.Extensions.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Runtime.Extensions\ref\netstandard1.3\System.Runtime.Extensions.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Runtime.Extensions\ref\netstandard1.5\System.Runtime.Extensions.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Runtime.Handles\ref\netstandard1.3\System.Runtime.Handles.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Runtime.InteropServices\lib\net462\System.Runtime.InteropServices.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Runtime.InteropServices\lib\net463\System.Runtime.InteropServices.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Runtime.InteropServices\ref\netstandard1.1\System.Runtime.InteropServices.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Runtime.InteropServices\ref\netstandard1.2\System.Runtime.InteropServices.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Runtime.InteropServices\ref\netstandard1.3\System.Runtime.InteropServices.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Runtime.InteropServices\ref\netstandard1.5\System.Runtime.InteropServices.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Runtime.InteropServices.RuntimeInformation\lib\net45\System.Runtime.InteropServices.RuntimeInformation.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Runtime.InteropServices.RuntimeInformation\lib\netstandard1.1\System.Runtime.InteropServices.RuntimeInformation.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Runtime.InteropServices.RuntimeInformation\ref\netstandard1.1\System.Runtime.InteropServices.RuntimeInformation.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Runtime.Loader\lib\netstandard1.5\System.Runtime.Loader.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Runtime.Numerics\lib\netstandard1.3\System.Runtime.Numerics.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Security.Cryptography.Algorithms\lib\net463\System.Security.Cryptography.Algorithms.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Security.Cryptography.Algorithms\ref\netstandard1.6\System.Security.Cryptography.Algorithms.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Security.Cryptography.Cng\lib\net463\System.Security.Cryptography.Cng.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Security.Cryptography.Cng\ref\netstandard1.6\System.Security.Cryptography.Cng.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Security.Cryptography.Csp\lib\net46\System.Security.Cryptography.Csp.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Security.Cryptography.Csp\ref\netstandard1.3\System.Security.Cryptography.Csp.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Security.Cryptography.Encoding\lib\net46\System.Security.Cryptography.Encoding.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Security.Cryptography.Encoding\ref\netstandard1.3\System.Security.Cryptography.Encoding.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Security.Cryptography.OpenSsl\lib\netstandard1.6\System.Security.Cryptography.OpenSsl.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Security.Cryptography.Primitives\lib\net46\System.Security.Cryptography.Primitives.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Security.Cryptography.Primitives\lib\netstandard1.3\System.Security.Cryptography.Primitives.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Security.Cryptography.X509Certificates\lib\net461\System.Security.Cryptography.X509Certificates.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Security.Cryptography.X509Certificates\ref\netstandard1.4\System.Security.Cryptography.X509Certificates.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Text.Encoding\ref\netstandard1.0\System.Text.Encoding.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Text.Encoding\ref\netstandard1.3\System.Text.Encoding.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Text.Encoding.Extensions\ref\netstandard1.0\System.Text.Encoding.Extensions.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Text.Encoding.Extensions\ref\netstandard1.3\System.Text.Encoding.Extensions.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Text.RegularExpressions\lib\net463\System.Text.RegularExpressions.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Text.RegularExpressions\lib\netstandard1.6\System.Text.RegularExpressions.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Threading\lib\netstandard1.3\System.Threading.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Threading.Tasks\ref\netstandard1.0\System.Threading.Tasks.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Threading.Tasks\ref\netstandard1.3\System.Threading.Tasks.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Threading.Tasks.Extensions\lib\netstandard1.0\System.Threading.Tasks.Extensions.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Threading.Tasks.Parallel\lib\netstandard1.3\System.Threading.Tasks.Parallel.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Threading.Thread\lib\netstandard1.3\System.Threading.Thread.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Threading.ThreadPool\lib\netstandard1.3\System.Threading.ThreadPool.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.ValueTuple\lib\netstandard1.0\System.ValueTuple.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.ValueTuple\lib\portable-net40+sl4+win8+wp8\System.ValueTuple.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Xml.ReaderWriter\lib\net46\System.Xml.ReaderWriter.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Xml.ReaderWriter\lib\netstandard1.3\System.Xml.ReaderWriter.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Xml.XDocument\lib\netstandard1.3\System.Xml.XDocument.dll
+          True
+          True
+        
+      
+    
+  
 
\ No newline at end of file
diff --git a/src/FSharp.MetadataFormat/Main.fs b/src/FSharp.MetadataFormat/Main.fs
index 766f3eb5b..bcb3dc2e7 100755
--- a/src/FSharp.MetadataFormat/Main.fs
+++ b/src/FSharp.MetadataFormat/Main.fs
@@ -3,10 +3,10 @@
 open System
 open System.Reflection
 open System.Collections.Generic
-open Yaaf.FSharp.Scripting
 open Microsoft.FSharp.Compiler.SourceCodeServices
 open Microsoft.FSharp.Compiler.Range
 open FSharp.Formatting.Common
+open FSharp.Formatting.Scripting
 open FSharp.Patterns
 open FSharp.CodeFormat
 
@@ -1232,7 +1232,7 @@ type MetadataFormat =
 
     let otherFlags = defaultArg otherFlags []
     let publicOnly = defaultArg publicOnly true
-    let libDirs = defaultArg libDirs []
+    let libDirs = defaultArg libDirs [] |> List.map Path.GetFullPath
     let dllFiles = dllFiles |> List.ofSeq |>  List.map Path.GetFullPath
     let urlRangeHighlight =
       defaultArg urlRangeHighlight (fun url start stop -> String.Format("{0}#L{1}-{2}", url, start, stop))
@@ -1256,8 +1256,12 @@ type MetadataFormat =
           let root = Path.GetDirectoryName(dll)
           let file = root @@ (asmName.Name + ".dll")
           if File.Exists(file) then
-            let bytes = File.ReadAllBytes(file)
-            Some(System.Reflection.Assembly.Load(bytes))
+            try 
+                let bytes = File.ReadAllBytes(file)
+                Some(System.Reflection.Assembly.Load(bytes))
+            with e ->
+              Log.errorf "Couldn't load Assembly\n%s\n%s" e.Message e.StackTrace 
+              None
           else None )
       defaultArg asmOpt null
     ))
@@ -1271,7 +1275,8 @@ type MetadataFormat =
     // Read and process assemblies and the corresponding XML files
     let assemblies =
       let resolvedList =
-        FSharpAssembly.LoadFiles(dllFiles, libDirs, otherFlags = otherFlags)
+        //FSharpAssembly.LoadFiles(dllFiles, libDirs, otherFlags = otherFlags)
+        FSharpAssembly.LoadFiles(dllFiles, libDirs, otherFlags = otherFlags,manualResolve=true)
         |> Seq.toList
 
       // generate the names for the html files beforehand so we can resolve  links.
@@ -1290,11 +1295,19 @@ type MetadataFormat =
           let xmlFile = defaultArg xmlFile (Path.ChangeExtension(dllFile, ".xml"))
           let xmlFileNoExt = Path.GetFileNameWithoutExtension(xmlFile)
           let xmlFileOpt =
-            Directory.EnumerateFiles(Path.GetDirectoryName(xmlFile), xmlFileNoExt + ".*")
-            |> Seq.map (fun f -> f, f.Remove(0, xmlFile.Length - 4))
-            |> Seq.tryPick (fun (f, ext) ->
-                if ext.Equals(".xml", StringComparison.CurrentCultureIgnoreCase)
-                  then Some(f) else None)
+            //Directory.EnumerateFiles(Path.GetDirectoryName(xmlFile), xmlFileNoExt + ".*")
+            Directory.EnumerateFiles(Path.GetDirectoryName xmlFile)
+            |> Seq.filter (fun file -> 
+                let fileNoExt = Path.GetFileNameWithoutExtension file
+                let ext = Path.GetExtension file
+                xmlFileNoExt.Equals(fileNoExt,StringComparison.OrdinalIgnoreCase)
+                && ext.Equals(".xml",StringComparison.OrdinalIgnoreCase)
+            )
+            |> Seq.tryHead
+            //|> Seq.map (fun f -> f, f.Remove(0, xmlFile.Length - 4))
+            //|> Seq.tryPick (fun (f, ext) ->
+            //    if ext.Equals(".xml", StringComparison.CurrentCultureIgnoreCase)
+            //      then Some(f) else None)
 
           match xmlFileOpt with
           | None -> raise <| FileNotFoundException(sprintf "Associated XML file '%s' was not found." xmlFile)
diff --git a/src/FSharp.MetadataFormat/app.config b/src/FSharp.MetadataFormat/app.config
index 84919544e..c15bb22a9 100644
--- a/src/FSharp.MetadataFormat/app.config
+++ b/src/FSharp.MetadataFormat/app.config
@@ -1,15 +1,24 @@
 
 
-  
-    
-  
-  
-    
-  
+
   
     True
     
-    
+    
   
-
-
\ No newline at end of file
+  
+    True
+    
+    
+  
+  
+    True
+    
+    
+  
+  
+    True
+    
+    
+  
+
diff --git a/src/FSharp.MetadataFormat/paket.references b/src/FSharp.MetadataFormat/paket.references
index e4c76aeae..bf0fd0e2e 100644
--- a/src/FSharp.MetadataFormat/paket.references
+++ b/src/FSharp.MetadataFormat/paket.references
@@ -1,2 +1,2 @@
-FSharp.Core
+FSharp.Core redirects: force
 FSharp.Compiler.Service
\ No newline at end of file
diff --git a/tests/FSharp.CodeFormat.Tests/App.config b/tests/FSharp.CodeFormat.Tests/App.config
deleted file mode 100644
index 35d49047a..000000000
--- a/tests/FSharp.CodeFormat.Tests/App.config
+++ /dev/null
@@ -1,40 +0,0 @@
-
-
-  
-    
-  
-  
-    
-  
-  
-    
-    
-  
-  
-    
-    
-  
-  
-    
-    
-  
-  
-    
-    
-  
-  
-    
-    
-  
-  
-    True
-    
-    
-  
-  
-    True
-    
-    
-  
-
-
diff --git a/tests/FSharp.CodeFormat.Tests/FSharp.CodeFormat.Tests.fsproj b/tests/FSharp.CodeFormat.Tests/FSharp.CodeFormat.Tests.fsproj
index fc542d8b1..166ce8eaf 100644
--- a/tests/FSharp.CodeFormat.Tests/FSharp.CodeFormat.Tests.fsproj
+++ b/tests/FSharp.CodeFormat.Tests/FSharp.CodeFormat.Tests.fsproj
@@ -1,42 +1,37 @@
 
-
+
   
     Debug
     AnyCPU
-    8.0.30703
-    2.0
     {5debd769-d86e-4e14-abf1-373ca91bfaa2}
     Library
     FSharp.CodeFormat.Tests
     FSharp.CodeFormat.Tests
-    v4.5
-    
-    
+    v4.6.1
     FSharp.CodeFormat.Tests
     ..\..\
-    true
     true
-    4.4.0.0
+    4.4.1.0
   
   
     true
     full
     false
     false
-    bin\Debug\
+    $(SolutionDir)\tests\bin
     DEBUG;TRACE
     3
-    bin\Debug\FSharp.CodeFormat.Tests.xml
+    $(SolutionDir)\tests\bin\FSharp.CodeFormat.Tests.xml
     AnyCPU
   
   
-    pdbonly
+    full
     true
     true
-    bin\Release\
+    $(SolutionDir)\tests\bin
     TRACE
     3
-    bin\Release\FSharp.CodeFormat.Tests.xml
+    $(SolutionDir)\tests\bin\FSharp.CodeFormat.Tests.xml
     AnyCPU
   
   
@@ -44,6 +39,11 @@
     11
   
   
+    
+      
+        $(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\4.1\Framework\v4.0\Microsoft.FSharp.Targets
+      
+    
     
       
         $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\FSharp\Microsoft.FSharp.Targets
@@ -75,12 +75,10 @@
 	-->
   
   
-    
-    
-      Always
-    
     
+    
     
+    
   
   
     
@@ -104,7 +102,7 @@
         
       
     
-    
+    
       
         
           ..\..\packages\FSharp.Core\lib\net40\FSharp.Core.dll
@@ -113,6 +111,24 @@
         
       
     
+    
+      
+        
+          ..\..\packages\FSharp.Core\lib\net45\FSharp.Core.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\FSharp.Core\lib\netstandard1.6\FSharp.Core.dll
+          True
+          True
+        
+      
+    
     
       
         
@@ -122,7 +138,7 @@
         
       
     
-    
+    
       
         
           ..\..\packages\FSharp.Core\lib\portable-net45+netcore45\FSharp.Core.dll
@@ -160,10 +176,30 @@
     
   
   
-    
+    
       
-        
-          ..\..\packages\test\FsUnit\lib\net45\FsUnit.NUnit.dll
+        
+          ..\..\packages\System.Collections\ref\netstandard1.0\System.Collections.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Collections\ref\netstandard1.3\System.Collections.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Collections.Concurrent\lib\netstandard1.3\System.Collections.Concurrent.dll
           True
           True
         
@@ -171,78 +207,1166 @@
     
   
   
-    
+    
       
-        
-          ..\..\packages\test\NUnit\lib\MonoAndroid\nunit.framework.dll
+        
+          True
+        
+        
+          ..\..\packages\System.Console\lib\net46\System.Console.dll
           True
           True
         
       
     
-    
+    
       
-        
-          ..\..\packages\test\NUnit\lib\net20\NUnit.System.Linq.dll
+        
+          ..\..\packages\System.Console\ref\netstandard1.3\System.Console.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Diagnostics.Debug\ref\netstandard1.0\System.Diagnostics.Debug.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Diagnostics.Debug\ref\netstandard1.3\System.Diagnostics.Debug.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Diagnostics.DiagnosticSource\lib\net46\System.Diagnostics.DiagnosticSource.dll
           True
           True
         
-        
-          ..\..\packages\test\NUnit\lib\net20\nunit.framework.dll
+      
+    
+    
+      
+        
+          ..\..\packages\System.Diagnostics.DiagnosticSource\lib\netstandard1.3\System.Diagnostics.DiagnosticSource.dll
           True
           True
         
       
     
-    
+  
+  
+    
       
-        
-          ..\..\packages\test\NUnit\lib\net35\nunit.framework.dll
+        
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Diagnostics.Tracing\lib\net462\System.Diagnostics.Tracing.dll
           True
           True
         
       
     
-    
+    
       
-        
-          ..\..\packages\test\NUnit\lib\net40\nunit.framework.dll
+        
+          ..\..\packages\System.Diagnostics.Tracing\ref\netstandard1.3\System.Diagnostics.Tracing.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Diagnostics.Tracing\ref\netstandard1.5\System.Diagnostics.Tracing.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Globalization\ref\netstandard1.0\System.Globalization.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Globalization\ref\netstandard1.3\System.Globalization.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Globalization.Calendars\lib\net46\System.Globalization.Calendars.dll
           True
           True
         
       
     
-    
+    
       
-        
-          ..\..\packages\test\NUnit\lib\net45\nunit.framework.dll
+        
+          ..\..\packages\System.Globalization.Calendars\ref\netstandard1.3\System.Globalization.Calendars.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Globalization.Extensions\lib\net46\System.Globalization.Extensions.dll
           True
           True
         
       
     
-    
+    
       
-        
-          ..\..\packages\test\NUnit\lib\netstandard1.6\nunit.framework.dll
+        
+          ..\..\packages\System.Globalization.Extensions\ref\netstandard1.3\System.Globalization.Extensions.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.IO\lib\net462\System.IO.dll
           True
           True
         
       
     
-    
+    
       
-        
-          ..\..\packages\test\NUnit\lib\portable-net45+win8+wp8+wpa81\nunit.framework.dll
+        
+          ..\..\packages\System.IO\ref\netstandard1.0\System.IO.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.IO\ref\netstandard1.3\System.IO.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.IO\ref\netstandard1.5\System.IO.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.IO.FileSystem\lib\net46\System.IO.FileSystem.dll
           True
           True
         
       
     
-    
+    
       
-        
-          ..\..\packages\test\NUnit\lib\Xamarin.iOS10\nunit.framework.dll
+        
+          ..\..\packages\System.IO.FileSystem\ref\netstandard1.3\System.IO.FileSystem.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.IO.FileSystem.Primitives\lib\net46\System.IO.FileSystem.Primitives.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.IO.FileSystem.Primitives\lib\netstandard1.3\System.IO.FileSystem.Primitives.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Linq\lib\net463\System.Linq.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Linq\lib\netstandard1.6\System.Linq.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Linq.Expressions\lib\net463\System.Linq.Expressions.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Linq.Expressions\lib\netstandard1.6\System.Linq.Expressions.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Linq.Queryable\lib\netstandard1.3\System.Linq.Queryable.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Net.Http\lib\net46\System.Net.Http.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Net.Http\ref\netstandard1.3\System.Net.Http.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Net.Requests\ref\netstandard1.3\System.Net.Requests.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Net.WebHeaderCollection\lib\netstandard1.3\System.Net.WebHeaderCollection.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.ObjectModel\lib\netstandard1.3\System.ObjectModel.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Reflection\lib\net462\System.Reflection.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Reflection\ref\netstandard1.0\System.Reflection.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Reflection\ref\netstandard1.3\System.Reflection.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Reflection\ref\netstandard1.5\System.Reflection.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Reflection.Emit\lib\netstandard1.3\System.Reflection.Emit.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Reflection.Emit.ILGeneration\lib\netstandard1.3\System.Reflection.Emit.ILGeneration.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Reflection.Emit.Lightweight\lib\netstandard1.3\System.Reflection.Emit.Lightweight.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Reflection.TypeExtensions\lib\net462\System.Reflection.TypeExtensions.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Reflection.TypeExtensions\lib\netstandard1.5\System.Reflection.TypeExtensions.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          True
+        
+      
+    
+    
+      
+        
+          True
+        
+        
+          ..\..\packages\System.Runtime\lib\net462\System.Runtime.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Runtime\ref\netstandard1.0\System.Runtime.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Runtime\ref\netstandard1.2\System.Runtime.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Runtime\ref\netstandard1.3\System.Runtime.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Runtime\ref\netstandard1.5\System.Runtime.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Runtime.Extensions\lib\net462\System.Runtime.Extensions.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Runtime.Extensions\ref\netstandard1.0\System.Runtime.Extensions.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Runtime.Extensions\ref\netstandard1.3\System.Runtime.Extensions.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Runtime.Extensions\ref\netstandard1.5\System.Runtime.Extensions.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Runtime.Handles\ref\netstandard1.3\System.Runtime.Handles.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Runtime.InteropServices\lib\net462\System.Runtime.InteropServices.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Runtime.InteropServices\lib\net463\System.Runtime.InteropServices.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Runtime.InteropServices\ref\netstandard1.1\System.Runtime.InteropServices.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Runtime.InteropServices\ref\netstandard1.2\System.Runtime.InteropServices.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Runtime.InteropServices\ref\netstandard1.3\System.Runtime.InteropServices.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Runtime.InteropServices\ref\netstandard1.5\System.Runtime.InteropServices.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Runtime.Numerics\lib\netstandard1.3\System.Runtime.Numerics.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Security.Cryptography.Algorithms\lib\net463\System.Security.Cryptography.Algorithms.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Security.Cryptography.Algorithms\ref\netstandard1.6\System.Security.Cryptography.Algorithms.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Security.Cryptography.Cng\lib\net463\System.Security.Cryptography.Cng.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Security.Cryptography.Cng\ref\netstandard1.6\System.Security.Cryptography.Cng.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Security.Cryptography.Csp\lib\net46\System.Security.Cryptography.Csp.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Security.Cryptography.Csp\ref\netstandard1.3\System.Security.Cryptography.Csp.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Security.Cryptography.Encoding\lib\net46\System.Security.Cryptography.Encoding.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Security.Cryptography.Encoding\ref\netstandard1.3\System.Security.Cryptography.Encoding.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Security.Cryptography.OpenSsl\lib\netstandard1.6\System.Security.Cryptography.OpenSsl.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Security.Cryptography.Primitives\lib\net46\System.Security.Cryptography.Primitives.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Security.Cryptography.Primitives\lib\netstandard1.3\System.Security.Cryptography.Primitives.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Security.Cryptography.X509Certificates\lib\net461\System.Security.Cryptography.X509Certificates.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Security.Cryptography.X509Certificates\ref\netstandard1.4\System.Security.Cryptography.X509Certificates.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Text.Encoding\ref\netstandard1.0\System.Text.Encoding.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Text.Encoding\ref\netstandard1.3\System.Text.Encoding.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Text.RegularExpressions\lib\net463\System.Text.RegularExpressions.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Text.RegularExpressions\lib\netstandard1.6\System.Text.RegularExpressions.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Threading\lib\netstandard1.3\System.Threading.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Threading.Tasks\ref\netstandard1.0\System.Threading.Tasks.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Threading.Tasks\ref\netstandard1.3\System.Threading.Tasks.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Threading.Tasks.Parallel\lib\netstandard1.3\System.Threading.Tasks.Parallel.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Threading.Thread\lib\netstandard1.3\System.Threading.Thread.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Threading.ThreadPool\lib\netstandard1.3\System.Threading.ThreadPool.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.ValueTuple\lib\netstandard1.0\System.ValueTuple.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.ValueTuple\lib\portable-net40+sl4+win8+wp8\System.ValueTuple.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\test\FsUnit\lib\net45\FsUnit.NUnit.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\test\FsUnit\lib\netstandard1.6\FsUnit.NUnit.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\test\Microsoft.Win32.Primitives\lib\net46\Microsoft.Win32.Primitives.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\test\Microsoft.Win32.Primitives\ref\netstandard1.3\Microsoft.Win32.Primitives.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\test\NUnit\lib\MonoAndroid\nunit.framework.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\test\NUnit\lib\net20\NUnit.System.Linq.dll
+          True
+          True
+        
+        
+          ..\..\packages\test\NUnit\lib\net20\nunit.framework.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\test\NUnit\lib\net35\nunit.framework.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\test\NUnit\lib\net40\nunit.framework.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\test\NUnit\lib\net45\nunit.framework.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\test\NUnit\lib\netstandard1.6\nunit.framework.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\test\NUnit\lib\portable-net45+win8+wp8+wpa81\nunit.framework.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\test\NUnit\lib\Xamarin.iOS10\nunit.framework.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\test\System.AppContext\lib\net463\System.AppContext.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\test\System.AppContext\lib\netstandard1.6\System.AppContext.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\test\System.Buffers\lib\netstandard1.1\System.Buffers.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\test\System.IO.Compression\lib\net46\System.IO.Compression.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          True
+        
+        
+          ..\..\packages\test\System.IO.Compression.ZipFile\lib\net46\System.IO.Compression.ZipFile.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\test\System.IO.Compression.ZipFile\lib\netstandard1.3\System.IO.Compression.ZipFile.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\test\System.Net.Sockets\lib\net46\System.Net.Sockets.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\test\System.Net.Sockets\ref\netstandard1.3\System.Net.Sockets.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\test\System.Runtime.InteropServices.RuntimeInformation\lib\net45\System.Runtime.InteropServices.RuntimeInformation.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\test\System.Runtime.InteropServices.RuntimeInformation\lib\netstandard1.1\System.Runtime.InteropServices.RuntimeInformation.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\test\System.Runtime.InteropServices.RuntimeInformation\ref\netstandard1.1\System.Runtime.InteropServices.RuntimeInformation.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\test\System.Runtime.Loader\lib\netstandard1.5\System.Runtime.Loader.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\test\System.Runtime.Loader\ref\netstandard1.5\System.Runtime.Loader.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\test\System.Threading.Tasks.Extensions\lib\netstandard1.0\System.Threading.Tasks.Extensions.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          True
+        
+        
+          ..\..\packages\test\System.Xml.ReaderWriter\lib\net46\System.Xml.ReaderWriter.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\test\System.Xml.ReaderWriter\lib\netstandard1.3\System.Xml.ReaderWriter.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\test\System.Xml.XDocument\lib\netstandard1.3\System.Xml.XDocument.dll
           True
           True
         
diff --git a/tests/FSharp.CodeFormat.Tests/Tests.fs b/tests/FSharp.CodeFormat.Tests/Tests.fs
index 476320801..3e1838b2d 100644
--- a/tests/FSharp.CodeFormat.Tests/Tests.fs
+++ b/tests/FSharp.CodeFormat.Tests/Tests.fs
@@ -3,12 +3,14 @@
 #r "../../packages/test/NUnit/lib/net45/nunit.framework.dll"
 #r "../../packages/test/FsUnit/lib/net45/FsUnit.NUnit.dll"
 #else
+[]
 module FSharp.CodeFormat.Tests
 #endif
 
 open FsUnit
 open NUnit.Framework
 open FSharp.CodeFormat
+open FSharp.CodeFormat.Constants
 open FsUnitTyped
 
 // --------------------------------------------------------------------------------------
@@ -51,11 +53,11 @@ let getContent = getContentAndToolTip >> fst
 
 []
 let ``Simple code snippet is formatted as HTML``() = 
-  let content, tooltip = getContentAndToolTip """let hello = 10"""
-  content |> should contain "let"
-  content |> should contain ">hello<"
-  content |> should contain "10"
-  tooltip |> should contain "val hello : int" 
+    let content, tooltip = getContentAndToolTip """let hello = 10"""
+    content |> shouldContainText (sprintf "let" CSS.Keyword)
+    content |> shouldContainText ">hello<"
+    content |> shouldContainText (sprintf "10" CSS.Number)
+    tooltip |> shouldContainText "val hello : int" 
 
 []
 let ``Non-unicode characters do not cause exception`` () =
@@ -67,27 +69,27 @@ let ``Non-unicode characters do not cause exception`` () =
 ✘ let add I J = I+J
 // [/snippet]"""
   let snips, errors = agent.ParseSource("/somewhere/test.fsx", source.Trim())
-  errors.Length |> should (be greaterThan) 0
+  errors.Length |> shouldBeGreaterThan 0
   let (SourceError(_, _, _, msg)) = errors.[0] 
-  msg |> should contain "✘"
+  msg |> shouldContainText "✘"
 
 []
 let ``Plain string is in span of 's' class when it's the last token in the line``() = 
-  getContent """let _ = "str" """ |> should contain ""str""
+  getContent """let _ = "str" """ |> shouldContainText (sprintf ""str"" CSS.String)
 
 []
 let ``Plain string is in span of 's' class, there are several other tokens next to it``() = 
   let content = getContent """let _ = "str", 1 """
-  content |> should contain ""str""
-  content |> should not' (contain ",")
-  content |> should contain (",")
+  content |> shouldContainText (sprintf ""str"" CSS.String)
+  content |> shouldNotContainText (sprintf  "," CSS.String)
+  content |> shouldContainText ","
 
 []
-let ``Plain string is in span of 's' class, there is single char next to it``() = 
+let ``Plain string is in span of 's' class, there is punctuation next to it``() = 
   let content = getContent """let _ = ("str")"""
-  content |> should contain "> (<"
-  content |> should contain ""str""
-  content |> should contain ">)"
+  content |> shouldContainText (sprintf "(" CSS.Punctuation)
+  content |> shouldContainText (sprintf  ""str"" CSS.String)
+  content |> shouldContainText (sprintf ")" CSS.Punctuation)
 
 []
 let ``Modules and types are in spans of 't' class``() = 
@@ -95,8 +97,8 @@ let ``Modules and types are in spans of 't' class``() =
 module Module =
   type Type() = class end
 """
-  content |> should contain "class=\"t\">Module"
-  content |> should contain "class=\"t\">Type"
+  content |> shouldContainText (sprintf "class=\"%s\">Module" CSS.Module)
+  content |> shouldContainText (sprintf "class=\"%s\">Type" CSS.ReferenceType)
 
 []
 let ``Functions and methods are in spans of 'f' class``() = 
@@ -107,26 +109,26 @@ module M =
         member __.Method x = ()
     let func2 x y = x + y
 """
-  content |> should contain "class=\"f\">func1"
-  content |> should contain "class=\"f\">Method"
-  content |> should contain "class=\"f\">func2"
+  content |> shouldContainText (sprintf "class=\"%s\">func1" CSS.Function )
+  content |> shouldContainText (sprintf "class=\"%s\">Method" CSS.Function)
+  content |> shouldContainText (sprintf "class=\"%s\">func2" CSS.Function )
 
 []
 let ``Printf formatters are in spans of 'pf' class``() = 
   let content = getContent """let _ = sprintf "a %A b %0.3fD" """
-  content |> should contain "class=\"s\">"a "
-  content |> should contain "class=\"pf\">%A"
-  content |> should contain "class=\"s\"> b "
-  content |> should contain "class=\"pf\">%0.3f"
-  content |> should contain "class=\"s\">D""
-
-[]
-let ``Escaped characters are in spans of 'e' class``() = 
+  content |> shouldContainText (sprintf "class=\"%s\">"a " CSS.String)
+  content |> shouldContainText (sprintf "class=\"%s\">%%A" CSS.Printf     )
+  content |> shouldContainText (sprintf "class=\"%s\"> b " CSS.String     )
+  content |> shouldContainText (sprintf "class=\"%s\">%%0.3f" CSS.Printf  )
+  content |> shouldContainText (sprintf "class=\"%s\">D"" CSS.String )
+
+[][]
+let ``Escaped characters are in spans of 'esc' class``() = 
   let content = getContent """let _ = sprintf "a \n\tD\uA0A0 \t" """
-  content |> should contain "class=\"s\">"a "
-  content |> should contain "class=\"e\">\\n"
-  content |> should contain "class=\"e\">\\t"
-  content |> should contain "class=\"s\">D"
-  content |> should contain "class=\"e\">\\uA0A0"
-  content |> should contain "class=\"s\"> "
-  content |> should contain "class=\"e\">\\t"
\ No newline at end of file
+  content |> shouldContainText (sprintf "class=\"%s\">"a " CSS.String)
+  content |> shouldContainText (sprintf "class=\"%s\">\\n" CSS.Escaped)
+  content |> shouldContainText (sprintf "class=\"%s\">\\t" CSS.Escaped)
+  content |> shouldContainText (sprintf "class=\"%s\">D" CSS.String)
+  content |> shouldContainText (sprintf "class=\"%s\">\\uA0A0" CSS.Escaped)
+  content |> shouldContainText (sprintf "class=\"%s\"> " CSS.String)
+  content |> shouldContainText (sprintf "class=\"%s\">\\t" CSS.Escaped)
\ No newline at end of file
diff --git a/tests/FSharp.CodeFormat.Tests/app.config b/tests/FSharp.CodeFormat.Tests/app.config
new file mode 100644
index 000000000..c15bb22a9
--- /dev/null
+++ b/tests/FSharp.CodeFormat.Tests/app.config
@@ -0,0 +1,24 @@
+
+
+
+  
+    True
+    
+    
+  
+  
+    True
+    
+    
+  
+  
+    True
+    
+    
+  
+  
+    True
+    
+    
+  
+
diff --git a/tests/FSharp.CodeFormat.Tests/paket.references b/tests/FSharp.CodeFormat.Tests/paket.references
index bc0023968..576338f0c 100644
--- a/tests/FSharp.CodeFormat.Tests/paket.references
+++ b/tests/FSharp.CodeFormat.Tests/paket.references
@@ -1,6 +1,4 @@
 FSharp.Core
 group Test
-
 NUnit
-NUnit.Console
 FsUnit
\ No newline at end of file
diff --git a/tests/FSharp.Literate.Tests/App.config b/tests/FSharp.Literate.Tests/App.config
deleted file mode 100644
index 0bb6ee95a..000000000
--- a/tests/FSharp.Literate.Tests/App.config
+++ /dev/null
@@ -1,40 +0,0 @@
-
-
-  
-    
-  
-  
-    
-
-  
-    
-    
-  
-  
-    
-    
-  
-  
-    
-    
-  
-  
-    
-    
-  
-  
-    
-    
-  
-  
-    True
-    
-    
-  
-  
-    True
-    
-    
-  
-
-
\ No newline at end of file
diff --git a/tests/FSharp.Literate.Tests/FSharp.Literate.Tests.fsproj b/tests/FSharp.Literate.Tests/FSharp.Literate.Tests.fsproj
index d5647589c..a4e15cd2d 100644
--- a/tests/FSharp.Literate.Tests/FSharp.Literate.Tests.fsproj
+++ b/tests/FSharp.Literate.Tests/FSharp.Literate.Tests.fsproj
@@ -1,53 +1,49 @@
 
-
+
   
     Debug
     AnyCPU
-    8.0.30703
-    2.0
     {c22a18ab-6c54-48b4-aac5-892499e93d4d}
     Library
     FSharp.Literate.Tests
     FSharp.Literate.Tests
-    v4.5
-    
-    
+    v4.6.1
     FSharp.Literate.Tests
     ..\..\
-    true
     true
-    4.4.0.0
+    NET461
   
   
     true
     full
     false
     false
-    bin\Debug\
-    TRACE;DEBUG
+    $(SolutionDir)\tests\bin
+    $(DefineConstants);TRACE;DEBUG
     3
     AnyCPU
-    bin\Debug\FSharp.Literate.Tests.xml
-    Program
-    C:\Tomas\Projects\FSharp.Formatting\packages\NUnit.Runners.2.6.3\tools\nunit-console.exe
-    tests\FSharp.Literate.Tests\bin\Debug\FSharp.Literate.Tests.dll
-    C:\Tomas\Projects\FSharp.Formatting
+    $(SolutionDir)\tests\bin\FSharp.Literate.Tests.xml
   
   
-    pdbonly
+    full
     true
     true
-    bin\Release\
-    TRACE
+    $(SolutionDir)\tests\bin
+    $(DefineConstants);TRACE
     3
     AnyCPU
-    bin\Release\FSharp.Literate.Tests.xml
+    $(SolutionDir)\tests\bin\FSharp.Literate.Tests.xml
   
   
     14.0
     11
   
   
+    
+      
+        $(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\4.1\Framework\v4.0\Microsoft.FSharp.Targets
+      
+    
     
       
         $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\FSharp\Microsoft.FSharp.Targets
@@ -71,6 +67,7 @@
   
   
   
+    
     
     
     
@@ -79,13 +76,13 @@
     
       Common\MarkdownUnit.fs
     
+    
+      Common\Scripting.fs
+    
     
     
     
-    
-      Always
-    
-    
+    
   
   
     
@@ -132,7 +129,37 @@
       {c44c1c05-599a-40dd-9590-465eab8960c5}
       True
     
+    
+      FSharp.MetadataFormat
+      {bc4946ba-2724-4524-ac50-dfc49ee154a1}
+      True
+    
   
+  
+    
+      
+        
+          ..\..\packages\FSharp.Compiler.Service\lib\net45\FSharp.Compiler.Service.dll
+          True
+          True
+        
+        
+          ..\..\packages\FSharp.Compiler.Service\lib\net45\FSharp.Compiler.Service.MSBuild.v12.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\FSharp.Compiler.Service\lib\netstandard1.6\FSharp.Compiler.Service.dll
+          True
+          True
+        
+      
+    
+  
   
     
       
@@ -143,7 +170,7 @@
         
       
     
-    
+    
       
         
           ..\..\packages\FSharp.Core\lib\net40\FSharp.Core.dll
@@ -152,6 +179,24 @@
         
       
     
+    
+      
+        
+          ..\..\packages\FSharp.Core\lib\net45\FSharp.Core.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\FSharp.Core\lib\netstandard1.6\FSharp.Core.dll
+          True
+          True
+        
+      
+    
     
       
         
@@ -161,7 +206,7 @@
         
       
     
-    
+    
       
         
           ..\..\packages\FSharp.Core\lib\portable-net45+netcore45\FSharp.Core.dll
@@ -210,7 +255,63 @@
     
   
   
-    
+    
+      
+        
+          ..\..\packages\Microsoft.DiaSymReader\lib\netstandard1.1\Microsoft.DiaSymReader.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\Microsoft.DiaSymReader.PortablePdb\lib\netstandard1.1\Microsoft.DiaSymReader.PortablePdb.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          True
+        
+        
+          ..\..\packages\Microsoft.Win32.Primitives\lib\net46\Microsoft.Win32.Primitives.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\Microsoft.Win32.Primitives\ref\netstandard1.3\Microsoft.Win32.Primitives.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\Microsoft.Win32.Registry\ref\netstandard1.3\Microsoft.Win32.Registry.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
       
         
           ..\..\packages\RazorEngine\lib\net45\RazorEngine.dll
@@ -221,10 +322,1184 @@
     
   
   
-    
+    
       
-        
-          ..\..\packages\test\FsUnit\lib\net45\FsUnit.NUnit.dll
+        
+          ..\..\packages\System.AppContext\lib\net463\System.AppContext.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.AppContext\lib\netstandard1.6\System.AppContext.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Buffers\lib\netstandard1.1\System.Buffers.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Collections\ref\netstandard1.0\System.Collections.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Collections\ref\netstandard1.3\System.Collections.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Collections.Concurrent\lib\netstandard1.3\System.Collections.Concurrent.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Collections.Immutable\lib\netstandard1.0\System.Collections.Immutable.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Console\lib\net46\System.Console.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Console\ref\netstandard1.3\System.Console.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Diagnostics.Debug\ref\netstandard1.0\System.Diagnostics.Debug.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Diagnostics.Debug\ref\netstandard1.3\System.Diagnostics.Debug.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Diagnostics.DiagnosticSource\lib\net46\System.Diagnostics.DiagnosticSource.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Diagnostics.DiagnosticSource\lib\netstandard1.3\System.Diagnostics.DiagnosticSource.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Diagnostics.Process\ref\netstandard1.4\System.Diagnostics.Process.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Diagnostics.TraceSource\ref\netstandard1.3\System.Diagnostics.TraceSource.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Diagnostics.Tracing\lib\net462\System.Diagnostics.Tracing.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Diagnostics.Tracing\ref\netstandard1.3\System.Diagnostics.Tracing.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Diagnostics.Tracing\ref\netstandard1.5\System.Diagnostics.Tracing.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Globalization\ref\netstandard1.0\System.Globalization.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Globalization\ref\netstandard1.3\System.Globalization.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Globalization.Calendars\lib\net46\System.Globalization.Calendars.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Globalization.Calendars\ref\netstandard1.3\System.Globalization.Calendars.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Globalization.Extensions\lib\net46\System.Globalization.Extensions.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Globalization.Extensions\ref\netstandard1.3\System.Globalization.Extensions.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.IO\lib\net462\System.IO.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.IO\ref\netstandard1.0\System.IO.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.IO\ref\netstandard1.3\System.IO.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.IO\ref\netstandard1.5\System.IO.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.IO.Compression\lib\net46\System.IO.Compression.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.IO.Compression\ref\netstandard1.1\System.IO.Compression.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.IO.Compression\ref\netstandard1.3\System.IO.Compression.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          True
+        
+        
+          ..\..\packages\System.IO.Compression.ZipFile\lib\net46\System.IO.Compression.ZipFile.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.IO.Compression.ZipFile\lib\netstandard1.3\System.IO.Compression.ZipFile.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.IO.FileSystem\lib\net46\System.IO.FileSystem.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.IO.FileSystem\ref\netstandard1.3\System.IO.FileSystem.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.IO.FileSystem.Primitives\lib\net46\System.IO.FileSystem.Primitives.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.IO.FileSystem.Primitives\lib\netstandard1.3\System.IO.FileSystem.Primitives.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Linq\lib\net463\System.Linq.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Linq\lib\netstandard1.6\System.Linq.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Linq.Expressions\lib\net463\System.Linq.Expressions.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Linq.Expressions\lib\netstandard1.6\System.Linq.Expressions.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Linq.Queryable\lib\netstandard1.3\System.Linq.Queryable.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Net.Http\lib\net46\System.Net.Http.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Net.Http\ref\netstandard1.3\System.Net.Http.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Net.Requests\ref\netstandard1.3\System.Net.Requests.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Net.Sockets\lib\net46\System.Net.Sockets.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Net.Sockets\ref\netstandard1.3\System.Net.Sockets.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Net.WebHeaderCollection\lib\netstandard1.3\System.Net.WebHeaderCollection.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.ObjectModel\lib\netstandard1.3\System.ObjectModel.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Reflection\lib\net462\System.Reflection.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Reflection\ref\netstandard1.0\System.Reflection.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Reflection\ref\netstandard1.3\System.Reflection.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Reflection\ref\netstandard1.5\System.Reflection.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Reflection.Emit\lib\netstandard1.3\System.Reflection.Emit.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Reflection.Emit.ILGeneration\lib\netstandard1.3\System.Reflection.Emit.ILGeneration.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Reflection.Emit.Lightweight\lib\netstandard1.3\System.Reflection.Emit.Lightweight.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Reflection.Metadata\lib\netstandard1.1\System.Reflection.Metadata.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Reflection.TypeExtensions\lib\net462\System.Reflection.TypeExtensions.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Reflection.TypeExtensions\lib\netstandard1.5\System.Reflection.TypeExtensions.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          True
+        
+      
+    
+    
+      
+        
+          True
+        
+        
+          ..\..\packages\System.Runtime\lib\net462\System.Runtime.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Runtime\ref\netstandard1.0\System.Runtime.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Runtime\ref\netstandard1.2\System.Runtime.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Runtime\ref\netstandard1.3\System.Runtime.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Runtime\ref\netstandard1.5\System.Runtime.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Runtime.Extensions\lib\net462\System.Runtime.Extensions.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Runtime.Extensions\ref\netstandard1.0\System.Runtime.Extensions.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Runtime.Extensions\ref\netstandard1.3\System.Runtime.Extensions.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Runtime.Extensions\ref\netstandard1.5\System.Runtime.Extensions.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Runtime.Handles\ref\netstandard1.3\System.Runtime.Handles.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Runtime.InteropServices\lib\net462\System.Runtime.InteropServices.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Runtime.InteropServices\lib\net463\System.Runtime.InteropServices.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Runtime.InteropServices\ref\netstandard1.1\System.Runtime.InteropServices.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Runtime.InteropServices\ref\netstandard1.2\System.Runtime.InteropServices.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Runtime.InteropServices\ref\netstandard1.3\System.Runtime.InteropServices.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Runtime.InteropServices\ref\netstandard1.5\System.Runtime.InteropServices.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Runtime.InteropServices.RuntimeInformation\lib\net45\System.Runtime.InteropServices.RuntimeInformation.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Runtime.InteropServices.RuntimeInformation\lib\netstandard1.1\System.Runtime.InteropServices.RuntimeInformation.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Runtime.InteropServices.RuntimeInformation\ref\netstandard1.1\System.Runtime.InteropServices.RuntimeInformation.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Runtime.Loader\lib\netstandard1.5\System.Runtime.Loader.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Runtime.Numerics\lib\netstandard1.3\System.Runtime.Numerics.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Security.Cryptography.Algorithms\lib\net463\System.Security.Cryptography.Algorithms.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Security.Cryptography.Algorithms\ref\netstandard1.6\System.Security.Cryptography.Algorithms.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Security.Cryptography.Cng\lib\net463\System.Security.Cryptography.Cng.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Security.Cryptography.Cng\ref\netstandard1.6\System.Security.Cryptography.Cng.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Security.Cryptography.Csp\lib\net46\System.Security.Cryptography.Csp.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Security.Cryptography.Csp\ref\netstandard1.3\System.Security.Cryptography.Csp.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Security.Cryptography.Encoding\lib\net46\System.Security.Cryptography.Encoding.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Security.Cryptography.Encoding\ref\netstandard1.3\System.Security.Cryptography.Encoding.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Security.Cryptography.OpenSsl\lib\netstandard1.6\System.Security.Cryptography.OpenSsl.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Security.Cryptography.Primitives\lib\net46\System.Security.Cryptography.Primitives.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Security.Cryptography.Primitives\lib\netstandard1.3\System.Security.Cryptography.Primitives.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Security.Cryptography.X509Certificates\lib\net461\System.Security.Cryptography.X509Certificates.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Security.Cryptography.X509Certificates\ref\netstandard1.4\System.Security.Cryptography.X509Certificates.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Text.Encoding\ref\netstandard1.0\System.Text.Encoding.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Text.Encoding\ref\netstandard1.3\System.Text.Encoding.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Text.Encoding.Extensions\ref\netstandard1.0\System.Text.Encoding.Extensions.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Text.Encoding.Extensions\ref\netstandard1.3\System.Text.Encoding.Extensions.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Text.RegularExpressions\lib\net463\System.Text.RegularExpressions.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Text.RegularExpressions\lib\netstandard1.6\System.Text.RegularExpressions.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Threading\lib\netstandard1.3\System.Threading.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Threading.Tasks\ref\netstandard1.0\System.Threading.Tasks.dll
+          False
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Threading.Tasks\ref\netstandard1.3\System.Threading.Tasks.dll
+          False
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Threading.Tasks.Extensions\lib\netstandard1.0\System.Threading.Tasks.Extensions.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Threading.Tasks.Parallel\lib\netstandard1.3\System.Threading.Tasks.Parallel.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Threading.Thread\lib\netstandard1.3\System.Threading.Thread.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.Threading.ThreadPool\lib\netstandard1.3\System.Threading.ThreadPool.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\System.ValueTuple\lib\netstandard1.0\System.ValueTuple.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.ValueTuple\lib\portable-net40+sl4+win8+wp8\System.ValueTuple.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          True
+        
+        
+          ..\..\packages\System.Xml.ReaderWriter\lib\net46\System.Xml.ReaderWriter.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Xml.ReaderWriter\lib\netstandard1.3\System.Xml.ReaderWriter.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\System.Xml.XDocument\lib\netstandard1.3\System.Xml.XDocument.dll
+          True
+          True
+        
+      
+    
+  
+  
+    
+      
+        
+          ..\..\packages\test\FsUnit\lib\net45\FsUnit.NUnit.dll
+          True
+          True
+        
+      
+    
+    
+      
+        
+          ..\..\packages\test\FsUnit\lib\netstandard1.6\FsUnit.NUnit.dll
           True
           True
         
diff --git a/tests/FSharp.Literate.Tests/Tests.fs b/tests/FSharp.Literate.Tests/Tests.fs
index 859089b3c..36884d736 100644
--- a/tests/FSharp.Literate.Tests/Tests.fs
+++ b/tests/FSharp.Literate.Tests/Tests.fs
@@ -9,6 +9,7 @@
 #load "../Common/MarkdownUnit.fs"
 #load "Setup.fs"
 #else
+[]
 module FSharp.Literate.Tests.Simple
 #endif
 
@@ -35,13 +36,14 @@ do
         |> Logging.SetupListener noTraceOptions System.Diagnostics.SourceLevels.Information |]
     let sources =
       [ FSharp.Formatting.Common.Log.source
-        Yaaf.FSharp.Scripting.Log.source ]
+        //Yaaf.FSharp.Scripting.Log.source 
+      ]
 
     sources |> Seq.iter (Logging.SetupSource listeners)
 
     // Test that everything works
     Logging.infof "FSharp.Formatting Logging setup!"
-    Yaaf.FSharp.Scripting.Log.infof "Yaaf.FSharp.Scripting Logging setup!"
+    //Yaaf.FSharp.Scripting.Log.infof "Yaaf.FSharp.Scripting Logging setup!"
   with e ->
     printfn "FSharp.Formatting Logging setup failed: %A" e
 
@@ -190,7 +192,7 @@ hello
     var a = 10 < 10;"""
   let doc = Literate.ParseMarkdownString(content, formatAgent=getFormatAgent())
   let html = Literate.WriteHtml(doc)
-  html |> should contain "var"
+  html |> shouldContainText "var"
 
 []
 let ``Can format the var keyword in C# code snippet using Github-flavoured`` () =
@@ -202,7 +204,7 @@ var a = 10 < 10;
 ```"""
   let doc = Literate.ParseMarkdownString(content, formatAgent=getFormatAgent())
   let html = Literate.WriteHtml(doc)
-  html |> should contain "var"
+  html |> shouldContainText "var"
 
 []
 let ``Codeblock whitespace is preserved`` () =
@@ -210,7 +212,7 @@ let ``Codeblock whitespace is preserved`` () =
   let expected = "lang=\"markup\">    test\r\n    blub\r\n properNewLines;
   let doc = Literate.ParseMarkdownString(doc, formatAgent=getFormatAgent())
   let html = Literate.WriteHtml(doc)
-  html |> should contain expected
+  html |> shouldContainText expected
 
 []
 let ``Correctly handles Norwegian letters in SQL code block (#249)`` () =
@@ -219,7 +221,7 @@ let ``Correctly handles Norwegian letters in SQL code block (#249)`` () =
     Æøå"""
   let doc = Literate.ParseMarkdownString(content, formatAgent=getFormatAgent())
   let html = Literate.WriteHtml(doc)
-  html |> should contain (sprintf ">Æøå%s<" System.Environment.NewLine)
+  html |> shouldContainText (sprintf ">Æøå%s<" System.Environment.NewLine)
 
 []
 let ``Correctly handles code starting with whitespace`` () =
@@ -228,7 +230,7 @@ let ``Correctly handles code starting with whitespace`` () =
       inner"""
   let doc = Literate.ParseMarkdownString(content, formatAgent=getFormatAgent())
   let html = Literate.WriteHtml(doc)
-  html |> should contain ">  inner"
+  html |> shouldContainText ">  inner"
 
 []
 let ``Correctly handles code which garbage after commands`` () =
@@ -238,7 +240,7 @@ let ``Correctly handles code which garbage after commands`` () =
       inner"""
   let doc = Literate.ParseMarkdownString(content, formatAgent=getFormatAgent())
   let html = Literate.WriteHtml(doc)
-  html |> should contain ">  inner"
+  html |> shouldContainText ">  inner"
 
 []
 let ``Correctly handles apostrophes in JS code block (#213)`` () =
@@ -247,7 +249,7 @@ let ``Correctly handles apostrophes in JS code block (#213)`` () =
     var but = 'I\'m not so good...';"""
   let doc = Literate.ParseMarkdownString(content, formatAgent=getFormatAgent())
   let html = Literate.WriteHtml(doc)
-  html |> should contain @"'I\'m not so good...'"
+  html |> shouldContainText @"'I\'m not so good...'"
 
 []
 let ``Correctly encodes special HTML characters (<, >, &) in code`` () =
@@ -258,7 +260,7 @@ let ``Correctly encodes special HTML characters (<, >, &) in code`` () =
     let content = forLang lang
     let doc = Literate.ParseMarkdownString(content, formatAgent=getFormatAgent())
     let html = Literate.WriteHtml(doc)
-    html |> should contain "<a> & <b>"
+    html |> shouldContainText "<a> & <b>"
   )
 
 []
@@ -268,12 +270,12 @@ let ``Correctly encodes already encoded HTML entities and tags`` () =
     "&" + "" + """; """
   ["js"; "unknown-language"] |> Seq.iter (fun lang ->
     let content = forLang lang
-    content |> should contain lang
+    content |> shouldContainText lang
     let doc = Literate.ParseMarkdownString(content, formatAgent=getFormatAgent())
     let html = Literate.WriteHtml(doc)
-    html |> should contain "&amp;"
-    html |> should contain "&quot;"
-    html |> should contain "<em>"
+    html |> shouldContainText "&amp;"
+    html |> shouldContainText "&quot;"
+    html |> shouldContainText "<em>"
   )
 
 []
@@ -283,7 +285,7 @@ let ``Urls should not be recognized as comments in Paket code blocks`` () =
     source https://nuget.org/api/v2"""
   let doc = Literate.ParseMarkdownString(content, formatAgent=getFormatAgent())
   let html = Literate.WriteHtml(doc)
-  html |> should contain @"https://nuget.org/api/v2"
+  html |> shouldContainText @"https://nuget.org/api/v2"
 
 []
 let ``Path to network share should not be recognized as comments in Paket code blocks`` () =
@@ -336,44 +338,44 @@ let ``Correctly handles Paket coloring`` () =
   let doc = Literate.ParseMarkdownString(content, formatAgent=getFormatAgent())
   let html = Literate.WriteHtml(doc)
 
-  html |> should contain "nuget"
-  html |> should contain "github"
-  html |> should contain "git"
-  html |> should contain "gist"
-  html |> should contain "http"
-  html |> should contain "references"
-  html |> should contain "framework"
-  html |> should contain "content"
-  html |> should contain "import_targets"
-  html |> should contain "copy_local"
-  html |> should contain "copy_content_to_output_dir"
-  html |> should contain "lowest_matching"
-  html |> should contain "redirects"
-  html |> should contain "strategy"
-  html |> should contain "version_in_path"
+  html |> shouldContainText "nuget"
+  html |> shouldContainText "github"
+  html |> shouldContainText "git"
+  html |> shouldContainText "gist"
+  html |> shouldContainText "http"
+  html |> shouldContainText "references"
+  html |> shouldContainText "framework"
+  html |> shouldContainText "content"
+  html |> shouldContainText "import_targets"
+  html |> shouldContainText "copy_local"
+  html |> shouldContainText "copy_content_to_output_dir"
+  html |> shouldContainText "lowest_matching"
+  html |> shouldContainText "redirects"
+  html |> shouldContainText "strategy"
+  html |> shouldContainText "version_in_path"
 
   html |> shouldNotContainText "https"
   html |> shouldNotContainText ".git"
 
-  html |> should contain "~>"
-  html |> should contain ">="
-  html |> should contain "=="
-  html |> should contain "!~>"
-  html |> should contain "@~>"
-  html |> should contain "@>"
+  html |> shouldContainText "~>"
+  html |> shouldContainText ">="
+  html |> shouldContainText "=="
+  html |> shouldContainText "!~>"
+  html |> shouldContainText "@~>"
+  html |> shouldContainText "@>"
 
-  html |> should contain "3.4"
-  html |> should contain "2.6.3"
+  html |> shouldContainText "3.4"
+  html |> shouldContainText "2.6.3"
 
-  html |> should contain "// NuGet packages"
-  html |> should contain "// nuget.org"
+  html |> shouldContainText "// NuGet packages"
+  html |> shouldContainText "// nuget.org"
   html |> shouldNotContainText "//hive/dependencies"
 
-  html |> should contain @"https://nuget.org/api/v2"
-  html |> should contain @"http://www.fssnip.net/1n"
+  html |> shouldContainText @"https://nuget.org/api/v2"
+  html |> shouldContainText @"http://www.fssnip.net/1n"
 
-  html |> should contain @"file:///C:\Users\Steffen\AskMe"
-  html |> should contain "// at least 1.0 including alpha versions"
+  html |> shouldContainText @"file:///C:\Users\Steffen\AskMe"
+  html |> shouldContainText "// at least 1.0 including alpha versions"
 
 []
 let ``Generates line numbers for F# code snippets`` () =
@@ -383,9 +385,9 @@ let a1 = 1
 let a2 = 2"""
   let doc = Literate.ParseScriptString(content, formatAgent=getFormatAgent())
   let html = Literate.WriteHtml(doc, lineNumbers=true)
-  html |> should contain "

Hello

" - html |> should contain "1:" - html |> should contain "2:" + html |> shouldContainText "

Hello

" + html |> shouldContainText "1:" + html |> shouldContainText "2:" html |> shouldNotContainText "3:" [] @@ -399,9 +401,9 @@ var a2 = 2; ``` *)""" let doc = Literate.ParseScriptString(content, formatAgent=getFormatAgent()) let html = Literate.WriteHtml(doc, lineNumbers=true) - html |> should contain "

Hello

" - html |> should contain "1:" - html |> should contain "2:" + html |> shouldContainText "

Hello

" + html |> shouldContainText "1:" + html |> shouldContainText "2:" html |> shouldNotContainText "3:" [] @@ -460,16 +462,16 @@ let ``Code and HTML is formatted with a tooltip in Markdown file using HTML temp let simpleMd = __SOURCE_DIRECTORY__ "files/simple.md" use temp = new TempFile() RazorLiterate.ProcessMarkdown(simpleMd, templateHtml, temp.File) - temp.Content |> should contain "" - temp.Content |> should contain "val hello : string" + temp.Content |> shouldContainText "" + temp.Content |> shouldContainText "val hello : string" [] let ``Code and HTML is formatted with a tooltip in F# Script file using HTML template``() = let simpleFsx = __SOURCE_DIRECTORY__ "files/simple.fsx" use temp = new TempFile() RazorLiterate.ProcessScriptFile(simpleFsx, templateHtml, temp.File) - temp.Content |> should contain "" - temp.Content |> should contain "val hello : string" + temp.Content |> shouldContainText "" + temp.Content |> shouldContainText "val hello : string" [] let ``Code and HTML is formatted with a tooltip in F# Script file using Razor template``() = @@ -478,9 +480,9 @@ let ``Code and HTML is formatted with a tooltip in F# Script file using Razor te RazorLiterate.ProcessScriptFile ( simpleFsx, templateCsHtml, temp.File, layoutRoots = [__SOURCE_DIRECTORY__ "files"] ) - temp.Content |> should contain "" - temp.Content |> should contain "val hello : string" - temp.Content |> should contain "Heading" + temp.Content |> shouldContainText "</a>" + temp.Content |> shouldContainText "val hello : string" + temp.Content |> shouldContainText "<title>Heading" // -------------------------------------------------------------------------------------- // Test processing simple files using the NuGet included templates @@ -503,8 +505,8 @@ let ``Can process fsx file using the template included in NuGet package``() = RazorLiterate.ProcessScriptFile ( simpleFsx, docPageTemplate, temp.File, layoutRoots = [__SOURCE_DIRECTORY__ </> "../../misc/templates"], replacements = info) - temp.Content |> should contain "val hello : string" - temp.Content |> should contain "<title>Heading" + temp.Content |> shouldContainText "val hello : string" + temp.Content |> shouldContainText "<title>Heading" [<Test>] let ``Can process md file using the template included in NuGet package``() = @@ -513,8 +515,8 @@ let ``Can process md file using the template included in NuGet package``() = RazorLiterate.ProcessMarkdown ( simpleMd, docPageTemplate, temp.File, layoutRoots = [__SOURCE_DIRECTORY__ </> "../../misc/templates"], replacements = info) - temp.Content |> should contain "val hello : string" - temp.Content |> should contain "<title>Heading" + temp.Content |> shouldContainText "val hello : string" + temp.Content |> shouldContainText "<title>Heading" [<Test>] @@ -542,7 +544,7 @@ hello |> Seq.length""" let doc = Literate.ParseMarkdownString(content, formatAgent=getFormatAgent()) let html = Literate.WriteHtml(doc) - html |> should contain "Some" + html |> shouldContainText "Some" [<Test>] @@ -571,9 +573,9 @@ let test = 42 let doc2 = Literate.FormatLiterateNodes(doc,format=OutputKind.Html) let html = Literate.WriteHtml(doc2.With(formattedTips="")) let tips = doc2.FormattedTips - tips |> should contain "test : int" + tips |> shouldContainText "test : int" html |> shouldNotContainText "test : int" - html |> should contain "hello" + html |> shouldContainText "hello" [<Test>] diff --git a/tests/FSharp.Literate.Tests/app.config b/tests/FSharp.Literate.Tests/app.config new file mode 100644 index 000000000..c15bb22a9 --- /dev/null +++ b/tests/FSharp.Literate.Tests/app.config @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="utf-8"?> +<configuration> +<runtime><assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> + <dependentAssembly> + <Paket>True</Paket> + <assemblyIdentity name="FSharp.Core" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="4.4.1.0" /> + </dependentAssembly> + <dependentAssembly> + <Paket>True</Paket> + <assemblyIdentity name="System.Collections.Immutable" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.2.1.0" /> + </dependentAssembly> + <dependentAssembly> + <Paket>True</Paket> + <assemblyIdentity name="System.IO.Compression" publicKeyToken="b77a5c561934e089" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="4.1.2.0" /> + </dependentAssembly> + <dependentAssembly> + <Paket>True</Paket> + <assemblyIdentity name="System.ValueTuple" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="4.0.1.0" /> + </dependentAssembly> +</assemblyBinding></runtime></configuration> diff --git a/tests/FSharp.Literate.Tests/paket.references b/tests/FSharp.Literate.Tests/paket.references index 582963fe6..be8741f32 100644 --- a/tests/FSharp.Literate.Tests/paket.references +++ b/tests/FSharp.Literate.Tests/paket.references @@ -1,6 +1,7 @@ FSharp.Core Microsoft.AspNet.Razor RazorEngine +FSharp.Compiler.Service group Test FsUnit diff --git a/tests/FSharp.Markdown.Tests/App.config b/tests/FSharp.Markdown.Tests/App.config deleted file mode 100644 index 782c7196a..000000000 --- a/tests/FSharp.Markdown.Tests/App.config +++ /dev/null @@ -1,40 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<configuration> - <startup> - <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" /> - </startup> - <runtime> - - <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> - <dependentAssembly> - <assemblyIdentity name="Microsoft.Build.Engine" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> - <bindingRedirect oldVersion="4.0.0.0" newVersion="12.0.0.0" /> - </dependentAssembly> - <dependentAssembly> - <assemblyIdentity name="Microsoft.Build.Framework" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> - <bindingRedirect oldVersion="4.0.0.0" newVersion="12.0.0.0" /> - </dependentAssembly> - <dependentAssembly> - <assemblyIdentity name="CommandLine" publicKeyToken="de6f01bd326f8c32" culture="neutral" /> - <bindingRedirect oldVersion="0.0.0.0-1.9.71.2" newVersion="1.9.71.2" /> - </dependentAssembly> - <dependentAssembly> - <assemblyIdentity name="System.Web.Razor" publicKeyToken="31bf3856ad364e35" culture="neutral" /> - <bindingRedirect oldVersion="0.0.0.0-3.0.0.0" newVersion="3.0.0.0" /> - </dependentAssembly> - <dependentAssembly> - <assemblyIdentity name="RazorEngine" publicKeyToken="9ee697374c7e744a" culture="neutral" /> - <bindingRedirect oldVersion="0.0.0.0-3.7.5.0" newVersion="3.7.5.0" /> - </dependentAssembly> - <dependentAssembly> - <Paket>True</Paket> - <assemblyIdentity name="FSharp.Core" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> - <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="4.4.0.0" /> - </dependentAssembly> - <dependentAssembly> - <Paket>True</Paket> - <assemblyIdentity name="nunit.framework" publicKeyToken="2638cd05610744eb" culture="neutral" /> - <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="3.6.1.0" /> - </dependentAssembly> -</assemblyBinding></runtime> -</configuration> \ No newline at end of file diff --git a/tests/FSharp.Markdown.Tests/FSharp.Markdown.Tests.fsproj b/tests/FSharp.Markdown.Tests/FSharp.Markdown.Tests.fsproj index f5d064f6b..cc6ade2dc 100644 --- a/tests/FSharp.Markdown.Tests/FSharp.Markdown.Tests.fsproj +++ b/tests/FSharp.Markdown.Tests/FSharp.Markdown.Tests.fsproj @@ -3,40 +3,35 @@ <PropertyGroup> <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> - <ProductVersion>8.0.30703</ProductVersion> - <SchemaVersion>2.0</SchemaVersion> <ProjectGuid>{07de4905-050c-4378-a039-f1ef7e1f309d}</ProjectGuid> <OutputType>Library</OutputType> <RootNamespace>FSharp.Markdown.Tests</RootNamespace> <AssemblyName>FSharp.Markdown.Tests</AssemblyName> - <TargetFrameworkVersion>v4.5</TargetFrameworkVersion> - <TargetFrameworkProfile> - </TargetFrameworkProfile> + <TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion> <Name>FSharp.Markdown.Tests</Name> <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <RestorePackages>true</RestorePackages> <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects> - <TargetFSharpCoreVersion>4.4.0.0</TargetFSharpCoreVersion> + <TargetFSharpCoreVersion>4.4.1.0</TargetFSharpCoreVersion> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <DebugSymbols>true</DebugSymbols> <DebugType>full</DebugType> <Optimize>false</Optimize> <Tailcalls>false</Tailcalls> - <OutputPath>bin\Debug\</OutputPath> + <OutputPath>$(SolutionDir)\tests\bin</OutputPath> <DefineConstants>DEBUG;TRACE</DefineConstants> <WarningLevel>3</WarningLevel> - <DocumentationFile>bin\Debug\FSharp.Markdown.Tests.xml</DocumentationFile> + <DocumentationFile>$(SolutionDir)\tests\bin\FSharp.Markdown.Tests.xml</DocumentationFile> <PlatformTarget>AnyCPU</PlatformTarget> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> - <DebugType>pdbonly</DebugType> + <DebugType>full</DebugType> <Optimize>true</Optimize> <Tailcalls>true</Tailcalls> - <OutputPath>bin\Release\</OutputPath> + <OutputPath>$(SolutionDir)\tests\bin</OutputPath> <DefineConstants>TRACE</DefineConstants> <WarningLevel>3</WarningLevel> - <DocumentationFile>bin\Release\FSharp.Markdown.Tests.xml</DocumentationFile> + <DocumentationFile>$(SolutionDir)\tests\bin\FSharp.Markdown.Tests.xml</DocumentationFile> <PlatformTarget>AnyCPU</PlatformTarget> </PropertyGroup> <PropertyGroup> @@ -44,6 +39,11 @@ <MinimumVisualStudioVersion Condition="'$(MinimumVisualStudioVersion)' == ''">11</MinimumVisualStudioVersion> </PropertyGroup> <Choose> + <When Condition="Exists('$(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\4.1\Framework\v4.0\Microsoft.FSharp.Targets')"> + <PropertyGroup> + <FSharpTargetsPath>$(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\4.1\Framework\v4.0\Microsoft.FSharp.Targets</FSharpTargetsPath> + </PropertyGroup> + </When> <When Condition="'$(VisualStudioVersion)' != '11.0' and Exists('$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\FSharp\Microsoft.FSharp.Targets')"> <PropertyGroup> <FSharpTargetsPath>$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\FSharp\Microsoft.FSharp.Targets</FSharpTargetsPath> @@ -67,14 +67,12 @@ </Choose> <Import Project="$(FSharpTargetsPath)" Condition="Exists('$(FSharpTargetsPath)')" /> <ItemGroup> + <None Include="paket.references" /> <Compile Include="TestFiles.fs" /> <Compile Include="Markdown.fs" /> <Compile Include="Externals.fs" /> <Compile Include="CommonMarkSpecTest.fs" /> - <None Include="App.config"> - <CopyToOutputDirectory>Always</CopyToOutputDirectory> - </None> - <None Include="paket.references" /> + <Content Include="app.config" /> </ItemGroup> <ItemGroup> <Reference Include="System" /> @@ -111,7 +109,7 @@ </Reference> </ItemGroup> </When> - <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.0' Or $(TargetFrameworkVersion) == 'v4.5' Or $(TargetFrameworkVersion) == 'v4.5.1' Or $(TargetFrameworkVersion) == 'v4.5.2' Or $(TargetFrameworkVersion) == 'v4.5.3' Or $(TargetFrameworkVersion) == 'v4.6' Or $(TargetFrameworkVersion) == 'v4.6.1' Or $(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3')"> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.0'"> <ItemGroup> <Reference Include="FSharp.Core"> <HintPath>..\..\packages\FSharp.Core\lib\net40\FSharp.Core.dll</HintPath> @@ -120,6 +118,24 @@ </Reference> </ItemGroup> </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.5' Or $(TargetFrameworkVersion) == 'v4.5.1' Or $(TargetFrameworkVersion) == 'v4.5.2' Or $(TargetFrameworkVersion) == 'v4.5.3' Or $(TargetFrameworkVersion) == 'v4.6' Or $(TargetFrameworkVersion) == 'v4.6.1' Or $(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3')"> + <ItemGroup> + <Reference Include="FSharp.Core"> + <HintPath>..\..\packages\FSharp.Core\lib\net45\FSharp.Core.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="($(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6') Or ($(TargetFrameworkIdentifier) == '.NETCoreApp' And $(TargetFrameworkVersion) == 'v1.0')"> + <ItemGroup> + <Reference Include="FSharp.Core"> + <HintPath>..\..\packages\FSharp.Core\lib\netstandard1.6\FSharp.Core.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> <When Condition="($(TargetFrameworkIdentifier) == 'MonoAndroid') Or ($(TargetFrameworkIdentifier) == 'MonoTouch') Or ($(TargetFrameworkIdentifier) == 'Xamarin.iOS')"> <ItemGroup> <Reference Include="FSharp.Core"> @@ -129,7 +145,7 @@ </Reference> </ItemGroup> </When> - <When Condition="($(TargetFrameworkIdentifier) == '.NETCore') Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2' Or $(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')) Or ($(TargetFrameworkIdentifier) == '.NETCoreApp' And $(TargetFrameworkVersion) == 'v1.0') Or ($(TargetFrameworkIdentifier) == 'Xamarin.Mac') Or ($(TargetFrameworkProfile) == 'Profile7') Or ($(TargetFrameworkProfile) == 'Profile44')"> + <When Condition="($(TargetFrameworkIdentifier) == '.NETCore') Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2' Or $(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5')) Or ($(TargetFrameworkIdentifier) == 'Xamarin.Mac') Or ($(TargetFrameworkProfile) == 'Profile7') Or ($(TargetFrameworkProfile) == 'Profile44')"> <ItemGroup> <Reference Include="FSharp.Core"> <HintPath>..\..\packages\FSharp.Core\lib\portable-net45+netcore45\FSharp.Core.dll</HintPath> @@ -208,10 +224,30 @@ </When> </Choose> <Choose> - <When Condition="($(TargetFrameworkProfile) == 'Profile5') Or ($(TargetFrameworkProfile) == 'Profile6') Or ($(TargetFrameworkProfile) == 'Profile7') Or ($(TargetFrameworkProfile) == 'Profile14') Or ($(TargetFrameworkProfile) == 'Profile19') Or ($(TargetFrameworkProfile) == 'Profile24') Or ($(TargetFrameworkProfile) == 'Profile31') Or ($(TargetFrameworkProfile) == 'Profile32') Or ($(TargetFrameworkProfile) == 'Profile37') Or ($(TargetFrameworkProfile) == 'Profile42') Or ($(TargetFrameworkProfile) == 'Profile44') Or ($(TargetFrameworkProfile) == 'Profile47') Or ($(TargetFrameworkProfile) == 'Profile49') Or ($(TargetFrameworkProfile) == 'Profile78') Or ($(TargetFrameworkProfile) == 'Profile84') Or ($(TargetFrameworkProfile) == 'Profile92') Or ($(TargetFrameworkProfile) == 'Profile102') Or ($(TargetFrameworkProfile) == 'Profile111') Or ($(TargetFrameworkProfile) == 'Profile136') Or ($(TargetFrameworkProfile) == 'Profile147') Or ($(TargetFrameworkProfile) == 'Profile151') Or ($(TargetFrameworkProfile) == 'Profile157') Or ($(TargetFrameworkProfile) == 'Profile158') Or ($(TargetFrameworkProfile) == 'Profile225') Or ($(TargetFrameworkProfile) == 'Profile240') Or ($(TargetFrameworkProfile) == 'Profile255') Or ($(TargetFrameworkProfile) == 'Profile259') Or ($(TargetFrameworkProfile) == 'Profile328') Or ($(TargetFrameworkProfile) == 'Profile336') Or ($(TargetFrameworkProfile) == 'Profile344')"> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2')"> <ItemGroup> - <Reference Include="Zlib.Portable"> - <HintPath>..\..\packages\Zlib.Portable\lib\portable-net4+sl5+wp8+win8+wpa81+MonoTouch+MonoAndroid\Zlib.Portable.dll</HintPath> + <Reference Include="System.Collections"> + <HintPath>..\..\packages\System.Collections\ref\netstandard1.0\System.Collections.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Collections"> + <HintPath>..\..\packages\System.Collections\ref\netstandard1.3\System.Collections.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Collections.Concurrent"> + <HintPath>..\..\packages\System.Collections.Concurrent\lib\netstandard1.3\System.Collections.Concurrent.dll</HintPath> <Private>True</Private> <Paket>True</Paket> </Reference> @@ -219,21 +255,1170 @@ </When> </Choose> <Choose> - <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.5'"> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> <ItemGroup> - <Reference Include="FsUnit.NUnit"> - <HintPath>..\..\packages\test\FsUnit\lib\net45\FsUnit.NUnit.dll</HintPath> + <Reference Include="mscorlib"> + <Paket>True</Paket> + </Reference> + <Reference Include="System.Console"> + <HintPath>..\..\packages\System.Console\lib\net46\System.Console.dll</HintPath> <Private>True</Private> <Paket>True</Paket> </Reference> </ItemGroup> </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Console"> + <HintPath>..\..\packages\System.Console\ref\netstandard1.3\System.Console.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> </Choose> <Choose> - <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.5'"> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2')"> <ItemGroup> - <Reference Include="nunit.framework"> - <HintPath>..\..\packages\test\NUnit\lib\net45\nunit.framework.dll</HintPath> + <Reference Include="System.Diagnostics.Debug"> + <HintPath>..\..\packages\System.Diagnostics.Debug\ref\netstandard1.0\System.Diagnostics.Debug.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Diagnostics.Debug"> + <HintPath>..\..\packages\System.Diagnostics.Debug\ref\netstandard1.3\System.Diagnostics.Debug.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Diagnostics.DiagnosticSource"> + <HintPath>..\..\packages\System.Diagnostics.DiagnosticSource\lib\net46\System.Diagnostics.DiagnosticSource.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Diagnostics.DiagnosticSource"> + <HintPath>..\..\packages\System.Diagnostics.DiagnosticSource\lib\netstandard1.3\System.Diagnostics.DiagnosticSource.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.2'"> + <ItemGroup> + <Reference Include="mscorlib"> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3')"> + <ItemGroup> + <Reference Include="System.Diagnostics.Tracing"> + <HintPath>..\..\packages\System.Diagnostics.Tracing\lib\net462\System.Diagnostics.Tracing.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4')"> + <ItemGroup> + <Reference Include="System.Diagnostics.Tracing"> + <HintPath>..\..\packages\System.Diagnostics.Tracing\ref\netstandard1.3\System.Diagnostics.Tracing.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Diagnostics.Tracing"> + <HintPath>..\..\packages\System.Diagnostics.Tracing\ref\netstandard1.5\System.Diagnostics.Tracing.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2')"> + <ItemGroup> + <Reference Include="System.Globalization"> + <HintPath>..\..\packages\System.Globalization\ref\netstandard1.0\System.Globalization.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Globalization"> + <HintPath>..\..\packages\System.Globalization\ref\netstandard1.3\System.Globalization.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Globalization.Calendars"> + <HintPath>..\..\packages\System.Globalization.Calendars\lib\net46\System.Globalization.Calendars.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Globalization.Calendars"> + <HintPath>..\..\packages\System.Globalization.Calendars\ref\netstandard1.3\System.Globalization.Calendars.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Globalization.Extensions"> + <HintPath>..\..\packages\System.Globalization.Extensions\lib\net46\System.Globalization.Extensions.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Globalization.Extensions"> + <HintPath>..\..\packages\System.Globalization.Extensions\ref\netstandard1.3\System.Globalization.Extensions.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3')"> + <ItemGroup> + <Reference Include="System.IO"> + <HintPath>..\..\packages\System.IO\lib\net462\System.IO.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2')"> + <ItemGroup> + <Reference Include="System.IO"> + <HintPath>..\..\packages\System.IO\ref\netstandard1.0\System.IO.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4')"> + <ItemGroup> + <Reference Include="System.IO"> + <HintPath>..\..\packages\System.IO\ref\netstandard1.3\System.IO.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.IO"> + <HintPath>..\..\packages\System.IO\ref\netstandard1.5\System.IO.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.IO.FileSystem"> + <HintPath>..\..\packages\System.IO.FileSystem\lib\net46\System.IO.FileSystem.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.IO.FileSystem"> + <HintPath>..\..\packages\System.IO.FileSystem\ref\netstandard1.3\System.IO.FileSystem.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.IO.FileSystem.Primitives"> + <HintPath>..\..\packages\System.IO.FileSystem.Primitives\lib\net46\System.IO.FileSystem.Primitives.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.IO.FileSystem.Primitives"> + <HintPath>..\..\packages\System.IO.FileSystem.Primitives\lib\netstandard1.3\System.IO.FileSystem.Primitives.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Linq"> + <HintPath>..\..\packages\System.Linq\lib\net463\System.Linq.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Linq"> + <HintPath>..\..\packages\System.Linq\lib\netstandard1.6\System.Linq.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Linq.Expressions"> + <HintPath>..\..\packages\System.Linq.Expressions\lib\net463\System.Linq.Expressions.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Linq.Expressions"> + <HintPath>..\..\packages\System.Linq.Expressions\lib\netstandard1.6\System.Linq.Expressions.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Linq.Queryable"> + <HintPath>..\..\packages\System.Linq.Queryable\lib\netstandard1.3\System.Linq.Queryable.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Net.Http"> + <HintPath>..\..\packages\System.Net.Http\lib\net46\System.Net.Http.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Net.Http"> + <HintPath>..\..\packages\System.Net.Http\ref\netstandard1.3\System.Net.Http.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Net.Requests"> + <HintPath>..\..\packages\System.Net.Requests\ref\netstandard1.3\System.Net.Requests.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Net.WebHeaderCollection"> + <HintPath>..\..\packages\System.Net.WebHeaderCollection\lib\netstandard1.3\System.Net.WebHeaderCollection.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.ObjectModel"> + <HintPath>..\..\packages\System.ObjectModel\lib\netstandard1.3\System.ObjectModel.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3')"> + <ItemGroup> + <Reference Include="System.Reflection"> + <HintPath>..\..\packages\System.Reflection\lib\net462\System.Reflection.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2')"> + <ItemGroup> + <Reference Include="System.Reflection"> + <HintPath>..\..\packages\System.Reflection\ref\netstandard1.0\System.Reflection.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4')"> + <ItemGroup> + <Reference Include="System.Reflection"> + <HintPath>..\..\packages\System.Reflection\ref\netstandard1.3\System.Reflection.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Reflection"> + <HintPath>..\..\packages\System.Reflection\ref\netstandard1.5\System.Reflection.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Reflection.Emit"> + <HintPath>..\..\packages\System.Reflection.Emit\lib\netstandard1.3\System.Reflection.Emit.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Reflection.Emit.ILGeneration"> + <HintPath>..\..\packages\System.Reflection.Emit.ILGeneration\lib\netstandard1.3\System.Reflection.Emit.ILGeneration.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Reflection.Emit.Lightweight"> + <HintPath>..\..\packages\System.Reflection.Emit.Lightweight\lib\netstandard1.3\System.Reflection.Emit.Lightweight.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Reflection.TypeExtensions"> + <HintPath>..\..\packages\System.Reflection.TypeExtensions\lib\net462\System.Reflection.TypeExtensions.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Reflection.TypeExtensions"> + <HintPath>..\..\packages\System.Reflection.TypeExtensions\lib\netstandard1.5\System.Reflection.TypeExtensions.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.5' Or $(TargetFrameworkVersion) == 'v4.5.1' Or $(TargetFrameworkVersion) == 'v4.5.2' Or $(TargetFrameworkVersion) == 'v4.5.3' Or $(TargetFrameworkVersion) == 'v4.6' Or $(TargetFrameworkVersion) == 'v4.6.1')"> + <ItemGroup> + <Reference Include="System.ComponentModel.Composition"> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3')"> + <ItemGroup> + <Reference Include="System.ComponentModel.Composition"> + <Paket>True</Paket> + </Reference> + <Reference Include="System.Runtime"> + <HintPath>..\..\packages\System.Runtime\lib\net462\System.Runtime.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1')"> + <ItemGroup> + <Reference Include="System.Runtime"> + <HintPath>..\..\packages\System.Runtime\ref\netstandard1.0\System.Runtime.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.2'"> + <ItemGroup> + <Reference Include="System.Runtime"> + <HintPath>..\..\packages\System.Runtime\ref\netstandard1.2\System.Runtime.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4')"> + <ItemGroup> + <Reference Include="System.Runtime"> + <HintPath>..\..\packages\System.Runtime\ref\netstandard1.3\System.Runtime.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Runtime"> + <HintPath>..\..\packages\System.Runtime\ref\netstandard1.5\System.Runtime.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3')"> + <ItemGroup> + <Reference Include="System.Runtime.Extensions"> + <HintPath>..\..\packages\System.Runtime.Extensions\lib\net462\System.Runtime.Extensions.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2')"> + <ItemGroup> + <Reference Include="System.Runtime.Extensions"> + <HintPath>..\..\packages\System.Runtime.Extensions\ref\netstandard1.0\System.Runtime.Extensions.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4')"> + <ItemGroup> + <Reference Include="System.Runtime.Extensions"> + <HintPath>..\..\packages\System.Runtime.Extensions\ref\netstandard1.3\System.Runtime.Extensions.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Runtime.Extensions"> + <HintPath>..\..\packages\System.Runtime.Extensions\ref\netstandard1.5\System.Runtime.Extensions.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Runtime.Handles"> + <HintPath>..\..\packages\System.Runtime.Handles\ref\netstandard1.3\System.Runtime.Handles.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.2'"> + <ItemGroup> + <Reference Include="System.Runtime.InteropServices"> + <HintPath>..\..\packages\System.Runtime.InteropServices\lib\net462\System.Runtime.InteropServices.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Runtime.InteropServices"> + <HintPath>..\..\packages\System.Runtime.InteropServices\lib\net463\System.Runtime.InteropServices.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.1'"> + <ItemGroup> + <Reference Include="System.Runtime.InteropServices"> + <HintPath>..\..\packages\System.Runtime.InteropServices\ref\netstandard1.1\System.Runtime.InteropServices.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.2'"> + <ItemGroup> + <Reference Include="System.Runtime.InteropServices"> + <HintPath>..\..\packages\System.Runtime.InteropServices\ref\netstandard1.2\System.Runtime.InteropServices.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4')"> + <ItemGroup> + <Reference Include="System.Runtime.InteropServices"> + <HintPath>..\..\packages\System.Runtime.InteropServices\ref\netstandard1.3\System.Runtime.InteropServices.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Runtime.InteropServices"> + <HintPath>..\..\packages\System.Runtime.InteropServices\ref\netstandard1.5\System.Runtime.InteropServices.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Runtime.Numerics"> + <HintPath>..\..\packages\System.Runtime.Numerics\lib\netstandard1.3\System.Runtime.Numerics.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.Algorithms"> + <HintPath>..\..\packages\System.Security.Cryptography.Algorithms\lib\net463\System.Security.Cryptography.Algorithms.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.Algorithms"> + <HintPath>..\..\packages\System.Security.Cryptography.Algorithms\ref\netstandard1.6\System.Security.Cryptography.Algorithms.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.Cng"> + <HintPath>..\..\packages\System.Security.Cryptography.Cng\lib\net463\System.Security.Cryptography.Cng.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.Cng"> + <HintPath>..\..\packages\System.Security.Cryptography.Cng\ref\netstandard1.6\System.Security.Cryptography.Cng.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.Csp"> + <HintPath>..\..\packages\System.Security.Cryptography.Csp\lib\net46\System.Security.Cryptography.Csp.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.Csp"> + <HintPath>..\..\packages\System.Security.Cryptography.Csp\ref\netstandard1.3\System.Security.Cryptography.Csp.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.Encoding"> + <HintPath>..\..\packages\System.Security.Cryptography.Encoding\lib\net46\System.Security.Cryptography.Encoding.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.Encoding"> + <HintPath>..\..\packages\System.Security.Cryptography.Encoding\ref\netstandard1.3\System.Security.Cryptography.Encoding.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="($(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6') Or ($(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3')"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.OpenSsl"> + <HintPath>..\..\packages\System.Security.Cryptography.OpenSsl\lib\netstandard1.6\System.Security.Cryptography.OpenSsl.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.Primitives"> + <HintPath>..\..\packages\System.Security.Cryptography.Primitives\lib\net46\System.Security.Cryptography.Primitives.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.Primitives"> + <HintPath>..\..\packages\System.Security.Cryptography.Primitives\lib\netstandard1.3\System.Security.Cryptography.Primitives.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.X509Certificates"> + <HintPath>..\..\packages\System.Security.Cryptography.X509Certificates\lib\net461\System.Security.Cryptography.X509Certificates.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.X509Certificates"> + <HintPath>..\..\packages\System.Security.Cryptography.X509Certificates\ref\netstandard1.4\System.Security.Cryptography.X509Certificates.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2')"> + <ItemGroup> + <Reference Include="System.Text.Encoding"> + <HintPath>..\..\packages\System.Text.Encoding\ref\netstandard1.0\System.Text.Encoding.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Text.Encoding"> + <HintPath>..\..\packages\System.Text.Encoding\ref\netstandard1.3\System.Text.Encoding.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Text.RegularExpressions"> + <HintPath>..\..\packages\System.Text.RegularExpressions\lib\net463\System.Text.RegularExpressions.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Text.RegularExpressions"> + <HintPath>..\..\packages\System.Text.RegularExpressions\lib\netstandard1.6\System.Text.RegularExpressions.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Threading"> + <HintPath>..\..\packages\System.Threading\lib\netstandard1.3\System.Threading.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="($(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.0') Or ($(TargetFrameworkIdentifier) == 'WindowsPhone' And $(TargetFrameworkVersion) == 'v8.1')"> + <ItemGroup> + <Reference Include="System.Threading.Tasks"> + <HintPath>..\..\packages\System.Threading.Tasks\ref\netstandard1.0\System.Threading.Tasks.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Threading.Tasks"> + <HintPath>..\..\packages\System.Threading.Tasks\ref\netstandard1.3\System.Threading.Tasks.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Threading.Tasks.Parallel"> + <HintPath>..\..\packages\System.Threading.Tasks.Parallel\lib\netstandard1.3\System.Threading.Tasks.Parallel.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Threading.Thread"> + <HintPath>..\..\packages\System.Threading.Thread\lib\netstandard1.3\System.Threading.Thread.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Threading.ThreadPool"> + <HintPath>..\..\packages\System.Threading.ThreadPool\lib\netstandard1.3\System.Threading.ThreadPool.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="($(TargetFrameworkIdentifier) == 'WindowsPhoneApp') Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2' Or $(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5')) Or ($(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.5' Or $(TargetFrameworkVersion) == 'v4.5.1' Or $(TargetFrameworkVersion) == 'v4.5.2' Or $(TargetFrameworkVersion) == 'v4.5.3' Or $(TargetFrameworkVersion) == 'v4.6' Or $(TargetFrameworkVersion) == 'v4.6.1' Or $(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3')) Or ($(TargetFrameworkIdentifier) == 'WindowsPhone' And ($(TargetFrameworkVersion) == 'v8.0' Or $(TargetFrameworkVersion) == 'v8.1'))"> + <ItemGroup> + <Reference Include="System.ValueTuple"> + <HintPath>..\..\packages\System.ValueTuple\lib\netstandard1.0\System.ValueTuple.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.0'"> + <ItemGroup> + <Reference Include="System.ValueTuple"> + <HintPath>..\..\packages\System.ValueTuple\lib\portable-net40+sl4+win8+wp8\System.ValueTuple.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="($(TargetFrameworkProfile) == 'Profile5') Or ($(TargetFrameworkProfile) == 'Profile6') Or ($(TargetFrameworkProfile) == 'Profile7') Or ($(TargetFrameworkProfile) == 'Profile14') Or ($(TargetFrameworkProfile) == 'Profile19') Or ($(TargetFrameworkProfile) == 'Profile24') Or ($(TargetFrameworkProfile) == 'Profile31') Or ($(TargetFrameworkProfile) == 'Profile32') Or ($(TargetFrameworkProfile) == 'Profile37') Or ($(TargetFrameworkProfile) == 'Profile42') Or ($(TargetFrameworkProfile) == 'Profile44') Or ($(TargetFrameworkProfile) == 'Profile47') Or ($(TargetFrameworkProfile) == 'Profile49') Or ($(TargetFrameworkProfile) == 'Profile78') Or ($(TargetFrameworkProfile) == 'Profile84') Or ($(TargetFrameworkProfile) == 'Profile92') Or ($(TargetFrameworkProfile) == 'Profile102') Or ($(TargetFrameworkProfile) == 'Profile111') Or ($(TargetFrameworkProfile) == 'Profile136') Or ($(TargetFrameworkProfile) == 'Profile147') Or ($(TargetFrameworkProfile) == 'Profile151') Or ($(TargetFrameworkProfile) == 'Profile157') Or ($(TargetFrameworkProfile) == 'Profile158') Or ($(TargetFrameworkProfile) == 'Profile225') Or ($(TargetFrameworkProfile) == 'Profile240') Or ($(TargetFrameworkProfile) == 'Profile255') Or ($(TargetFrameworkProfile) == 'Profile259') Or ($(TargetFrameworkProfile) == 'Profile328') Or ($(TargetFrameworkProfile) == 'Profile336') Or ($(TargetFrameworkProfile) == 'Profile344')"> + <ItemGroup> + <Reference Include="Zlib.Portable"> + <HintPath>..\..\packages\Zlib.Portable\lib\portable-net4+sl5+wp8+win8+wpa81+MonoTouch+MonoAndroid\Zlib.Portable.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.5' Or $(TargetFrameworkVersion) == 'v4.5.1' Or $(TargetFrameworkVersion) == 'v4.5.2' Or $(TargetFrameworkVersion) == 'v4.5.3' Or $(TargetFrameworkVersion) == 'v4.6' Or $(TargetFrameworkVersion) == 'v4.6.1' Or $(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3')"> + <ItemGroup> + <Reference Include="FsUnit.NUnit"> + <HintPath>..\..\packages\test\FsUnit\lib\net45\FsUnit.NUnit.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="($(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6') Or ($(TargetFrameworkIdentifier) == '.NETCoreApp' And $(TargetFrameworkVersion) == 'v1.0')"> + <ItemGroup> + <Reference Include="FsUnit.NUnit"> + <HintPath>..\..\packages\test\FsUnit\lib\netstandard1.6\FsUnit.NUnit.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="Microsoft.Win32.Primitives"> + <HintPath>..\..\packages\test\Microsoft.Win32.Primitives\lib\net46\Microsoft.Win32.Primitives.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="Microsoft.Win32.Primitives"> + <HintPath>..\..\packages\test\Microsoft.Win32.Primitives\ref\netstandard1.3\Microsoft.Win32.Primitives.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == 'MonoAndroid'"> + <ItemGroup> + <Reference Include="nunit.framework"> + <HintPath>..\..\packages\test\NUnit\lib\MonoAndroid\nunit.framework.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v2.0' Or $(TargetFrameworkVersion) == 'v3.0')"> + <ItemGroup> + <Reference Include="NUnit.System.Linq"> + <HintPath>..\..\packages\test\NUnit\lib\net20\NUnit.System.Linq.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + <Reference Include="nunit.framework"> + <HintPath>..\..\packages\test\NUnit\lib\net20\nunit.framework.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v3.5'"> + <ItemGroup> + <Reference Include="nunit.framework"> + <HintPath>..\..\packages\test\NUnit\lib\net35\nunit.framework.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.0'"> + <ItemGroup> + <Reference Include="nunit.framework"> + <HintPath>..\..\packages\test\NUnit\lib\net40\nunit.framework.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.5' Or $(TargetFrameworkVersion) == 'v4.5.1' Or $(TargetFrameworkVersion) == 'v4.5.2' Or $(TargetFrameworkVersion) == 'v4.5.3' Or $(TargetFrameworkVersion) == 'v4.6' Or $(TargetFrameworkVersion) == 'v4.6.1' Or $(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3')"> + <ItemGroup> + <Reference Include="nunit.framework"> + <HintPath>..\..\packages\test\NUnit\lib\net45\nunit.framework.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="($(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6') Or ($(TargetFrameworkIdentifier) == '.NETCoreApp' And $(TargetFrameworkVersion) == 'v1.0')"> + <ItemGroup> + <Reference Include="nunit.framework"> + <HintPath>..\..\packages\test\NUnit\lib\netstandard1.6\nunit.framework.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="($(TargetFrameworkIdentifier) == 'WindowsPhoneApp') Or ($(TargetFrameworkIdentifier) == '.NETCore') Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2' Or $(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5')) Or ($(TargetFrameworkIdentifier) == 'WindowsPhone' And ($(TargetFrameworkVersion) == 'v8.0' Or $(TargetFrameworkVersion) == 'v8.1')) Or ($(TargetFrameworkIdentifier) == 'MonoTouch') Or ($(TargetFrameworkIdentifier) == 'Xamarin.Mac') Or ($(TargetFrameworkProfile) == 'Profile7') Or ($(TargetFrameworkProfile) == 'Profile31') Or ($(TargetFrameworkProfile) == 'Profile32') Or ($(TargetFrameworkProfile) == 'Profile44') Or ($(TargetFrameworkProfile) == 'Profile49') Or ($(TargetFrameworkProfile) == 'Profile78') Or ($(TargetFrameworkProfile) == 'Profile84') Or ($(TargetFrameworkProfile) == 'Profile111') Or ($(TargetFrameworkProfile) == 'Profile151') Or ($(TargetFrameworkProfile) == 'Profile157') Or ($(TargetFrameworkProfile) == 'Profile259')"> + <ItemGroup> + <Reference Include="nunit.framework"> + <HintPath>..\..\packages\test\NUnit\lib\portable-net45+win8+wp8+wpa81\nunit.framework.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == 'Xamarin.iOS'"> + <ItemGroup> + <Reference Include="nunit.framework"> + <HintPath>..\..\packages\test\NUnit\lib\Xamarin.iOS10\nunit.framework.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.AppContext"> + <HintPath>..\..\packages\test\System.AppContext\lib\net463\System.AppContext.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.AppContext"> + <HintPath>..\..\packages\test\System.AppContext\lib\netstandard1.6\System.AppContext.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="($(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6') Or ($(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3')"> + <ItemGroup> + <Reference Include="System.Buffers"> + <HintPath>..\..\packages\test\System.Buffers\lib\netstandard1.1\System.Buffers.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.IO.Compression"> + <HintPath>..\..\packages\test\System.IO.Compression\lib\net46\System.IO.Compression.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.IO.Compression.FileSystem"> + <Paket>True</Paket> + </Reference> + <Reference Include="System.IO.Compression.ZipFile"> + <HintPath>..\..\packages\test\System.IO.Compression.ZipFile\lib\net46\System.IO.Compression.ZipFile.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.IO.Compression.ZipFile"> + <HintPath>..\..\packages\test\System.IO.Compression.ZipFile\lib\netstandard1.3\System.IO.Compression.ZipFile.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Net.Sockets"> + <HintPath>..\..\packages\test\System.Net.Sockets\lib\net46\System.Net.Sockets.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Net.Sockets"> + <HintPath>..\..\packages\test\System.Net.Sockets\ref\netstandard1.3\System.Net.Sockets.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Runtime.InteropServices.RuntimeInformation"> + <HintPath>..\..\packages\test\System.Runtime.InteropServices.RuntimeInformation\lib\net45\System.Runtime.InteropServices.RuntimeInformation.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Runtime.InteropServices.RuntimeInformation"> + <HintPath>..\..\packages\test\System.Runtime.InteropServices.RuntimeInformation\lib\netstandard1.1\System.Runtime.InteropServices.RuntimeInformation.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="($(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6') Or ($(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3')"> + <ItemGroup> + <Reference Include="System.Runtime.InteropServices.RuntimeInformation"> + <HintPath>..\..\packages\test\System.Runtime.InteropServices.RuntimeInformation\ref\netstandard1.1\System.Runtime.InteropServices.RuntimeInformation.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Runtime.Loader"> + <HintPath>..\..\packages\test\System.Runtime.Loader\lib\netstandard1.5\System.Runtime.Loader.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="($(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6') Or ($(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3')"> + <ItemGroup> + <Reference Include="System.Runtime.Loader"> + <HintPath>..\..\packages\test\System.Runtime.Loader\ref\netstandard1.5\System.Runtime.Loader.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="($(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6') Or ($(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3')"> + <ItemGroup> + <Reference Include="System.Threading.Tasks.Extensions"> + <HintPath>..\..\packages\test\System.Threading.Tasks.Extensions\lib\netstandard1.0\System.Threading.Tasks.Extensions.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Xml"> + <Paket>True</Paket> + </Reference> + <Reference Include="System.Xml.ReaderWriter"> + <HintPath>..\..\packages\test\System.Xml.ReaderWriter\lib\net46\System.Xml.ReaderWriter.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Xml.ReaderWriter"> + <HintPath>..\..\packages\test\System.Xml.ReaderWriter\lib\netstandard1.3\System.Xml.ReaderWriter.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Xml.XDocument"> + <HintPath>..\..\packages\test\System.Xml.XDocument\lib\netstandard1.3\System.Xml.XDocument.dll</HintPath> <Private>True</Private> <Paket>True</Paket> </Reference> diff --git a/tests/FSharp.Markdown.Tests/app.config b/tests/FSharp.Markdown.Tests/app.config new file mode 100644 index 000000000..c15bb22a9 --- /dev/null +++ b/tests/FSharp.Markdown.Tests/app.config @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="utf-8"?> +<configuration> +<runtime><assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> + <dependentAssembly> + <Paket>True</Paket> + <assemblyIdentity name="FSharp.Core" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="4.4.1.0" /> + </dependentAssembly> + <dependentAssembly> + <Paket>True</Paket> + <assemblyIdentity name="System.Collections.Immutable" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.2.1.0" /> + </dependentAssembly> + <dependentAssembly> + <Paket>True</Paket> + <assemblyIdentity name="System.IO.Compression" publicKeyToken="b77a5c561934e089" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="4.1.2.0" /> + </dependentAssembly> + <dependentAssembly> + <Paket>True</Paket> + <assemblyIdentity name="System.ValueTuple" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="4.0.1.0" /> + </dependentAssembly> +</assemblyBinding></runtime></configuration> diff --git a/tests/FSharp.Markdown.Tests/paket.references b/tests/FSharp.Markdown.Tests/paket.references index 3d9223558..d0bdeb229 100644 --- a/tests/FSharp.Markdown.Tests/paket.references +++ b/tests/FSharp.Markdown.Tests/paket.references @@ -3,4 +3,4 @@ FSharp.Data group Test FsUnit -group Test \ No newline at end of file +NUnit diff --git a/tests/FSharp.MetadataFormat.Tests/App.config b/tests/FSharp.MetadataFormat.Tests/App.config deleted file mode 100644 index 19ea03904..000000000 --- a/tests/FSharp.MetadataFormat.Tests/App.config +++ /dev/null @@ -1,64 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<configuration> - <startup> - <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" /> - </startup> - <system.diagnostics> - <sources> - <source name="FSharp.Formatting" switchName="sourceSwitch" switchType="System.Diagnostics.SourceSwitch"> - <listeners> - <add name="consoleListener" /> - <remove name="Default" /> - </listeners> - </source> - <source name="Yaaf.FSharp.Scripting" switchName="sourceSwitch" switchType="System.Diagnostics.SourceSwitch"> - <listeners> - <add name="consoleListener" /> - <remove name="Default" /> - </listeners> - </source> - </sources> - <switches> - <add name="sourceSwitch" value="All" /> - </switches> - <sharedListeners> - <add name="consoleListener" type="System.Diagnostics.ConsoleTraceListener"> - <filter type="System.Diagnostics.EventTypeFilter" initializeData="Information" /> - </add> - </sharedListeners> - </system.diagnostics> - <runtime> - -<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> - <dependentAssembly> - <assemblyIdentity name="Microsoft.Build.Engine" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> - <bindingRedirect oldVersion="4.0.0.0" newVersion="12.0.0.0" /> - </dependentAssembly> - <dependentAssembly> - <assemblyIdentity name="Microsoft.Build.Framework" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> - <bindingRedirect oldVersion="4.0.0.0" newVersion="12.0.0.0" /> - </dependentAssembly> - <dependentAssembly> - <assemblyIdentity name="CommandLine" publicKeyToken="de6f01bd326f8c32" culture="neutral" /> - <bindingRedirect oldVersion="0.0.0.0-1.9.71.2" newVersion="1.9.71.2" /> - </dependentAssembly> - <dependentAssembly> - <assemblyIdentity name="System.Web.Razor" publicKeyToken="31bf3856ad364e35" culture="neutral" /> - <bindingRedirect oldVersion="0.0.0.0-3.0.0.0" newVersion="3.0.0.0" /> - </dependentAssembly> - <dependentAssembly> - <assemblyIdentity name="RazorEngine" publicKeyToken="9ee697374c7e744a" culture="neutral" /> - <bindingRedirect oldVersion="0.0.0.0-3.7.5.0" newVersion="3.7.5.0" /> - </dependentAssembly> - <dependentAssembly> - <Paket>True</Paket> - <assemblyIdentity name="FSharp.Core" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> - <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="4.4.0.0" /> - </dependentAssembly> - <dependentAssembly> - <Paket>True</Paket> - <assemblyIdentity name="nunit.framework" publicKeyToken="2638cd05610744eb" culture="neutral" /> - <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="3.6.1.0" /> - </dependentAssembly> -</assemblyBinding></runtime> -</configuration> diff --git a/tests/FSharp.MetadataFormat.Tests/FSharp.MetadataFormat.Tests.fsproj b/tests/FSharp.MetadataFormat.Tests/FSharp.MetadataFormat.Tests.fsproj index ea654a060..ff43b5217 100644 --- a/tests/FSharp.MetadataFormat.Tests/FSharp.MetadataFormat.Tests.fsproj +++ b/tests/FSharp.MetadataFormat.Tests/FSharp.MetadataFormat.Tests.fsproj @@ -1,62 +1,50 @@ <?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> +<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" /> <PropertyGroup> <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> - <SchemaVersion>2.0</SchemaVersion> <ProjectGuid>d2ec3d6a-35c0-4445-a9cb-aa18b12b6350</ProjectGuid> <OutputType>Library</OutputType> <RootNamespace>FSharp.MetadataFormat.Tests</RootNamespace> <AssemblyName>FSharp.MetadataFormat.Tests</AssemblyName> - <TargetFrameworkVersion>v4.5</TargetFrameworkVersion> + <TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion> <Name>FSharp.MetadataFormat.Tests</Name> - <TargetFrameworkProfile> - </TargetFrameworkProfile> <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <RestorePackages>true</RestorePackages> <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects> - <TargetFSharpCoreVersion>4.4.0.0</TargetFSharpCoreVersion> + <TargetFSharpCoreVersion>4.4.1.0</TargetFSharpCoreVersion> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <DebugSymbols>true</DebugSymbols> <DebugType>full</DebugType> <Optimize>false</Optimize> <Tailcalls>false</Tailcalls> - <OutputPath>bin\Debug\</OutputPath> + <OutputPath>$(SolutionDir)\tests\bin</OutputPath> <DefineConstants>DEBUG;TRACE</DefineConstants> <WarningLevel>3</WarningLevel> <PlatformTarget>AnyCPU</PlatformTarget> - <DocumentationFile>bin\Debug\FSharp.MetadataFormat.Tests.XML</DocumentationFile> - <Prefer32Bit>true</Prefer32Bit> + <DocumentationFile>$(SolutionDir)\tests\bin\FSharp.MetadataFormat.Tests.XML</DocumentationFile> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> - <DebugType>pdbonly</DebugType> + <DebugType>full</DebugType> <Optimize>true</Optimize> <Tailcalls>true</Tailcalls> - <OutputPath>bin\Release\</OutputPath> + <OutputPath>$(SolutionDir)\tests\bin</OutputPath> <DefineConstants>TRACE</DefineConstants> <WarningLevel>3</WarningLevel> <PlatformTarget>AnyCPU</PlatformTarget> - <DocumentationFile>bin\Release\FSharp.MetadataFormat.Tests.XML</DocumentationFile> - <Prefer32Bit>true</Prefer32Bit> + <DocumentationFile>$(SolutionDir)\tests\bin\FSharp.MetadataFormat.Tests.XML</DocumentationFile> </PropertyGroup> - <ItemGroup> - <Reference Include="mscorlib" /> - <Reference Include="System" /> - <Reference Include="System.Core" /> - <Reference Include="System.Numerics" /> - </ItemGroup> - <ItemGroup> - <Compile Include="Tests.fs" /> - <None Include="App.config" /> - <None Include="paket.references" /> - </ItemGroup> <PropertyGroup> <VisualStudioVersion Condition=" '$(VisualStudioVersion)' == '' ">14.0</VisualStudioVersion> <MinimumVisualStudioVersion Condition="'$(MinimumVisualStudioVersion)' == ''">11</MinimumVisualStudioVersion> </PropertyGroup> <Choose> + <When Condition="Exists('$(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\4.1\Framework\v4.0\Microsoft.FSharp.Targets')"> + <PropertyGroup> + <FSharpTargetsPath>$(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\4.1\Framework\v4.0\Microsoft.FSharp.Targets</FSharpTargetsPath> + </PropertyGroup> + </When> <When Condition="'$(VisualStudioVersion)' != '11.0' and Exists('$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\FSharp\Microsoft.FSharp.Targets')"> <PropertyGroup> <FSharpTargetsPath>$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\FSharp\Microsoft.FSharp.Targets</FSharpTargetsPath> @@ -87,47 +75,25 @@ </Target> --> <Import Project="$(SolutionDir)\.paket\paket.targets" /> - <ItemGroup> - <ProjectReference Include="..\..\src\FSharp.CodeFormat\FSharp.CodeFormat.fsproj"> - <Name>FSharp.CodeFormat</Name> - <Project>{341ebf32-d470-4c55-99e9-55f14f7ffbb1}</Project> - <Private>True</Private> - </ProjectReference> - <ProjectReference Include="..\..\src\FSharp.Formatting.Common\FSharp.Formatting.Common.fsproj"> - <Name>FSharp.Formatting.Common</Name> - <Project>{91bad90e-bf3b-4646-a1a7-1568f8f25075}</Project> - <Private>True</Private> - </ProjectReference> - <ProjectReference Include="..\..\src\FSharp.Formatting.Razor\FSharp.Formatting.Razor.fsproj"> - <Name>FSharp.Formatting.Razor</Name> - <Project>{c6b3c274-71a8-4239-ba9a-1af7b2f7c736}</Project> - <Private>True</Private> - </ProjectReference> - <ProjectReference Include="..\..\src\FSharp.Literate\FSharp.Literate.fsproj"> - <Name>FSharp.Literate</Name> - <Project>{65e6d541-0486-4383-b619-5cfc5d2ba2f0}</Project> - <Private>True</Private> - </ProjectReference> - <ProjectReference Include="..\..\src\FSharp.MetadataFormat\FSharp.MetadataFormat.fsproj"> - <Name>FSharp.MetadataFormat</Name> - <Project>{bc4946ba-2724-4524-ac50-dfc49ee154a1}</Project> - <Private>True</Private> - </ProjectReference> - </ItemGroup> <Choose> - <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.0'"> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.5' Or $(TargetFrameworkVersion) == 'v4.5.1' Or $(TargetFrameworkVersion) == 'v4.5.2' Or $(TargetFrameworkVersion) == 'v4.5.3' Or $(TargetFrameworkVersion) == 'v4.6' Or $(TargetFrameworkVersion) == 'v4.6.1' Or $(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3')"> <ItemGroup> <Reference Include="FSharp.Compiler.Service"> - <HintPath>..\..\packages\FSharp.Compiler.Service\lib\net40\FSharp.Compiler.Service.dll</HintPath> + <HintPath>..\..\packages\FSharp.Compiler.Service\lib\net45\FSharp.Compiler.Service.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + <Reference Include="FSharp.Compiler.Service.MSBuild.v12"> + <HintPath>..\..\packages\FSharp.Compiler.Service\lib\net45\FSharp.Compiler.Service.MSBuild.v12.dll</HintPath> <Private>True</Private> <Paket>True</Paket> </Reference> </ItemGroup> </When> - <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.5' Or $(TargetFrameworkVersion) == 'v4.5.1' Or $(TargetFrameworkVersion) == 'v4.5.2' Or $(TargetFrameworkVersion) == 'v4.5.3' Or $(TargetFrameworkVersion) == 'v4.6' Or $(TargetFrameworkVersion) == 'v4.6.1' Or $(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3')"> + <When Condition="($(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6') Or ($(TargetFrameworkIdentifier) == '.NETCoreApp' And $(TargetFrameworkVersion) == 'v1.0')"> <ItemGroup> <Reference Include="FSharp.Compiler.Service"> - <HintPath>..\..\packages\FSharp.Compiler.Service\lib\net45\FSharp.Compiler.Service.dll</HintPath> + <HintPath>..\..\packages\FSharp.Compiler.Service\lib\netstandard1.6\FSharp.Compiler.Service.dll</HintPath> <Private>True</Private> <Paket>True</Paket> </Reference> @@ -144,7 +110,7 @@ </Reference> </ItemGroup> </When> - <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.0' Or $(TargetFrameworkVersion) == 'v4.5' Or $(TargetFrameworkVersion) == 'v4.5.1' Or $(TargetFrameworkVersion) == 'v4.5.2' Or $(TargetFrameworkVersion) == 'v4.5.3' Or $(TargetFrameworkVersion) == 'v4.6' Or $(TargetFrameworkVersion) == 'v4.6.1' Or $(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3')"> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.0'"> <ItemGroup> <Reference Include="FSharp.Core"> <HintPath>..\..\packages\FSharp.Core\lib\net40\FSharp.Core.dll</HintPath> @@ -153,6 +119,24 @@ </Reference> </ItemGroup> </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.5' Or $(TargetFrameworkVersion) == 'v4.5.1' Or $(TargetFrameworkVersion) == 'v4.5.2' Or $(TargetFrameworkVersion) == 'v4.5.3' Or $(TargetFrameworkVersion) == 'v4.6' Or $(TargetFrameworkVersion) == 'v4.6.1' Or $(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3')"> + <ItemGroup> + <Reference Include="FSharp.Core"> + <HintPath>..\..\packages\FSharp.Core\lib\net45\FSharp.Core.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="($(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6') Or ($(TargetFrameworkIdentifier) == '.NETCoreApp' And $(TargetFrameworkVersion) == 'v1.0')"> + <ItemGroup> + <Reference Include="FSharp.Core"> + <HintPath>..\..\packages\FSharp.Core\lib\netstandard1.6\FSharp.Core.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> <When Condition="($(TargetFrameworkIdentifier) == 'MonoAndroid') Or ($(TargetFrameworkIdentifier) == 'MonoTouch') Or ($(TargetFrameworkIdentifier) == 'Xamarin.iOS')"> <ItemGroup> <Reference Include="FSharp.Core"> @@ -162,7 +146,7 @@ </Reference> </ItemGroup> </When> - <When Condition="($(TargetFrameworkIdentifier) == '.NETCore') Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2' Or $(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')) Or ($(TargetFrameworkIdentifier) == '.NETCoreApp' And $(TargetFrameworkVersion) == 'v1.0') Or ($(TargetFrameworkIdentifier) == 'Xamarin.Mac') Or ($(TargetFrameworkProfile) == 'Profile7') Or ($(TargetFrameworkProfile) == 'Profile44')"> + <When Condition="($(TargetFrameworkIdentifier) == '.NETCore') Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2' Or $(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5')) Or ($(TargetFrameworkIdentifier) == 'Xamarin.Mac') Or ($(TargetFrameworkProfile) == 'Profile7') Or ($(TargetFrameworkProfile) == 'Profile44')"> <ItemGroup> <Reference Include="FSharp.Core"> <HintPath>..\..\packages\FSharp.Core\lib\portable-net45+netcore45\FSharp.Core.dll</HintPath> @@ -211,7 +195,60 @@ </When> </Choose> <Choose> - <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.5'"> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="Microsoft.DiaSymReader"> + <HintPath>..\..\packages\Microsoft.DiaSymReader\lib\netstandard1.1\Microsoft.DiaSymReader.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="Microsoft.DiaSymReader.PortablePdb"> + <HintPath>..\..\packages\Microsoft.DiaSymReader.PortablePdb\lib\netstandard1.1\Microsoft.DiaSymReader.PortablePdb.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="Microsoft.Win32.Primitives"> + <HintPath>..\..\packages\Microsoft.Win32.Primitives\lib\net46\Microsoft.Win32.Primitives.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="Microsoft.Win32.Primitives"> + <HintPath>..\..\packages\Microsoft.Win32.Primitives\ref\netstandard1.3\Microsoft.Win32.Primitives.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="Microsoft.Win32.Registry"> + <HintPath>..\..\packages\Microsoft.Win32.Registry\ref\netstandard1.3\Microsoft.Win32.Registry.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.5' Or $(TargetFrameworkVersion) == 'v4.5.1' Or $(TargetFrameworkVersion) == 'v4.5.2' Or $(TargetFrameworkVersion) == 'v4.5.3' Or $(TargetFrameworkVersion) == 'v4.6' Or $(TargetFrameworkVersion) == 'v4.6.1' Or $(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3')"> <ItemGroup> <Reference Include="RazorEngine"> <HintPath>..\..\packages\RazorEngine\lib\net45\RazorEngine.dll</HintPath> @@ -222,10 +259,19 @@ </When> </Choose> <Choose> - <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.5'"> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> <ItemGroup> - <Reference Include="FsUnit.NUnit"> - <HintPath>..\..\packages\test\FsUnit\lib\net45\FsUnit.NUnit.dll</HintPath> + <Reference Include="System.AppContext"> + <HintPath>..\..\packages\System.AppContext\lib\net463\System.AppContext.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.AppContext"> + <HintPath>..\..\packages\System.AppContext\lib\netstandard1.6\System.AppContext.dll</HintPath> <Private>True</Private> <Paket>True</Paket> </Reference> @@ -233,82 +279,1265 @@ </When> </Choose> <Choose> - <When Condition="$(TargetFrameworkIdentifier) == 'MonoAndroid'"> + <When Condition="($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')) Or ($(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.5' Or $(TargetFrameworkVersion) == 'v4.5.1' Or $(TargetFrameworkVersion) == 'v4.5.2' Or $(TargetFrameworkVersion) == 'v4.5.3' Or $(TargetFrameworkVersion) == 'v4.6' Or $(TargetFrameworkVersion) == 'v4.6.1' Or $(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3'))"> <ItemGroup> - <Reference Include="nunit.framework"> - <HintPath>..\..\packages\test\NUnit\lib\MonoAndroid\nunit.framework.dll</HintPath> + <Reference Include="System.Buffers"> + <HintPath>..\..\packages\System.Buffers\lib\netstandard1.1\System.Buffers.dll</HintPath> <Private>True</Private> <Paket>True</Paket> </Reference> </ItemGroup> </When> - <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v2.0' Or $(TargetFrameworkVersion) == 'v3.0')"> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2')"> <ItemGroup> - <Reference Include="NUnit.System.Linq"> - <HintPath>..\..\packages\test\NUnit\lib\net20\NUnit.System.Linq.dll</HintPath> + <Reference Include="System.Collections"> + <HintPath>..\..\packages\System.Collections\ref\netstandard1.0\System.Collections.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Collections"> + <HintPath>..\..\packages\System.Collections\ref\netstandard1.3\System.Collections.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Collections.Concurrent"> + <HintPath>..\..\packages\System.Collections.Concurrent\lib\netstandard1.3\System.Collections.Concurrent.dll</HintPath> <Private>True</Private> <Paket>True</Paket> </Reference> - <Reference Include="nunit.framework"> - <HintPath>..\..\packages\test\NUnit\lib\net20\nunit.framework.dll</HintPath> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2' Or $(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')) Or ($(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.5' Or $(TargetFrameworkVersion) == 'v4.5.1' Or $(TargetFrameworkVersion) == 'v4.5.2' Or $(TargetFrameworkVersion) == 'v4.5.3' Or $(TargetFrameworkVersion) == 'v4.6' Or $(TargetFrameworkVersion) == 'v4.6.1' Or $(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3'))"> + <ItemGroup> + <Reference Include="System.Collections.Immutable"> + <HintPath>..\..\packages\System.Collections.Immutable\lib\netstandard1.0\System.Collections.Immutable.dll</HintPath> <Private>True</Private> <Paket>True</Paket> </Reference> </ItemGroup> </When> - <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v3.5'"> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> <ItemGroup> - <Reference Include="nunit.framework"> - <HintPath>..\..\packages\test\NUnit\lib\net35\nunit.framework.dll</HintPath> + <Reference Include="System.Console"> + <HintPath>..\..\packages\System.Console\lib\net46\System.Console.dll</HintPath> <Private>True</Private> <Paket>True</Paket> </Reference> </ItemGroup> </When> - <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.0'"> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> <ItemGroup> - <Reference Include="nunit.framework"> - <HintPath>..\..\packages\test\NUnit\lib\net40\nunit.framework.dll</HintPath> + <Reference Include="System.Console"> + <HintPath>..\..\packages\System.Console\ref\netstandard1.3\System.Console.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2')"> + <ItemGroup> + <Reference Include="System.Diagnostics.Debug"> + <HintPath>..\..\packages\System.Diagnostics.Debug\ref\netstandard1.0\System.Diagnostics.Debug.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Diagnostics.Debug"> + <HintPath>..\..\packages\System.Diagnostics.Debug\ref\netstandard1.3\System.Diagnostics.Debug.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Diagnostics.DiagnosticSource"> + <HintPath>..\..\packages\System.Diagnostics.DiagnosticSource\lib\net46\System.Diagnostics.DiagnosticSource.dll</HintPath> <Private>True</Private> <Paket>True</Paket> </Reference> </ItemGroup> </When> - <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.5' Or $(TargetFrameworkVersion) == 'v4.5.1' Or $(TargetFrameworkVersion) == 'v4.5.2' Or $(TargetFrameworkVersion) == 'v4.5.3' Or $(TargetFrameworkVersion) == 'v4.6' Or $(TargetFrameworkVersion) == 'v4.6.1' Or $(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3')"> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> <ItemGroup> - <Reference Include="nunit.framework"> - <HintPath>..\..\packages\test\NUnit\lib\net45\nunit.framework.dll</HintPath> + <Reference Include="System.Diagnostics.DiagnosticSource"> + <HintPath>..\..\packages\System.Diagnostics.DiagnosticSource\lib\netstandard1.3\System.Diagnostics.DiagnosticSource.dll</HintPath> <Private>True</Private> <Paket>True</Paket> </Reference> </ItemGroup> </When> - <When Condition="($(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6') Or ($(TargetFrameworkIdentifier) == '.NETCoreApp' And $(TargetFrameworkVersion) == 'v1.0')"> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> <ItemGroup> - <Reference Include="nunit.framework"> - <HintPath>..\..\packages\test\NUnit\lib\netstandard1.6\nunit.framework.dll</HintPath> + <Reference Include="System.Diagnostics.Process"> + <HintPath>..\..\packages\System.Diagnostics.Process\ref\netstandard1.4\System.Diagnostics.Process.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Diagnostics.TraceSource"> + <HintPath>..\..\packages\System.Diagnostics.TraceSource\ref\netstandard1.3\System.Diagnostics.TraceSource.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3')"> + <ItemGroup> + <Reference Include="System.Diagnostics.Tracing"> + <HintPath>..\..\packages\System.Diagnostics.Tracing\lib\net462\System.Diagnostics.Tracing.dll</HintPath> <Private>True</Private> <Paket>True</Paket> </Reference> </ItemGroup> </When> - <When Condition="($(TargetFrameworkIdentifier) == 'WindowsPhoneApp') Or ($(TargetFrameworkIdentifier) == '.NETCore') Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2' Or $(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5')) Or ($(TargetFrameworkIdentifier) == 'WindowsPhone' And ($(TargetFrameworkVersion) == 'v8.0' Or $(TargetFrameworkVersion) == 'v8.1')) Or ($(TargetFrameworkIdentifier) == 'MonoTouch') Or ($(TargetFrameworkIdentifier) == 'Xamarin.Mac') Or ($(TargetFrameworkProfile) == 'Profile7') Or ($(TargetFrameworkProfile) == 'Profile31') Or ($(TargetFrameworkProfile) == 'Profile32') Or ($(TargetFrameworkProfile) == 'Profile44') Or ($(TargetFrameworkProfile) == 'Profile49') Or ($(TargetFrameworkProfile) == 'Profile78') Or ($(TargetFrameworkProfile) == 'Profile84') Or ($(TargetFrameworkProfile) == 'Profile111') Or ($(TargetFrameworkProfile) == 'Profile151') Or ($(TargetFrameworkProfile) == 'Profile157') Or ($(TargetFrameworkProfile) == 'Profile259')"> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4')"> <ItemGroup> - <Reference Include="nunit.framework"> - <HintPath>..\..\packages\test\NUnit\lib\portable-net45+win8+wp8+wpa81\nunit.framework.dll</HintPath> + <Reference Include="System.Diagnostics.Tracing"> + <HintPath>..\..\packages\System.Diagnostics.Tracing\ref\netstandard1.3\System.Diagnostics.Tracing.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Diagnostics.Tracing"> + <HintPath>..\..\packages\System.Diagnostics.Tracing\ref\netstandard1.5\System.Diagnostics.Tracing.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2')"> + <ItemGroup> + <Reference Include="System.Globalization"> + <HintPath>..\..\packages\System.Globalization\ref\netstandard1.0\System.Globalization.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Globalization"> + <HintPath>..\..\packages\System.Globalization\ref\netstandard1.3\System.Globalization.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Globalization.Calendars"> + <HintPath>..\..\packages\System.Globalization.Calendars\lib\net46\System.Globalization.Calendars.dll</HintPath> <Private>True</Private> <Paket>True</Paket> </Reference> </ItemGroup> </When> - <When Condition="$(TargetFrameworkIdentifier) == 'Xamarin.iOS'"> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> <ItemGroup> - <Reference Include="nunit.framework"> - <HintPath>..\..\packages\test\NUnit\lib\Xamarin.iOS10\nunit.framework.dll</HintPath> + <Reference Include="System.Globalization.Calendars"> + <HintPath>..\..\packages\System.Globalization.Calendars\ref\netstandard1.3\System.Globalization.Calendars.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Globalization.Extensions"> + <HintPath>..\..\packages\System.Globalization.Extensions\lib\net46\System.Globalization.Extensions.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Globalization.Extensions"> + <HintPath>..\..\packages\System.Globalization.Extensions\ref\netstandard1.3\System.Globalization.Extensions.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3')"> + <ItemGroup> + <Reference Include="System.IO"> + <HintPath>..\..\packages\System.IO\lib\net462\System.IO.dll</HintPath> <Private>True</Private> <Paket>True</Paket> </Reference> </ItemGroup> </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2')"> + <ItemGroup> + <Reference Include="System.IO"> + <HintPath>..\..\packages\System.IO\ref\netstandard1.0\System.IO.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4')"> + <ItemGroup> + <Reference Include="System.IO"> + <HintPath>..\..\packages\System.IO\ref\netstandard1.3\System.IO.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.IO"> + <HintPath>..\..\packages\System.IO\ref\netstandard1.5\System.IO.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.5' Or $(TargetFrameworkVersion) == 'v4.5.1' Or $(TargetFrameworkVersion) == 'v4.5.2' Or $(TargetFrameworkVersion) == 'v4.5.3')"> + <ItemGroup> + <Reference Include="System.IO.Compression"> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.6' Or $(TargetFrameworkVersion) == 'v4.6.1' Or $(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3')"> + <ItemGroup> + <Reference Include="System.IO.Compression"> + <HintPath>..\..\packages\System.IO.Compression\lib\net46\System.IO.Compression.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2')"> + <ItemGroup> + <Reference Include="System.IO.Compression"> + <HintPath>..\..\packages\System.IO.Compression\ref\netstandard1.1\System.IO.Compression.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.IO.Compression"> + <HintPath>..\..\packages\System.IO.Compression\ref\netstandard1.3\System.IO.Compression.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.IO.Compression.FileSystem"> + <Paket>True</Paket> + </Reference> + <Reference Include="System.IO.Compression.ZipFile"> + <HintPath>..\..\packages\System.IO.Compression.ZipFile\lib\net46\System.IO.Compression.ZipFile.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.IO.Compression.ZipFile"> + <HintPath>..\..\packages\System.IO.Compression.ZipFile\lib\netstandard1.3\System.IO.Compression.ZipFile.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.IO.FileSystem"> + <HintPath>..\..\packages\System.IO.FileSystem\lib\net46\System.IO.FileSystem.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.IO.FileSystem"> + <HintPath>..\..\packages\System.IO.FileSystem\ref\netstandard1.3\System.IO.FileSystem.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.IO.FileSystem.Primitives"> + <HintPath>..\..\packages\System.IO.FileSystem.Primitives\lib\net46\System.IO.FileSystem.Primitives.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.IO.FileSystem.Primitives"> + <HintPath>..\..\packages\System.IO.FileSystem.Primitives\lib\netstandard1.3\System.IO.FileSystem.Primitives.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Linq"> + <HintPath>..\..\packages\System.Linq\lib\net463\System.Linq.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Linq"> + <HintPath>..\..\packages\System.Linq\lib\netstandard1.6\System.Linq.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Linq.Expressions"> + <HintPath>..\..\packages\System.Linq.Expressions\lib\net463\System.Linq.Expressions.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Linq.Expressions"> + <HintPath>..\..\packages\System.Linq.Expressions\lib\netstandard1.6\System.Linq.Expressions.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Linq.Queryable"> + <HintPath>..\..\packages\System.Linq.Queryable\lib\netstandard1.3\System.Linq.Queryable.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Net.Http"> + <HintPath>..\..\packages\System.Net.Http\lib\net46\System.Net.Http.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Net.Http"> + <HintPath>..\..\packages\System.Net.Http\ref\netstandard1.3\System.Net.Http.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Net.Requests"> + <HintPath>..\..\packages\System.Net.Requests\ref\netstandard1.3\System.Net.Requests.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Net.Sockets"> + <HintPath>..\..\packages\System.Net.Sockets\lib\net46\System.Net.Sockets.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Net.Sockets"> + <HintPath>..\..\packages\System.Net.Sockets\ref\netstandard1.3\System.Net.Sockets.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Net.WebHeaderCollection"> + <HintPath>..\..\packages\System.Net.WebHeaderCollection\lib\netstandard1.3\System.Net.WebHeaderCollection.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.ObjectModel"> + <HintPath>..\..\packages\System.ObjectModel\lib\netstandard1.3\System.ObjectModel.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3')"> + <ItemGroup> + <Reference Include="System.Reflection"> + <HintPath>..\..\packages\System.Reflection\lib\net462\System.Reflection.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2')"> + <ItemGroup> + <Reference Include="System.Reflection"> + <HintPath>..\..\packages\System.Reflection\ref\netstandard1.0\System.Reflection.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4')"> + <ItemGroup> + <Reference Include="System.Reflection"> + <HintPath>..\..\packages\System.Reflection\ref\netstandard1.3\System.Reflection.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Reflection"> + <HintPath>..\..\packages\System.Reflection\ref\netstandard1.5\System.Reflection.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Reflection.Emit"> + <HintPath>..\..\packages\System.Reflection.Emit\lib\netstandard1.3\System.Reflection.Emit.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Reflection.Emit.ILGeneration"> + <HintPath>..\..\packages\System.Reflection.Emit.ILGeneration\lib\netstandard1.3\System.Reflection.Emit.ILGeneration.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Reflection.Emit.Lightweight"> + <HintPath>..\..\packages\System.Reflection.Emit.Lightweight\lib\netstandard1.3\System.Reflection.Emit.Lightweight.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2' Or $(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')) Or ($(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.5' Or $(TargetFrameworkVersion) == 'v4.5.1' Or $(TargetFrameworkVersion) == 'v4.5.2' Or $(TargetFrameworkVersion) == 'v4.5.3' Or $(TargetFrameworkVersion) == 'v4.6' Or $(TargetFrameworkVersion) == 'v4.6.1' Or $(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3'))"> + <ItemGroup> + <Reference Include="System.Reflection.Metadata"> + <HintPath>..\..\packages\System.Reflection.Metadata\lib\netstandard1.1\System.Reflection.Metadata.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Reflection.TypeExtensions"> + <HintPath>..\..\packages\System.Reflection.TypeExtensions\lib\net462\System.Reflection.TypeExtensions.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Reflection.TypeExtensions"> + <HintPath>..\..\packages\System.Reflection.TypeExtensions\lib\netstandard1.5\System.Reflection.TypeExtensions.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.5' Or $(TargetFrameworkVersion) == 'v4.5.1' Or $(TargetFrameworkVersion) == 'v4.5.2' Or $(TargetFrameworkVersion) == 'v4.5.3' Or $(TargetFrameworkVersion) == 'v4.6' Or $(TargetFrameworkVersion) == 'v4.6.1')"> + <ItemGroup> + <Reference Include="System.ComponentModel.Composition"> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3')"> + <ItemGroup> + <Reference Include="System.ComponentModel.Composition"> + <Paket>True</Paket> + </Reference> + <Reference Include="System.Runtime"> + <HintPath>..\..\packages\System.Runtime\lib\net462\System.Runtime.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1')"> + <ItemGroup> + <Reference Include="System.Runtime"> + <HintPath>..\..\packages\System.Runtime\ref\netstandard1.0\System.Runtime.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.2'"> + <ItemGroup> + <Reference Include="System.Runtime"> + <HintPath>..\..\packages\System.Runtime\ref\netstandard1.2\System.Runtime.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4')"> + <ItemGroup> + <Reference Include="System.Runtime"> + <HintPath>..\..\packages\System.Runtime\ref\netstandard1.3\System.Runtime.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Runtime"> + <HintPath>..\..\packages\System.Runtime\ref\netstandard1.5\System.Runtime.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3')"> + <ItemGroup> + <Reference Include="System.Runtime.Extensions"> + <HintPath>..\..\packages\System.Runtime.Extensions\lib\net462\System.Runtime.Extensions.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2')"> + <ItemGroup> + <Reference Include="System.Runtime.Extensions"> + <HintPath>..\..\packages\System.Runtime.Extensions\ref\netstandard1.0\System.Runtime.Extensions.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4')"> + <ItemGroup> + <Reference Include="System.Runtime.Extensions"> + <HintPath>..\..\packages\System.Runtime.Extensions\ref\netstandard1.3\System.Runtime.Extensions.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Runtime.Extensions"> + <HintPath>..\..\packages\System.Runtime.Extensions\ref\netstandard1.5\System.Runtime.Extensions.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Runtime.Handles"> + <HintPath>..\..\packages\System.Runtime.Handles\ref\netstandard1.3\System.Runtime.Handles.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.2'"> + <ItemGroup> + <Reference Include="System.Runtime.InteropServices"> + <HintPath>..\..\packages\System.Runtime.InteropServices\lib\net462\System.Runtime.InteropServices.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Runtime.InteropServices"> + <HintPath>..\..\packages\System.Runtime.InteropServices\lib\net463\System.Runtime.InteropServices.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.1'"> + <ItemGroup> + <Reference Include="System.Runtime.InteropServices"> + <HintPath>..\..\packages\System.Runtime.InteropServices\ref\netstandard1.1\System.Runtime.InteropServices.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.2'"> + <ItemGroup> + <Reference Include="System.Runtime.InteropServices"> + <HintPath>..\..\packages\System.Runtime.InteropServices\ref\netstandard1.2\System.Runtime.InteropServices.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4')"> + <ItemGroup> + <Reference Include="System.Runtime.InteropServices"> + <HintPath>..\..\packages\System.Runtime.InteropServices\ref\netstandard1.3\System.Runtime.InteropServices.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Runtime.InteropServices"> + <HintPath>..\..\packages\System.Runtime.InteropServices\ref\netstandard1.5\System.Runtime.InteropServices.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Runtime.InteropServices.RuntimeInformation"> + <HintPath>..\..\packages\System.Runtime.InteropServices.RuntimeInformation\lib\net45\System.Runtime.InteropServices.RuntimeInformation.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Runtime.InteropServices.RuntimeInformation"> + <HintPath>..\..\packages\System.Runtime.InteropServices.RuntimeInformation\lib\netstandard1.1\System.Runtime.InteropServices.RuntimeInformation.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="($(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6') Or ($(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3')"> + <ItemGroup> + <Reference Include="System.Runtime.InteropServices.RuntimeInformation"> + <HintPath>..\..\packages\System.Runtime.InteropServices.RuntimeInformation\ref\netstandard1.1\System.Runtime.InteropServices.RuntimeInformation.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Runtime.Loader"> + <HintPath>..\..\packages\System.Runtime.Loader\lib\netstandard1.5\System.Runtime.Loader.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Runtime.Numerics"> + <HintPath>..\..\packages\System.Runtime.Numerics\lib\netstandard1.3\System.Runtime.Numerics.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.Algorithms"> + <HintPath>..\..\packages\System.Security.Cryptography.Algorithms\lib\net463\System.Security.Cryptography.Algorithms.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.Algorithms"> + <HintPath>..\..\packages\System.Security.Cryptography.Algorithms\ref\netstandard1.6\System.Security.Cryptography.Algorithms.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.Cng"> + <HintPath>..\..\packages\System.Security.Cryptography.Cng\lib\net463\System.Security.Cryptography.Cng.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.Cng"> + <HintPath>..\..\packages\System.Security.Cryptography.Cng\ref\netstandard1.6\System.Security.Cryptography.Cng.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.Csp"> + <HintPath>..\..\packages\System.Security.Cryptography.Csp\lib\net46\System.Security.Cryptography.Csp.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.Csp"> + <HintPath>..\..\packages\System.Security.Cryptography.Csp\ref\netstandard1.3\System.Security.Cryptography.Csp.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.Encoding"> + <HintPath>..\..\packages\System.Security.Cryptography.Encoding\lib\net46\System.Security.Cryptography.Encoding.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.Encoding"> + <HintPath>..\..\packages\System.Security.Cryptography.Encoding\ref\netstandard1.3\System.Security.Cryptography.Encoding.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="($(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6') Or ($(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3')"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.OpenSsl"> + <HintPath>..\..\packages\System.Security.Cryptography.OpenSsl\lib\netstandard1.6\System.Security.Cryptography.OpenSsl.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.Primitives"> + <HintPath>..\..\packages\System.Security.Cryptography.Primitives\lib\net46\System.Security.Cryptography.Primitives.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.Primitives"> + <HintPath>..\..\packages\System.Security.Cryptography.Primitives\lib\netstandard1.3\System.Security.Cryptography.Primitives.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.X509Certificates"> + <HintPath>..\..\packages\System.Security.Cryptography.X509Certificates\lib\net461\System.Security.Cryptography.X509Certificates.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.X509Certificates"> + <HintPath>..\..\packages\System.Security.Cryptography.X509Certificates\ref\netstandard1.4\System.Security.Cryptography.X509Certificates.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2')"> + <ItemGroup> + <Reference Include="System.Text.Encoding"> + <HintPath>..\..\packages\System.Text.Encoding\ref\netstandard1.0\System.Text.Encoding.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Text.Encoding"> + <HintPath>..\..\packages\System.Text.Encoding\ref\netstandard1.3\System.Text.Encoding.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2')"> + <ItemGroup> + <Reference Include="System.Text.Encoding.Extensions"> + <HintPath>..\..\packages\System.Text.Encoding.Extensions\ref\netstandard1.0\System.Text.Encoding.Extensions.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Text.Encoding.Extensions"> + <HintPath>..\..\packages\System.Text.Encoding.Extensions\ref\netstandard1.3\System.Text.Encoding.Extensions.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Text.RegularExpressions"> + <HintPath>..\..\packages\System.Text.RegularExpressions\lib\net463\System.Text.RegularExpressions.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Text.RegularExpressions"> + <HintPath>..\..\packages\System.Text.RegularExpressions\lib\netstandard1.6\System.Text.RegularExpressions.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Threading"> + <HintPath>..\..\packages\System.Threading\lib\netstandard1.3\System.Threading.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="($(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.0') Or ($(TargetFrameworkIdentifier) == 'WindowsPhone' And $(TargetFrameworkVersion) == 'v8.1')"> + <ItemGroup> + <Reference Include="System.Threading.Tasks"> + <HintPath>..\..\packages\System.Threading.Tasks\ref\netstandard1.0\System.Threading.Tasks.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Threading.Tasks"> + <HintPath>..\..\packages\System.Threading.Tasks\ref\netstandard1.3\System.Threading.Tasks.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="($(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6') Or ($(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3')"> + <ItemGroup> + <Reference Include="System.Threading.Tasks.Extensions"> + <HintPath>..\..\packages\System.Threading.Tasks.Extensions\lib\netstandard1.0\System.Threading.Tasks.Extensions.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Threading.Tasks.Parallel"> + <HintPath>..\..\packages\System.Threading.Tasks.Parallel\lib\netstandard1.3\System.Threading.Tasks.Parallel.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Threading.Thread"> + <HintPath>..\..\packages\System.Threading.Thread\lib\netstandard1.3\System.Threading.Thread.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Threading.ThreadPool"> + <HintPath>..\..\packages\System.Threading.ThreadPool\lib\netstandard1.3\System.Threading.ThreadPool.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="($(TargetFrameworkIdentifier) == 'WindowsPhoneApp') Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2' Or $(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5')) Or ($(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.5' Or $(TargetFrameworkVersion) == 'v4.5.1' Or $(TargetFrameworkVersion) == 'v4.5.2' Or $(TargetFrameworkVersion) == 'v4.5.3' Or $(TargetFrameworkVersion) == 'v4.6' Or $(TargetFrameworkVersion) == 'v4.6.1' Or $(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3')) Or ($(TargetFrameworkIdentifier) == 'WindowsPhone' And ($(TargetFrameworkVersion) == 'v8.0' Or $(TargetFrameworkVersion) == 'v8.1'))"> + <ItemGroup> + <Reference Include="System.ValueTuple"> + <HintPath>..\..\packages\System.ValueTuple\lib\netstandard1.0\System.ValueTuple.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.0'"> + <ItemGroup> + <Reference Include="System.ValueTuple"> + <HintPath>..\..\packages\System.ValueTuple\lib\portable-net40+sl4+win8+wp8\System.ValueTuple.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Xml"> + <Paket>True</Paket> + </Reference> + <Reference Include="System.Xml.ReaderWriter"> + <HintPath>..\..\packages\System.Xml.ReaderWriter\lib\net46\System.Xml.ReaderWriter.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Xml.ReaderWriter"> + <HintPath>..\..\packages\System.Xml.ReaderWriter\lib\netstandard1.3\System.Xml.ReaderWriter.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Xml.Linq"> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Xml.XDocument"> + <HintPath>..\..\packages\System.Xml.XDocument\lib\netstandard1.3\System.Xml.XDocument.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.5' Or $(TargetFrameworkVersion) == 'v4.5.1' Or $(TargetFrameworkVersion) == 'v4.5.2' Or $(TargetFrameworkVersion) == 'v4.5.3' Or $(TargetFrameworkVersion) == 'v4.6' Or $(TargetFrameworkVersion) == 'v4.6.1' Or $(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3')"> + <ItemGroup> + <Reference Include="FsUnit.NUnit"> + <HintPath>..\..\packages\test\FsUnit\lib\net45\FsUnit.NUnit.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="($(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6') Or ($(TargetFrameworkIdentifier) == '.NETCoreApp' And $(TargetFrameworkVersion) == 'v1.0')"> + <ItemGroup> + <Reference Include="FsUnit.NUnit"> + <HintPath>..\..\packages\test\FsUnit\lib\netstandard1.6\FsUnit.NUnit.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == 'MonoAndroid'"> + <ItemGroup> + <Reference Include="nunit.framework"> + <HintPath>..\..\packages\test\NUnit\lib\MonoAndroid\nunit.framework.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v2.0' Or $(TargetFrameworkVersion) == 'v3.0')"> + <ItemGroup> + <Reference Include="NUnit.System.Linq"> + <HintPath>..\..\packages\test\NUnit\lib\net20\NUnit.System.Linq.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + <Reference Include="nunit.framework"> + <HintPath>..\..\packages\test\NUnit\lib\net20\nunit.framework.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v3.5'"> + <ItemGroup> + <Reference Include="nunit.framework"> + <HintPath>..\..\packages\test\NUnit\lib\net35\nunit.framework.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.0'"> + <ItemGroup> + <Reference Include="nunit.framework"> + <HintPath>..\..\packages\test\NUnit\lib\net40\nunit.framework.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.5' Or $(TargetFrameworkVersion) == 'v4.5.1' Or $(TargetFrameworkVersion) == 'v4.5.2' Or $(TargetFrameworkVersion) == 'v4.5.3' Or $(TargetFrameworkVersion) == 'v4.6' Or $(TargetFrameworkVersion) == 'v4.6.1' Or $(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3')"> + <ItemGroup> + <Reference Include="nunit.framework"> + <HintPath>..\..\packages\test\NUnit\lib\net45\nunit.framework.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="($(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6') Or ($(TargetFrameworkIdentifier) == '.NETCoreApp' And $(TargetFrameworkVersion) == 'v1.0')"> + <ItemGroup> + <Reference Include="nunit.framework"> + <HintPath>..\..\packages\test\NUnit\lib\netstandard1.6\nunit.framework.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="($(TargetFrameworkIdentifier) == 'WindowsPhoneApp') Or ($(TargetFrameworkIdentifier) == '.NETCore') Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2' Or $(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5')) Or ($(TargetFrameworkIdentifier) == 'WindowsPhone' And ($(TargetFrameworkVersion) == 'v8.0' Or $(TargetFrameworkVersion) == 'v8.1')) Or ($(TargetFrameworkIdentifier) == 'MonoTouch') Or ($(TargetFrameworkIdentifier) == 'Xamarin.Mac') Or ($(TargetFrameworkProfile) == 'Profile7') Or ($(TargetFrameworkProfile) == 'Profile31') Or ($(TargetFrameworkProfile) == 'Profile32') Or ($(TargetFrameworkProfile) == 'Profile44') Or ($(TargetFrameworkProfile) == 'Profile49') Or ($(TargetFrameworkProfile) == 'Profile78') Or ($(TargetFrameworkProfile) == 'Profile84') Or ($(TargetFrameworkProfile) == 'Profile111') Or ($(TargetFrameworkProfile) == 'Profile151') Or ($(TargetFrameworkProfile) == 'Profile157') Or ($(TargetFrameworkProfile) == 'Profile259')"> + <ItemGroup> + <Reference Include="nunit.framework"> + <HintPath>..\..\packages\test\NUnit\lib\portable-net45+win8+wp8+wpa81\nunit.framework.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == 'Xamarin.iOS'"> + <ItemGroup> + <Reference Include="nunit.framework"> + <HintPath>..\..\packages\test\NUnit\lib\Xamarin.iOS10\nunit.framework.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <ItemGroup> + <None Include="paket.references" /> + <Compile Include="Tests.fs" /> + <Content Include="app.config" /> + </ItemGroup> + <ItemGroup> + <Reference Include="mscorlib" /> + <Reference Include="System" /> + <Reference Include="System.Core" /> + <Reference Include="System.Numerics" /> + <ProjectReference Include="..\..\src\FSharp.CodeFormat\FSharp.CodeFormat.fsproj"> + <Name>FSharp.CodeFormat</Name> + <Project>{341ebf32-d470-4c55-99e9-55f14f7ffbb1}</Project> + <Private>True</Private> + </ProjectReference> + <ProjectReference Include="..\..\src\FSharp.Formatting.Common\FSharp.Formatting.Common.fsproj"> + <Name>FSharp.Formatting.Common</Name> + <Project>{91bad90e-bf3b-4646-a1a7-1568f8f25075}</Project> + <Private>True</Private> + </ProjectReference> + <ProjectReference Include="..\..\src\FSharp.Formatting.Razor\FSharp.Formatting.Razor.fsproj"> + <Name>FSharp.Formatting.Razor</Name> + <Project>{c6b3c274-71a8-4239-ba9a-1af7b2f7c736}</Project> + <Private>True</Private> + </ProjectReference> + <ProjectReference Include="..\..\src\FSharp.Literate\FSharp.Literate.fsproj"> + <Name>FSharp.Literate</Name> + <Project>{65e6d541-0486-4383-b619-5cfc5d2ba2f0}</Project> + <Private>True</Private> + </ProjectReference> + <ProjectReference Include="..\..\src\FSharp.MetadataFormat\FSharp.MetadataFormat.fsproj"> + <Name>FSharp.MetadataFormat</Name> + <Project>{bc4946ba-2724-4524-ac50-dfc49ee154a1}</Project> + <Private>True</Private> + </ProjectReference> + </ItemGroup> </Project> \ No newline at end of file diff --git a/tests/FSharp.MetadataFormat.Tests/Tests.fs b/tests/FSharp.MetadataFormat.Tests/Tests.fs index d10afc7ad..da3305290 100755 --- a/tests/FSharp.MetadataFormat.Tests/Tests.fs +++ b/tests/FSharp.MetadataFormat.Tests/Tests.fs @@ -1,4 +1,5 @@ -#if INTERACTIVE +#if INTERACTIVE +System.IO.Directory.SetCurrentDirectory __SOURCE_DIRECTORY__ #I "../../bin" #r "FSharp.Formatting.Common.dll" #r "FSharp.MetadataFormat.dll" @@ -9,6 +10,7 @@ #r "../../packages/test/FsUnit/lib/net45/FsUnit.NUnit.dll" #else +[<NUnit.Framework.TestFixture>] module FSharp.MetadataFormat.Tests #endif @@ -18,18 +20,31 @@ open NUnit.Framework open FSharp.MetadataFormat open FSharp.Formatting.Razor open FsUnitTyped - +open Microsoft.FSharp.Compiler.SourceCodeServices // -------------------------------------------------------------------------------------- // Run the metadata formatter on sample project // -------------------------------------------------------------------------------------- let (</>) a b = Path.Combine(a, b) +let fullpath = Path.GetFullPath +let fullpaths = List.map fullpath + +let root = __SOURCE_DIRECTORY__ |> fullpath + -let root = __SOURCE_DIRECTORY__ +// NOTE - For these tests to run properly they require the output of all the metadata +// test project to be directed to the directory below +let testBin = __SOURCE_DIRECTORY__ </> "../bin" |> fullpath + +#if INTERACTIVE +;; +printfn "\n-- Root - %s" root;; +printfn "\n-- TestBin - %s" testBin;; +#endif let getOutputDir() = let tempFile = Path.GetTempFileName() - File.Delete(tempFile) + File.Delete tempFile Directory.CreateDirectory(tempFile).FullName let removeWhiteSpace (str:string) = @@ -48,12 +63,33 @@ let info = "project-nuget", "http://nuget.com/packages/FSharp.ProjectScaffold" "root", "http://tpetricek.github.io/FSharp.FSharp.ProjectScaffold" ] +let generate (libraries:string list) useMarkdown = + try let output = getOutputDir () + let metadata = MetadataFormat.Generate (libraries,parameters=info,libDirs = [root],markDownComments = useMarkdown) + RazorMetadataFormat.Generate (metadata, output, layoutRoots) + + let fileNames = Directory.GetFiles(output) + let files = dict [ for f in fileNames -> Path.GetFileName(f), File.ReadAllText(f) ] + files + + with e -> + printfn "Failed to Generate Metadata -\n%s\n\n%s\n" e.Message e.StackTrace + System.AppDomain.CurrentDomain.GetAssemblies () + |> Seq.iter (fun x -> + try sprintf "%s\n - %s" x.FullName x.Location |> System.Console.WriteLine + with e -> + sprintf "\nError On - %A\n -- %s\n" x e.Message |> System.Console.WriteLine + ) + reraise () + + [<Test>] let ``MetadataFormat works on sample Deedle assembly``() = let library = root </> "files" </> "Deedle.dll" let output = getOutputDir() + RazorMetadataFormat.Generate - ( library, output, layoutRoots, info, libDirs = [root </> "../../lib"], + ( library, output, layoutRoots, info, libDirs = [testBin], sourceRepo = "https://github.com/BlueMountainCapital/Deedle/tree/master/", sourceFolder = "c:/dev/FSharp.DataFrame") let files = Directory.GetFiles(output) @@ -64,9 +100,9 @@ let ``MetadataFormat works on sample Deedle assembly``() = let optSeriesMod = files |> Seq.tryFind (fun s -> s.Contains "seriesmodule") optSeriesMod.IsSome |> shouldEqual true - #if INTERACTIVE - System.Diagnostics.Process.Start(output) - #endif + //#if INTERACTIVE + //System.Diagnostics.Process.Start(output) + //#endif [<Test; Ignore "Ignore by default to make tests run reasonably fast">] @@ -80,88 +116,86 @@ let ``MetadataFormat works on sample FAKE assembly``() = [<Test>] let ``MetadataFormat works on two sample F# assemblies``() = - let binDir = root </> "files" </> "FsLib" </> "bin" </> "Debug" let libraries = - [ binDir </> "FsLib1.dll" - binDir </> "FsLib2.dll" ] + [ testBin </> "FsLib1.dll" + testBin </> "FsLib2.dll" ] let output = getOutputDir() - RazorMetadataFormat.Generate(libraries, output, layoutRoots, info, libDirs = [binDir; root </> "../../lib"]) + RazorMetadataFormat.Generate(libraries, output, layoutRoots, info, libDirs = [testBin]) let fileNames = Directory.GetFiles(output) let files = dict [ for f in fileNames -> Path.GetFileName(f), File.ReadAllText(f) ] // Check that all comments appear in the output - files.["fslib-class.html"] |> should contain "Readonly int property" - files.["fslib-record.html"] |> should contain "This is name" - files.["fslib-record.html"] |> should contain "Additional member" - files.["fslib-union.html"] |> should contain "Hello of int" - files.["index.html"] |> should contain "Sample class" - files.["index.html"] |> should contain "Union sample" - files.["index.html"] |> should contain "Record sample" - files.["fslib-nested.html"] |> should contain "Somewhat nested type" - files.["fslib-nested.html"] |> should contain "Somewhat nested module" - files.["fslib-nested-nestedtype.html"] |> should contain "Very nested member" - files.["fslib-nested-submodule.html"] |> should contain "Very nested field" + files.["fslib-class.html"] |> shouldContainText "Readonly int property" + files.["fslib-record.html"] |> shouldContainText "This is name" + files.["fslib-record.html"] |> shouldContainText "Additional member" + files.["fslib-union.html"] |> shouldContainText "Hello of int" + files.["index.html"] |> shouldContainText "Sample class" + files.["index.html"] |> shouldContainText "Union sample" + files.["index.html"] |> shouldContainText "Record sample" + files.["fslib-nested.html"] |> shouldContainText "Somewhat nested type" + files.["fslib-nested.html"] |> shouldContainText "Somewhat nested module" + files.["fslib-nested-nestedtype.html"] |> shouldContainText "Very nested member" + files.["fslib-nested-submodule.html"] |> shouldContainText "Very nested field" // Check that union fields are correctly generated - files.["fslib-union.html"] |> should contain "World(string,int)" + files.["fslib-union.html"] |> shouldContainText "World(string,int)" #if FSHARP_31 - files.["fslib-union.html"] |> should contain "Naming(rate,string)" + files.["fslib-union.html"] |> shouldContainText "Naming(rate,string)" #endif // Check that methods with no arguments are correctly generated (#113) files.["fslib-record.html"] |> shouldNotContainText "Foo2(arg1)" - files.["fslib-record.html"] |> should contain "Foo2()" - files.["fslib-record.html"] |> should contain "<strong>Signature:</strong> unit -> int" - files.["fslib-class.html"] |> should contain "new()" - files.["fslib-class.html"] |> should contain "<strong>Signature:</strong> unit -> Class" + files.["fslib-record.html"] |> shouldContainText "Foo2()" + files.["fslib-record.html"] |> shouldContainText "<strong>Signature:</strong> unit -> int" + files.["fslib-class.html"] |> shouldContainText "new()" + files.["fslib-class.html"] |> shouldContainText "<strong>Signature:</strong> unit -> Class" // Check that properties are correctly generated (#114) files.["fslib-class.html"] |> removeWhiteSpace |> shouldNotContainText ">Member(arg1)<" files.["fslib-class.html"] |> removeWhiteSpace |> shouldNotContainText ">Member()<" files.["fslib-class.html"] |> removeWhiteSpace |> shouldContainText ">Member<" files.["fslib-class.html"] |> shouldNotContainText "<strong>Signature:</strong> unit -> int" - files.["fslib-class.html"] |> should contain "<strong>Signature:</strong> int" + files.["fslib-class.html"] |> shouldContainText "<strong>Signature:</strong> int" - #if INTERACTIVE - System.Diagnostics.Process.Start(output) - #endif + //#if INTERACTIVE + //System.Diagnostics.Process.Start(output) + //#endif [<Test>] let ``MetadataFormat generates Go to GitHub source links``() = - let binDir = root </> "files" </> "FsLib" </> "bin" </> "Debug" let libraries = - [ binDir </> "FsLib1.dll" - binDir </> "FsLib2.dll" ] + [ testBin </> "FsLib1.dll" + testBin </> "FsLib2.dll" ] |> fullpaths let output = getOutputDir() printfn "Output: %s" output RazorMetadataFormat.Generate - ( libraries, output, layoutRoots, info, libDirs = [binDir; root </> "../../lib"], + ( libraries, output, layoutRoots, info, libDirs = ([testBin] |> fullpaths), sourceRepo = "https://github.com/tpetricek/FSharp.Formatting/tree/master", sourceFolder = (root </> "../..") ) let fileNames = Directory.GetFiles(output) let files = dict [ for f in fileNames -> Path.GetFileName(f), File.ReadAllText(f) ] - files.["fslib-class.html"] |> should contain "github-link" - files.["fslib-class.html"] |> should contain "https://github.com/tpetricek/FSharp.Formatting/tree/master/tests/FSharp.MetadataFormat.Tests/files/FsLib/Library2.fs#L" - files.["fslib-record.html"] |> should contain "github-link" - files.["fslib-record.html"] |> should contain "https://github.com/tpetricek/FSharp.Formatting/tree/master/tests/FSharp.MetadataFormat.Tests/files/FsLib/Library1.fs#L" - files.["fslib-union.html"] |> should contain "github-link" - files.["fslib-union.html"] |> should contain "https://github.com/tpetricek/FSharp.Formatting/tree/master/tests/FSharp.MetadataFormat.Tests/files/FsLib/Library1.fs#L" + files.["fslib-class.html"] |> shouldContainText "github-link" + files.["fslib-class.html"] |> shouldContainText "https://github.com/tpetricek/FSharp.Formatting/tree/master/tests/FSharp.MetadataFormat.Tests/files/FsLib/Library2.fs#L" + files.["fslib-record.html"] |> shouldContainText "github-link" + files.["fslib-record.html"] |> shouldContainText "https://github.com/tpetricek/FSharp.Formatting/tree/master/tests/FSharp.MetadataFormat.Tests/files/FsLib/Library1.fs#L" + files.["fslib-union.html"] |> shouldContainText "github-link" + files.["fslib-union.html"] |> shouldContainText "https://github.com/tpetricek/FSharp.Formatting/tree/master/tests/FSharp.MetadataFormat.Tests/files/FsLib/Library1.fs#L" - #if INTERACTIVE - System.Diagnostics.Process.Start(output) - #endif + //#if INTERACTIVE + //System.Diagnostics.Process.Start(output) + //#endif [<Test>] let ``MetadataFormat test that cref generation works``() = let libraries = - [ root </> "files/crefLib/bin/Debug" </> "crefLib1.dll" - root </> "files/crefLib/bin/Debug" </> "crefLib2.dll" - root </> "files/crefLib/bin/Debug" </> "crefLib3.dll" - root </> "files/crefLib/bin/Debug" </> "crefLib4.dll" ] + [ testBin </> "crefLib1.dll" + testBin </> "crefLib2.dll" + testBin </> "crefLib3.dll" + testBin </> "crefLib4.dll" ] |> fullpaths let output = getOutputDir() printfn "Output: %s" output RazorMetadataFormat.Generate - ( libraries, output, layoutRoots, info, libDirs = [root </> "../../lib"], + ( libraries, output, layoutRoots, info, libDirs = ([testBin] |> fullpaths), sourceRepo = "https://github.com/tpetricek/FSharp.Formatting/tree/master", sourceFolder = (__SOURCE_DIRECTORY__ </> "../.."), markDownComments = false ) @@ -170,68 +204,68 @@ let ``MetadataFormat test that cref generation works``() = // C# tests // reference class in same assembly - files.["creflib4-class1.html"] |> should contain "Class2" - files.["creflib4-class1.html"] |> should contain "creflib4-class2.html" + files.["creflib4-class1.html"] |> shouldContainText "Class2" + files.["creflib4-class1.html"] |> shouldContainText "creflib4-class2.html" // reference to another assembly - files.["creflib4-class2.html"] |> should contain "Class1" - files.["creflib4-class2.html"] |> should contain "creflib1-class1.html" + files.["creflib4-class2.html"] |> shouldContainText "Class1" + files.["creflib4-class2.html"] |> shouldContainText "creflib1-class1.html" /// + no crash on unresolved reference. - files.["creflib4-class2.html"] |> should contain "Unknown__Reference" + files.["creflib4-class2.html"] |> shouldContainText "Unknown__Reference" /// reference to a member works. - files.["creflib4-class3.html"] |> should contain "Class2.Other" - files.["creflib4-class3.html"] |> should contain "creflib4-class2.html" + files.["creflib4-class3.html"] |> shouldContainText "Class2.Other" + files.["creflib4-class3.html"] |> shouldContainText "creflib4-class2.html" /// reference to a corelib class works. - files.["creflib4-class4.html"] |> should contain "Assembly" - files.["creflib4-class4.html"] |> should contain "http://msdn.microsoft.com/en-us/library/System.Reflection.Assembly" + files.["creflib4-class4.html"] |> shouldContainText "Assembly" + files.["creflib4-class4.html"] |> shouldContainText "http://msdn.microsoft.com/en-us/library/System.Reflection.Assembly" // F# tests (at least we not not crash for them, compiler doesn't resolve anything) // reference class in same assembly - files.["creflib2-class1.html"] |> should contain "Class2" - //files.["creflib2-class1.html"] |> should contain "creflib2-class2.html" + files.["creflib2-class1.html"] |> shouldContainText "Class2" + //files.["creflib2-class1.html"] |> shouldContainText "creflib2-class2.html" // reference to another assembly - files.["creflib2-class2.html"] |> should contain "Class1" - //files.["creflib2-class2.html"] |> should contain "creflib1-class1.html" + files.["creflib2-class2.html"] |> shouldContainText "Class1" + //files.["creflib2-class2.html"] |> shouldContainText "creflib1-class1.html" /// + no crash on unresolved reference. - files.["creflib2-class2.html"] |> should contain "Unknown__Reference" + files.["creflib2-class2.html"] |> shouldContainText "Unknown__Reference" /// reference to a member works. - files.["creflib2-class3.html"] |> should contain "Class2.Other" - //files.["creflib2-class3.html"] |> should contain "creflib2-class2.html" + files.["creflib2-class3.html"] |> shouldContainText "Class2.Other" + //files.["creflib2-class3.html"] |> shouldContainText "creflib2-class2.html" /// reference to a corelib class works. - files.["creflib2-class4.html"] |> should contain "Assembly" - //files.["creflib2-class4.html"] |> should contain "http://msdn.microsoft.com/en-us/library/System.Reflection.Assembly" + files.["creflib2-class4.html"] |> shouldContainText "Assembly" + //files.["creflib2-class4.html"] |> shouldContainText "http://msdn.microsoft.com/en-us/library/System.Reflection.Assembly" // F# tests (fully quallified) // reference class in same assembly - files.["creflib2-class5.html"] |> should contain "Class2" - files.["creflib2-class5.html"] |> should contain "creflib2-class2.html" + files.["creflib2-class5.html"] |> shouldContainText "Class2" + files.["creflib2-class5.html"] |> shouldContainText "creflib2-class2.html" // reference to another assembly - files.["creflib2-class6.html"] |> should contain "Class1" - files.["creflib2-class6.html"] |> should contain "creflib1-class1.html" + files.["creflib2-class6.html"] |> shouldContainText "Class1" + files.["creflib2-class6.html"] |> shouldContainText "creflib1-class1.html" /// + no crash on unresolved reference. - files.["creflib2-class6.html"] |> should contain "Unknown__Reference" + files.["creflib2-class6.html"] |> shouldContainText "Unknown__Reference" /// reference to a member works. - files.["creflib2-class7.html"] |> should contain "Class2.Other" - files.["creflib2-class7.html"] |> should contain "creflib2-class2.html" + files.["creflib2-class7.html"] |> shouldContainText "Class2.Other" + files.["creflib2-class7.html"] |> shouldContainText "creflib2-class2.html" /// reference to a corelib class works. - files.["creflib2-class8.html"] |> should contain "Assembly" - files.["creflib2-class8.html"] |> should contain "http://msdn.microsoft.com/en-us/library/System.Reflection.Assembly" + files.["creflib2-class8.html"] |> shouldContainText "Assembly" + files.["creflib2-class8.html"] |> shouldContainText "http://msdn.microsoft.com/en-us/library/System.Reflection.Assembly" - #if INTERACTIVE - System.Diagnostics.Process.Start(output) - #endif + //#if INTERACTIVE + //System.Diagnostics.Process.Start(output) + //#endif [<Test>] let ``MetadataFormat test that csharp (publiconly) support works``() = let libraries = - [ root </> "files/csharpSupport/bin/Debug" </> "csharpSupport.dll" ] + [ testBin </> "csharpSupport.dll" ] |> fullpaths let output = getOutputDir() printfn "Output: %s" output RazorMetadataFormat.Generate - ( libraries, output, layoutRoots, info, libDirs = [root </> "../../lib"], + ( libraries, output, layoutRoots, info, libDirs = ([testBin] |> fullpaths), sourceRepo = "https://github.com/tpetricek/FSharp.Formatting/tree/master", sourceFolder = (__SOURCE_DIRECTORY__ </> "../.."), publicOnly = true, @@ -241,51 +275,51 @@ let ``MetadataFormat test that csharp (publiconly) support works``() = // C# tests - files.["csharpsupport-sampleclass.html"] |> should contain "My_Sample_Class" + files.["csharpsupport-sampleclass.html"] |> shouldContainText "My_Sample_Class" - files.["csharpsupport-sampleclass.html"] |> should contain "My_Constructor" - files.["csharpsupport-sampleclass.html"] |> should contain "My_Method" - files.["csharpsupport-sampleclass.html"] |> should contain "My_Property" - files.["csharpsupport-sampleclass.html"] |> should contain "My_Event" + files.["csharpsupport-sampleclass.html"] |> shouldContainText "My_Constructor" + files.["csharpsupport-sampleclass.html"] |> shouldContainText "My_Method" + files.["csharpsupport-sampleclass.html"] |> shouldContainText "My_Property" + files.["csharpsupport-sampleclass.html"] |> shouldContainText "My_Event" - files.["csharpsupport-sampleclass.html"] |> should not' (contain "My_Private_Constructor") - files.["csharpsupport-sampleclass.html"] |> should not' (contain "My_Private_Method") - files.["csharpsupport-sampleclass.html"] |> should not' (contain "My_Private_Property") - files.["csharpsupport-sampleclass.html"] |> should not' (contain "My_Private_Event") + files.["csharpsupport-sampleclass.html"] |> shouldNotContainText "My_Private_Constructor" + files.["csharpsupport-sampleclass.html"] |> shouldNotContainText "My_Private_Method" + files.["csharpsupport-sampleclass.html"] |> shouldNotContainText "My_Private_Property" + files.["csharpsupport-sampleclass.html"] |> shouldNotContainText "My_Private_Event" - files.["csharpsupport-sampleclass.html"] |> should contain "My_Static_Method" - files.["csharpsupport-sampleclass.html"] |> should contain "My_Static_Property" - files.["csharpsupport-sampleclass.html"] |> should contain "My_Static_Event" + files.["csharpsupport-sampleclass.html"] |> shouldContainText "My_Static_Method" + files.["csharpsupport-sampleclass.html"] |> shouldContainText "My_Static_Property" + files.["csharpsupport-sampleclass.html"] |> shouldContainText "My_Static_Event" - files.["csharpsupport-sampleclass.html"] |> should not' (contain "My_Private_Static_Method") - files.["csharpsupport-sampleclass.html"] |> should not' (contain "My_Private_Static_Property") - files.["csharpsupport-sampleclass.html"] |> should not' (contain "My_Private_Static_Event") + files.["csharpsupport-sampleclass.html"] |> shouldNotContainText "My_Private_Static_Method" + files.["csharpsupport-sampleclass.html"] |> shouldNotContainText "My_Private_Static_Property" + files.["csharpsupport-sampleclass.html"] |> shouldNotContainText "My_Private_Static_Event" - files.["csharpsupport-samplestaticclass.html"] |> should contain "My_Static_Sample_Class" + files.["csharpsupport-samplestaticclass.html"] |> shouldContainText "My_Static_Sample_Class" - files.["csharpsupport-samplestaticclass.html"] |> should contain "My_Static_Method" - files.["csharpsupport-samplestaticclass.html"] |> should contain "My_Static_Property" - files.["csharpsupport-samplestaticclass.html"] |> should contain "My_Static_Event" + files.["csharpsupport-samplestaticclass.html"] |> shouldContainText "My_Static_Method" + files.["csharpsupport-samplestaticclass.html"] |> shouldContainText "My_Static_Property" + files.["csharpsupport-samplestaticclass.html"] |> shouldContainText "My_Static_Event" - files.["csharpsupport-samplestaticclass.html"] |> should not' (contain "My_Private_Static_Method") - files.["csharpsupport-samplestaticclass.html"] |> should not' (contain "My_Private_Static_Property") - files.["csharpsupport-samplestaticclass.html"] |> should not' (contain "My_Private_Static_Event") + files.["csharpsupport-samplestaticclass.html"] |> shouldNotContainText "My_Private_Static_Method" + files.["csharpsupport-samplestaticclass.html"] |> shouldNotContainText "My_Private_Static_Property" + files.["csharpsupport-samplestaticclass.html"] |> shouldNotContainText "My_Private_Static_Event" - #if INTERACTIVE - System.Diagnostics.Process.Start(output) - #endif + //#if INTERACTIVE + //System.Diagnostics.Process.Start(output) + //#endif [<Ignore "Ignored because publicOnly=false is currently not working, see https://github.com/tpetricek/FSharp.Formatting/pull/259" >] [<Test>] let ``MetadataFormat test that csharp support works``() = let libraries = - [ root </> "files/csharpSupport/bin/Debug" </> "csharpSupport.dll" ] + [ testBin </> "csharpSupport.dll" ] |> fullpaths let output = getOutputDir() printfn "Output: %s" output RazorMetadataFormat.Generate - ( libraries, output, layoutRoots, info, libDirs = [root </> "../../lib"], + ( libraries, output, layoutRoots, info, libDirs = ([testBin] |> fullpaths), sourceRepo = "https://github.com/tpetricek/FSharp.Formatting/tree/master", sourceFolder = (__SOURCE_DIRECTORY__ </> "../.."), publicOnly = false, @@ -295,222 +329,246 @@ let ``MetadataFormat test that csharp support works``() = // C# tests - files.["csharpsupport-sampleclass.html"] |> should contain "My_Sample_Class" + files.["csharpsupport-sampleclass.html"] |> shouldContainText "My_Sample_Class" - files.["csharpsupport-sampleclass.html"] |> should contain "My_Constructor" - files.["csharpsupport-sampleclass.html"] |> should contain "My_Method" - files.["csharpsupport-sampleclass.html"] |> should contain "My_Property" - files.["csharpsupport-sampleclass.html"] |> should contain "My_Event" + files.["csharpsupport-sampleclass.html"] |> shouldContainText "My_Constructor" + files.["csharpsupport-sampleclass.html"] |> shouldContainText "My_Method" + files.["csharpsupport-sampleclass.html"] |> shouldContainText "My_Property" + files.["csharpsupport-sampleclass.html"] |> shouldContainText "My_Event" - files.["csharpsupport-sampleclass.html"] |> should contain "My_Private_Constructor" - files.["csharpsupport-sampleclass.html"] |> should contain "My_Private_Method" - files.["csharpsupport-sampleclass.html"] |> should contain "My_Private_Property" - files.["csharpsupport-sampleclass.html"] |> should contain "My_Private_Event" + files.["csharpsupport-sampleclass.html"] |> shouldContainText "My_Private_Constructor" + files.["csharpsupport-sampleclass.html"] |> shouldContainText "My_Private_Method" + files.["csharpsupport-sampleclass.html"] |> shouldContainText "My_Private_Property" + files.["csharpsupport-sampleclass.html"] |> shouldContainText "My_Private_Event" - files.["csharpsupport-sampleclass.html"] |> should contain "My_Static_Method" - files.["csharpsupport-sampleclass.html"] |> should contain "My_Static_Property" - files.["csharpsupport-sampleclass.html"] |> should contain "My_Static_Event" + files.["csharpsupport-sampleclass.html"] |> shouldContainText "My_Static_Method" + files.["csharpsupport-sampleclass.html"] |> shouldContainText "My_Static_Property" + files.["csharpsupport-sampleclass.html"] |> shouldContainText "My_Static_Event" - files.["csharpsupport-sampleclass.html"] |> should contain "My_Private_Static_Method" - files.["csharpsupport-sampleclass.html"] |> should contain "My_Private_Static_Property" - files.["csharpsupport-sampleclass.html"] |> should contain "My_Private_Static_Event" + files.["csharpsupport-sampleclass.html"] |> shouldContainText "My_Private_Static_Method" + files.["csharpsupport-sampleclass.html"] |> shouldContainText "My_Private_Static_Property" + files.["csharpsupport-sampleclass.html"] |> shouldContainText "My_Private_Static_Event" - files.["csharpsupport-samplestaticclass.html"] |> should contain "My_Static_Sample_Class" + files.["csharpsupport-samplestaticclass.html"] |> shouldContainText "My_Static_Sample_Class" - files.["csharpsupport-samplestaticclass.html"] |> should contain "My_Static_Method" - files.["csharpsupport-samplestaticclass.html"] |> should contain "My_Static_Property" - files.["csharpsupport-samplestaticclass.html"] |> should contain "My_Static_Event" + files.["csharpsupport-samplestaticclass.html"] |> shouldContainText "My_Static_Method" + files.["csharpsupport-samplestaticclass.html"] |> shouldContainText "My_Static_Property" + files.["csharpsupport-samplestaticclass.html"] |> shouldContainText "My_Static_Event" - files.["csharpsupport-samplestaticclass.html"] |> should contain "My_Private_Static_Method" - files.["csharpsupport-samplestaticclass.html"] |> should contain "My_Private_Static_Property" - files.["csharpsupport-samplestaticclass.html"] |> should contain "My_Private_Static_Event" + files.["csharpsupport-samplestaticclass.html"] |> shouldContainText "My_Private_Static_Method" + files.["csharpsupport-samplestaticclass.html"] |> shouldContainText "My_Private_Static_Property" + files.["csharpsupport-samplestaticclass.html"] |> shouldContainText "My_Private_Static_Event" - #if INTERACTIVE - System.Diagnostics.Process.Start(output) - #endif + //#if INTERACTIVE + //System.Diagnostics.Process.Start(output) + //#endif [<Test>] let ``MetadataFormat process XML comments in two sample F# assemblies``() = let libraries = - [ root </> "files/TestLib/bin/Debug" </> "TestLib1.dll" - root </> "files/TestLib/bin/Debug" </> "TestLib2.dll" ] - let output = getOutputDir() - RazorMetadataFormat.Generate(libraries, output, layoutRoots, info, libDirs = [root </> "../../lib"], markDownComments = false) - let fileNames = Directory.GetFiles(output) - let files = dict [ for f in fileNames -> Path.GetFileName(f), File.ReadAllText(f) ] - files.["fslib-class.html"] |> should contain "Readonly int property" - files.["fslib-record.html"] |> should contain "This is name" - files.["fslib-record.html"] |> should contain "Additional member" - files.["fslib-union.html"] |> should contain "Hello of int" - files.["index.html"] |> should contain "Sample class" - files.["index.html"] |> should contain "Union sample" - files.["index.html"] |> should contain "Record sample" - files.["fslib-nested.html"] |> should contain "Somewhat nested type" - files.["fslib-nested.html"] |> should contain "Somewhat nested module" - files.["fslib-nested-nestedtype.html"] |> should contain "Very nested member" - files.["fslib-nested-submodule.html"] |> should contain "Very nested field" + [ testBin </> "TestLib1.dll" + testBin </> "TestLib2.dll" ] |> fullpaths + let files = generate libraries false + //RazorMetadataFormat.Generate(libraries, output, layoutRoots, info, libDirs = [root </> "../../lib"; root </> "../../bin"], markDownComments = false) + files.["fslib-class.html"] |> shouldContainText "Readonly int property" + files.["fslib-record.html"] |> shouldContainText "This is name" + files.["fslib-record.html"] |> shouldContainText "Additional member" + files.["fslib-union.html"] |> shouldContainText "Hello of int" + files.["index.html"] |> shouldContainText "Sample class" + files.["index.html"] |> shouldContainText "Union sample" + files.["index.html"] |> shouldContainText "Record sample" + files.["fslib-nested.html"] |> shouldContainText "Somewhat nested type" + files.["fslib-nested.html"] |> shouldContainText "Somewhat nested module" + files.["fslib-nested-nestedtype.html"] |> shouldContainText "Very nested member" + files.["fslib-nested-submodule.html"] |> shouldContainText "Very nested field" [<Test>] let ``MetadataFormat highlights code snippets in Markdown comments``() = - let library = root </> "files/TestLib/bin/Debug" </> "TestLib1.dll" - let output = getOutputDir() - RazorMetadataFormat.Generate([library], output, layoutRoots, info, libDirs = [root </> "../../lib"], markDownComments = true) - let fileNames = Directory.GetFiles(output) - let files = dict [ for f in fileNames -> Path.GetFileName(f), File.ReadAllText(f) ] - files.["fslib-myclass.html"] |> should contain """<span class="k">let</span>""" - files.["fslib-myclass.html"] |> should contain """<span class="k">var</span>""" - files.["fslib-myclass.html"] |> should contain """val a : FsLib.MyClass""" + let library = testBin </> "TestLib1.dll" |> fullpath + //RazorMetadataFormat.Generate([library], output, layoutRoots, info, libDirs = [root </> "../../lib"], markDownComments = true) + + let files = generate [library] true + + files.["fslib-myclass.html"] |> shouldContainText """<span class="k">let</span>""" + files.["fslib-myclass.html"] |> shouldContainText """<span class="k">var</span>""" + files.["fslib-myclass.html"] |> shouldContainText """val a : FsLib.MyClass""" [<Test>] let ``MetadataFormat handles c# dlls`` () = - let library = root </> "files" </> "CSharpFormat.dll" - let output = getOutputDir() - RazorMetadataFormat.Generate - ( library, output, layoutRoots, info, libDirs = [root </> "../../lib"]) - let files = Directory.GetFiles(output) + let library = testBin </> "CSharpFormat.dll" |> fullpath + //RazorMetadataFormat.Generate + // ( library, output, layoutRoots, info, libDirs = [root </> "../../lib"; root </> "../../bin"]) + + let files = (generate [library] false).Keys let optIndex = files |> Seq.tryFind (fun s -> s.EndsWith "index.html") optIndex.IsSome |> shouldEqual true - #if INTERACTIVE - System.Diagnostics.Process.Start(output) - #endif + //#if INTERACTIVE + //System.Diagnostics.Process.Start(output) + //#endif [<Test>] let ``MetadataFormat processes C# types and includes xml comments in docs`` () = - let library = root </> "files" </> "CSharpFormat.dll" - let output = getOutputDir() - RazorMetadataFormat.Generate - ( library, output, layoutRoots, info, libDirs = [root </> "../../lib"]) - let fileNames = Directory.GetFiles(output) - let files = dict [ for f in fileNames -> Path.GetFileName(f), File.ReadAllText(f) ] - files.["index.html"] |> should contain "CLikeFormat" - files.["index.html"] |> should contain "Provides a base class for formatting languages similar to C." + let library = testBin </> "CSharpFormat.dll" |> fullpath + + //RazorMetadataFormat.Generate + // ( library, output, layoutRoots, info, libDirs = [root </> "../../lib"; root </> "../../bin"]) + + let files = generate [library] false + + files.["index.html"] |> shouldContainText "CLikeFormat" + files.["index.html"] |> shouldContainText "Provides a base class for formatting languages similar to C." [<Test>] let ``MetadataFormat processes C# properties on types and includes xml comments in docs`` () = - let library = root </> "files" </> "CSharpFormat.dll" - let output = getOutputDir() - RazorMetadataFormat.Generate - ( library, output, layoutRoots, info, libDirs = [root </> "../../lib"]) - let fileNames = Directory.GetFiles(output) - let files = dict [ for f in fileNames -> Path.GetFileName(f), File.ReadAllText(f) ] + let library = testBin </> "CSharpFormat.dll" |> fullpath + + let files = generate [library] false - files.["manoli-utils-csharpformat-clikeformat.html"] |> should contain "CommentRegEx" - files.["manoli-utils-csharpformat-clikeformat.html"] |> should contain "Regular expression string to match single line and multi-line" + files.["manoli-utils-csharpformat-clikeformat.html"] |> shouldContainText "CommentRegEx" + files.["manoli-utils-csharpformat-clikeformat.html"] |> shouldContainText "Regular expression string to match single line and multi-line" [<Test>] let ``MetadataFormat generates module link in nested types``() = - let binDir = root </> "files/FsLib/bin/Debug" - let library = binDir </> "FsLib2.dll" - let output = getOutputDir() - RazorMetadataFormat.Generate([library], output, layoutRoots, info, libDirs = [binDir; root </> "../../lib"], markDownComments = true) - let fileNames = Directory.GetFiles(output) - let files = dict [ for f in fileNames -> Path.GetFileName(f), File.ReadAllText(f) ] + + let library = testBin </> "FsLib2.dll" + + let files = generate [library] false // Check that the modules and type files have namespace information - files.["fslib-class.html"] |> should contain "Namespace: FsLib" - files.["fslib-nested.html"] |> should contain "Namespace: FsLib" - files.["fslib-nested-nestedtype.html"] |> should contain "Namespace: FsLib" - files.["fslib-nested-submodule.html"] |> should contain "Namespace: FsLib" - files.["fslib-nested-submodule-verynestedtype.html"] |> should contain "Namespace: FsLib" + files.["fslib-class.html"] |> shouldContainText "Namespace: FsLib" + files.["fslib-nested.html"] |> shouldContainText "Namespace: FsLib" + files.["fslib-nested-nestedtype.html"] |> shouldContainText "Namespace: FsLib" + files.["fslib-nested-submodule.html"] |> shouldContainText "Namespace: FsLib" + files.["fslib-nested-submodule-verynestedtype.html"] |> shouldContainText "Namespace: FsLib" // Check that the link to the module is correctly generated - files.["fslib-nested-nestedtype.html"] |> should contain "Parent Module:" - files.["fslib-nested-nestedtype.html"] |> should contain "<a href=\"fslib-nested.html\">Nested</a>" + files.["fslib-nested-nestedtype.html"] |> shouldContainText "Parent Module:" + files.["fslib-nested-nestedtype.html"] |> shouldContainText "<a href=\"fslib-nested.html\">Nested</a>" // Only for nested types files.["fslib-class.html"] |> shouldNotContainText "Parent Module:" // Check that the link to the module is correctly generated for types in nested modules - files.["fslib-nested-submodule-verynestedtype.html"] |> should contain "Parent Module:" - files.["fslib-nested-submodule-verynestedtype.html"] |> should contain "<a href=\"fslib-nested-submodule.html\">Submodule</a>" + files.["fslib-nested-submodule-verynestedtype.html"] |> shouldContainText "Parent Module:" + files.["fslib-nested-submodule-verynestedtype.html"] |> shouldContainText "<a href=\"fslib-nested-submodule.html\">Submodule</a>" // Check that nested submodules have links to its module - files.["fslib-nested-submodule.html"] |> should contain "Parent Module:" - files.["fslib-nested-submodule.html"] |> should contain "<a href=\"fslib-nested.html\">Nested</a>" + files.["fslib-nested-submodule.html"] |> shouldContainText "Parent Module:" + files.["fslib-nested-submodule.html"] |> shouldContainText "<a href=\"fslib-nested.html\">Nested</a>" open System.Diagnostics open FSharp.Formatting.Common [<Test>] let ``MetadataFormat omit works without markdown``() = - let binDir = root </> "files/FsLib/bin/Debug" - let library = binDir </> "FsLib2.dll" - let output = getOutputDir() - RazorMetadataFormat.Generate - ([library], output, layoutRoots, info, libDirs = [binDir; root </> "../../lib"], - markDownComments = false) - let fileNames = Directory.GetFiles(output) - let files = dict [ for f in fileNames -> Path.GetFileName(f), File.ReadAllText(f) ] + let library = testBin </> "FsLib2.dll" |> fullpath - files.ContainsKey "fslib-test_omit.html" |> should equal false + let files = generate [library] false + + files.ContainsKey "fslib-test_omit.html" |> shouldEqual false [<Test>] let ``MetadataFormat test FsLib1``() = - let binDir = root </> "files/FsLib/bin/Debug" - let library = binDir </> "FsLib1.dll" - let output = getOutputDir() - RazorMetadataFormat.Generate - ([ library ], output, layoutRoots, info, libDirs = [ binDir; root </> "../../lib" ], - markDownComments = false) - let fileNames = Directory.GetFiles(output) + let library = testBin </> "FsLib1.dll" |> fullpath + + let files = generate [library] false - let files = - dict [ for f in fileNames -> Path.GetFileName(f), File.ReadAllText(f) ] - files.ContainsKey "fslib-test_omit.html" |> should equal false + files.ContainsKey "fslib-test_omit.html" |> shouldEqual false // -------------------Indirect links---------------------------------- [<Test>] let ``Metadata generates cross-type links for Indirect Links``() = - let library = root </> "files/FsLib/bin/Debug" </> "FsLib2.dll" - let output = getOutputDir() - RazorMetadataFormat.Generate([library], output, layoutRoots, info, libDirs = [root </> "../../lib"], markDownComments = true) - let fileNames = Directory.GetFiles(output) - let files = dict [ for f in fileNames -> Path.GetFileName(f), File.ReadAllText(f) ] + let library = testBin </> "FsLib2.dll" |> fullpath + + let files = generate [library] true // Check that a link to MyType exists when using Full Name of the type - files.["fslib-nested.html"] |> should contain "This function returns a <a href=\"fslib-nested-mytype.html\" title=\"MyType\">FsLib.Nested.MyType</a>" + files.["fslib-nested.html"] |> shouldContainText "This function returns a <a href=\"fslib-nested-mytype.html\" title=\"MyType\">FsLib.Nested.MyType</a>" // Check that a link to OtherType exists when using Logical Name of the type only - files.["fslib-nested.html"] |> should contain "This function returns a <a href=\"fslib-nested-othertype.html\" title=\"OtherType\">OtherType</a>" + files.["fslib-nested.html"] |> shouldContainText "This function returns a <a href=\"fslib-nested-othertype.html\" title=\"OtherType\">OtherType</a>" // Check that a link to a module is created when using Logical Name only - files.["fslib-duplicatedtypename.html"] |> should contain "This type name will be duplicated in <a href=\"fslib-nested.html\" title=\"Nested\">Nested</a>" + files.["fslib-duplicatedtypename.html"] |> shouldContainText "This type name will be duplicated in <a href=\"fslib-nested.html\" title=\"Nested\">Nested</a>" // Check that a link to a type with a duplicated name is created when using full name - files.["fslib-nested-duplicatedtypename.html"] |> should contain "This type has the same name as <a href=\"fslib-duplicatedtypename.html\" title=\"DuplicatedTypeName\">FsLib.DuplicatedTypeName</a>" + files.["fslib-nested-duplicatedtypename.html"] |> shouldContainText "This type has the same name as <a href=\"fslib-duplicatedtypename.html\" title=\"DuplicatedTypeName\">FsLib.DuplicatedTypeName</a>" // Check that a link to a type with a duplicated name is not created when using Logical name only - files.["fslib-nested.html"] |> should contain "This function returns a [DuplicatedTypeName] multiplied by 4." + files.["fslib-nested.html"] |> shouldContainText "This function returns a [DuplicatedTypeName] multiplied by 4." // Check that a link to a type with a duplicated name is not created when using Logical name only - files.["fslib-nested.html"] |> should contain "This function returns a [InexistentTypeName] multiplied by 5." + files.["fslib-nested.html"] |> shouldContainText "This function returns a [InexistentTypeName] multiplied by 5." // -------------------Inline code---------------------------------- [<Test>] let ``Metadata generates cross-type links for Inline Code``() = - let library = root </> "files/FsLib/bin/Debug" </> "FsLib2.dll" - let output = getOutputDir() - RazorMetadataFormat.Generate([library], output, layoutRoots, info, libDirs = [root </> "../../lib"], markDownComments = true) - let fileNames = Directory.GetFiles(output) - let files = dict [ for f in fileNames -> Path.GetFileName(f), File.ReadAllText(f) ] + let library = testBin </> "FsLib2.dll" |> fullpath + + let files = generate [library] true // Check that a link to MyType exists when using Full Name of the type in a inline code - files.["fslib-nested.html"] |> should contain "You will notice that <a href=\"fslib-nested-mytype.html\" title=\"MyType\"><code>FsLib.Nested.MyType</code></a> is just an <code>int</code>" + files.["fslib-nested.html"] |> shouldContainText "You will notice that <a href=\"fslib-nested-mytype.html\" title=\"MyType\"><code>FsLib.Nested.MyType</code></a> is just an <code>int</code>" // Check that a link to MyType exists when using Full Name of the type in a inline code - files.["fslib-nested.html"] |> should contain "You will notice that <a href=\"fslib-nested-othertype.html\" title=\"OtherType\"><code>OtherType</code></a> is just an <code>int</code>" + files.["fslib-nested.html"] |> shouldContainText "You will notice that <a href=\"fslib-nested-othertype.html\" title=\"OtherType\"><code>OtherType</code></a> is just an <code>int</code>" // Check that a link to a type with a duplicated name is not created when using Logical name only - files.["fslib-nested.html"] |> should contain "<code>DuplicatedTypeName</code> is duplicated so it should no add a cross-type link" + files.["fslib-nested.html"] |> shouldContainText "<code>DuplicatedTypeName</code> is duplicated so it should no add a cross-type link" // Check that a link to a type with a duplicated name is not created when using Logical name only - files.["fslib-nested.html"] |> should contain "<code>InexistentTypeName</code> does not exists so it should no add a cross-type link" + files.["fslib-nested.html"] |> shouldContainText "<code>InexistentTypeName</code> does not exists so it should no add a cross-type link" // Check that a link to a module is created when using Logical Name only - files.["fslib-duplicatedtypename.html"] |> should contain "This type name will be duplicated in <a href=\"fslib-nested.html\" title=\"Nested\"><code>Nested</code></a>" + files.["fslib-duplicatedtypename.html"] |> shouldContainText "This type name will be duplicated in <a href=\"fslib-nested.html\" title=\"Nested\"><code>Nested</code></a>" // Check that a link to a type with a duplicated name is created when using full name - files.["fslib-nested-duplicatedtypename.html"] |> should contain "This type has the same name as <a href=\"fslib-duplicatedtypename.html\" title=\"DuplicatedTypeName\"><code>FsLib.DuplicatedTypeName</code></a>" \ No newline at end of file + files.["fslib-nested-duplicatedtypename.html"] |> shouldContainText "This type has the same name as <a href=\"fslib-duplicatedtypename.html\" title=\"DuplicatedTypeName\"><code>FsLib.DuplicatedTypeName</code></a>" + + +let runtest testfn = + try testfn () + with e -> printfn "Error -\n%s\n\nStackTrace -\n%s\n\n\TargetSite -\n%s\n" e.Message e.StackTrace e.TargetSite.Name +#if INTERACTIVE +;; +printfn "Metadata generates cross-type links for Inline Code" +runtest ``Metadata generates cross-type links for Inline Code``;; + +printfn "Metadata generates cross-type links for Indirect Links" +runtest ``Metadata generates cross-type links for Indirect Links``;; + +printfn "MetadataFormat test FsLib1" +runtest ``MetadataFormat test FsLib1``;; + +printfn "MetadataFormat omit works without markdown" +runtest ``MetadataFormat omit works without markdown``;; + +printfn "MetadataFormat generates module link in nested types" +runtest ``MetadataFormat generates module link in nested types``;; +runtest ``MetadataFormat processes C# properties on types and includes xml comments in docs``;; + +printfn "MetadataFormat handles c# dlls" +runtest ``MetadataFormat handles c# dlls``;; + +printfn "MetadataFormat highlights code snippets in Markdown comments" +runtest ``MetadataFormat highlights code snippets in Markdown comments``;; + +printfn "MetadataFormat process XML comments in two sample F# assemblies" +runtest ``MetadataFormat process XML comments in two sample F# assemblies``;; + +printfn "MetadataFormat works on sample Deedle assembly" +runtest ``MetadataFormat works on sample Deedle assembly``;; + +printfn "MetadataFormat works on two sample F# assemblies" +runtest ``MetadataFormat works on two sample F# assemblies``;; + +printfn "MetadataFormat test that csharp (publiconly) support works" +runtest ``MetadataFormat test that csharp (publiconly) support works``;; + +printfn "MetadataFormat test that cref generation works" +runtest ``MetadataFormat test that cref generation works``;; + +#endif \ No newline at end of file diff --git a/tests/FSharp.MetadataFormat.Tests/app.config b/tests/FSharp.MetadataFormat.Tests/app.config new file mode 100644 index 000000000..c15bb22a9 --- /dev/null +++ b/tests/FSharp.MetadataFormat.Tests/app.config @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="utf-8"?> +<configuration> +<runtime><assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> + <dependentAssembly> + <Paket>True</Paket> + <assemblyIdentity name="FSharp.Core" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="4.4.1.0" /> + </dependentAssembly> + <dependentAssembly> + <Paket>True</Paket> + <assemblyIdentity name="System.Collections.Immutable" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.2.1.0" /> + </dependentAssembly> + <dependentAssembly> + <Paket>True</Paket> + <assemblyIdentity name="System.IO.Compression" publicKeyToken="b77a5c561934e089" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="4.1.2.0" /> + </dependentAssembly> + <dependentAssembly> + <Paket>True</Paket> + <assemblyIdentity name="System.ValueTuple" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="4.0.1.0" /> + </dependentAssembly> +</assemblyBinding></runtime></configuration> diff --git a/tests/FSharp.MetadataFormat.Tests/files/FsLib/FsLib1.fsproj b/tests/FSharp.MetadataFormat.Tests/files/FsLib/FsLib1.fsproj index a29006e8f..f31913ba4 100644 --- a/tests/FSharp.MetadataFormat.Tests/files/FsLib/FsLib1.fsproj +++ b/tests/FSharp.MetadataFormat.Tests/files/FsLib/FsLib1.fsproj @@ -1,15 +1,14 @@ <?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> +<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <PropertyGroup> <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> - <SchemaVersion>2.0</SchemaVersion> <ProjectGuid>ad192375-d530-40fb-a4e9-380c74cbb771</ProjectGuid> <OutputType>Library</OutputType> <RootNamespace>FsLib</RootNamespace> <AssemblyName>FsLib1</AssemblyName> - <TargetFrameworkVersion>v4.5</TargetFrameworkVersion> - <TargetFSharpCoreVersion>4.4.0.0</TargetFSharpCoreVersion> + <TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion> + <TargetFSharpCoreVersion>4.4.1.0</TargetFSharpCoreVersion> <Name>FsLib1</Name> <TargetFrameworkProfile /> </PropertyGroup> @@ -18,34 +17,30 @@ <DebugType>full</DebugType> <Optimize>false</Optimize> <Tailcalls>false</Tailcalls> - <OutputPath>bin\Debug\</OutputPath> + <OutputPath>$(SolutionDir)\tests\bin</OutputPath> <DefineConstants>DEBUG;TRACE</DefineConstants> <WarningLevel>3</WarningLevel> - <DocumentationFile>bin\Debug\FsLib1.xml</DocumentationFile> + <DocumentationFile>$(SolutionDir)\tests\bin\FsLib1.xml</DocumentationFile> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> <DebugType>pdbonly</DebugType> <Optimize>true</Optimize> <Tailcalls>true</Tailcalls> - <OutputPath>bin\Release\</OutputPath> + <OutputPath>$(SolutionDir)\tests\bin</OutputPath> <DefineConstants>TRACE</DefineConstants> <WarningLevel>3</WarningLevel> - <DocumentationFile>bin\Release\FsLib.XML</DocumentationFile> + <DocumentationFile>$(SolutionDir)\tests\bin\FsLib1.XML</DocumentationFile> </PropertyGroup> - <ItemGroup> - <Reference Include="mscorlib" /> - <Reference Include="System" /> - <Reference Include="System.Core" /> - <Reference Include="System.Numerics" /> - </ItemGroup> - <ItemGroup> - <Compile Include="Library1.fs" /> - </ItemGroup> <PropertyGroup> <VisualStudioVersion Condition=" '$(VisualStudioVersion)' == '' ">14.0</VisualStudioVersion> <MinimumVisualStudioVersion Condition="'$(MinimumVisualStudioVersion)' == ''">11</MinimumVisualStudioVersion> </PropertyGroup> <Choose> + <When Condition="Exists('$(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\4.1\Framework\v4.0\Microsoft.FSharp.Targets')"> + <PropertyGroup> + <FSharpTargetsPath>$(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\4.1\Framework\v4.0\Microsoft.FSharp.Targets</FSharpTargetsPath> + </PropertyGroup> + </When> <When Condition="'$(VisualStudioVersion)' != '11.0' and Exists('$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\FSharp\Microsoft.FSharp.Targets')"> <PropertyGroup> <FSharpTargetsPath>$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\FSharp\Microsoft.FSharp.Targets</FSharpTargetsPath> @@ -75,40 +70,49 @@ <Target Name="AfterBuild"> </Target> --> + <ItemGroup> + <Compile Include="Library1.fs" /> + <None Include="FsLib1.fsproj.paket.references" /> + <Content Include="app.config" /> + </ItemGroup> + <ItemGroup> + <Reference Include="mscorlib" /> + <Reference Include="System" /> + <Reference Include="System.Core" /> + <Reference Include="System.Numerics" /> + </ItemGroup> <Choose> - <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.0'"> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v2.0' Or $(TargetFrameworkVersion) == 'v3.0' Or $(TargetFrameworkVersion) == 'v3.5')"> <ItemGroup> - <Reference Include="FSharp.Compiler.Service"> - <HintPath>..\..\..\..\packages\FSharp.Compiler.Service\lib\net40\FSharp.Compiler.Service.dll</HintPath> + <Reference Include="FSharp.Core"> + <HintPath>..\..\..\..\packages\FSharp.Core\lib\net20\FSharp.Core.dll</HintPath> <Private>True</Private> <Paket>True</Paket> </Reference> </ItemGroup> </When> - <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.5' Or $(TargetFrameworkVersion) == 'v4.5.1' Or $(TargetFrameworkVersion) == 'v4.5.2' Or $(TargetFrameworkVersion) == 'v4.5.3' Or $(TargetFrameworkVersion) == 'v4.6' Or $(TargetFrameworkVersion) == 'v4.6.1' Or $(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3')"> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.0'"> <ItemGroup> - <Reference Include="FSharp.Compiler.Service"> - <HintPath>..\..\..\..\packages\FSharp.Compiler.Service\lib\net45\FSharp.Compiler.Service.dll</HintPath> + <Reference Include="FSharp.Core"> + <HintPath>..\..\..\..\packages\FSharp.Core\lib\net40\FSharp.Core.dll</HintPath> <Private>True</Private> <Paket>True</Paket> </Reference> </ItemGroup> </When> - </Choose> - <Choose> - <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v2.0' Or $(TargetFrameworkVersion) == 'v3.0' Or $(TargetFrameworkVersion) == 'v3.5')"> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.5' Or $(TargetFrameworkVersion) == 'v4.5.1' Or $(TargetFrameworkVersion) == 'v4.5.2' Or $(TargetFrameworkVersion) == 'v4.5.3' Or $(TargetFrameworkVersion) == 'v4.6' Or $(TargetFrameworkVersion) == 'v4.6.1' Or $(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3')"> <ItemGroup> <Reference Include="FSharp.Core"> - <HintPath>..\..\..\..\packages\FSharp.Core\lib\net20\FSharp.Core.dll</HintPath> + <HintPath>..\..\..\..\packages\FSharp.Core\lib\net45\FSharp.Core.dll</HintPath> <Private>True</Private> <Paket>True</Paket> </Reference> </ItemGroup> </When> - <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.0' Or $(TargetFrameworkVersion) == 'v4.5' Or $(TargetFrameworkVersion) == 'v4.5.1' Or $(TargetFrameworkVersion) == 'v4.5.2' Or $(TargetFrameworkVersion) == 'v4.5.3' Or $(TargetFrameworkVersion) == 'v4.6' Or $(TargetFrameworkVersion) == 'v4.6.1' Or $(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3')"> + <When Condition="($(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6') Or ($(TargetFrameworkIdentifier) == '.NETCoreApp' And $(TargetFrameworkVersion) == 'v1.0')"> <ItemGroup> <Reference Include="FSharp.Core"> - <HintPath>..\..\..\..\packages\FSharp.Core\lib\net40\FSharp.Core.dll</HintPath> + <HintPath>..\..\..\..\packages\FSharp.Core\lib\netstandard1.6\FSharp.Core.dll</HintPath> <Private>True</Private> <Paket>True</Paket> </Reference> @@ -123,7 +127,7 @@ </Reference> </ItemGroup> </When> - <When Condition="($(TargetFrameworkIdentifier) == '.NETCore') Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2' Or $(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')) Or ($(TargetFrameworkIdentifier) == '.NETCoreApp' And $(TargetFrameworkVersion) == 'v1.0') Or ($(TargetFrameworkIdentifier) == 'Xamarin.Mac') Or ($(TargetFrameworkProfile) == 'Profile7') Or ($(TargetFrameworkProfile) == 'Profile44')"> + <When Condition="($(TargetFrameworkIdentifier) == '.NETCore') Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2' Or $(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5')) Or ($(TargetFrameworkIdentifier) == 'Xamarin.Mac') Or ($(TargetFrameworkProfile) == 'Profile7') Or ($(TargetFrameworkProfile) == 'Profile44')"> <ItemGroup> <Reference Include="FSharp.Core"> <HintPath>..\..\..\..\packages\FSharp.Core\lib\portable-net45+netcore45\FSharp.Core.dll</HintPath> @@ -172,7 +176,7 @@ </When> </Choose> <Choose> - <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.5'"> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.5' Or $(TargetFrameworkVersion) == 'v4.5.1' Or $(TargetFrameworkVersion) == 'v4.5.2' Or $(TargetFrameworkVersion) == 'v4.5.3' Or $(TargetFrameworkVersion) == 'v4.6' Or $(TargetFrameworkVersion) == 'v4.6.1' Or $(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3')"> <ItemGroup> <Reference Include="RazorEngine"> <HintPath>..\..\..\..\packages\RazorEngine\lib\net45\RazorEngine.dll</HintPath> @@ -182,4 +186,885 @@ </ItemGroup> </When> </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2')"> + <ItemGroup> + <Reference Include="System.Collections"> + <HintPath>..\..\..\..\packages\System.Collections\ref\netstandard1.0\System.Collections.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Collections"> + <HintPath>..\..\..\..\packages\System.Collections\ref\netstandard1.3\System.Collections.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Collections.Concurrent"> + <HintPath>..\..\..\..\packages\System.Collections.Concurrent\lib\netstandard1.3\System.Collections.Concurrent.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Console"> + <HintPath>..\..\..\..\packages\System.Console\lib\net46\System.Console.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Console"> + <HintPath>..\..\..\..\packages\System.Console\ref\netstandard1.3\System.Console.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2')"> + <ItemGroup> + <Reference Include="System.Diagnostics.Debug"> + <HintPath>..\..\..\..\packages\System.Diagnostics.Debug\ref\netstandard1.0\System.Diagnostics.Debug.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Diagnostics.Debug"> + <HintPath>..\..\..\..\packages\System.Diagnostics.Debug\ref\netstandard1.3\System.Diagnostics.Debug.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Diagnostics.DiagnosticSource"> + <HintPath>..\..\..\..\packages\System.Diagnostics.DiagnosticSource\lib\net46\System.Diagnostics.DiagnosticSource.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Diagnostics.DiagnosticSource"> + <HintPath>..\..\..\..\packages\System.Diagnostics.DiagnosticSource\lib\netstandard1.3\System.Diagnostics.DiagnosticSource.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3')"> + <ItemGroup> + <Reference Include="System.Diagnostics.Tracing"> + <HintPath>..\..\..\..\packages\System.Diagnostics.Tracing\lib\net462\System.Diagnostics.Tracing.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4')"> + <ItemGroup> + <Reference Include="System.Diagnostics.Tracing"> + <HintPath>..\..\..\..\packages\System.Diagnostics.Tracing\ref\netstandard1.3\System.Diagnostics.Tracing.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Diagnostics.Tracing"> + <HintPath>..\..\..\..\packages\System.Diagnostics.Tracing\ref\netstandard1.5\System.Diagnostics.Tracing.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2')"> + <ItemGroup> + <Reference Include="System.Globalization"> + <HintPath>..\..\..\..\packages\System.Globalization\ref\netstandard1.0\System.Globalization.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Globalization"> + <HintPath>..\..\..\..\packages\System.Globalization\ref\netstandard1.3\System.Globalization.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Globalization.Calendars"> + <HintPath>..\..\..\..\packages\System.Globalization.Calendars\lib\net46\System.Globalization.Calendars.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Globalization.Calendars"> + <HintPath>..\..\..\..\packages\System.Globalization.Calendars\ref\netstandard1.3\System.Globalization.Calendars.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Globalization.Extensions"> + <HintPath>..\..\..\..\packages\System.Globalization.Extensions\lib\net46\System.Globalization.Extensions.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Globalization.Extensions"> + <HintPath>..\..\..\..\packages\System.Globalization.Extensions\ref\netstandard1.3\System.Globalization.Extensions.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3')"> + <ItemGroup> + <Reference Include="System.IO"> + <HintPath>..\..\..\..\packages\System.IO\lib\net462\System.IO.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2')"> + <ItemGroup> + <Reference Include="System.IO"> + <HintPath>..\..\..\..\packages\System.IO\ref\netstandard1.0\System.IO.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4')"> + <ItemGroup> + <Reference Include="System.IO"> + <HintPath>..\..\..\..\packages\System.IO\ref\netstandard1.3\System.IO.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.IO"> + <HintPath>..\..\..\..\packages\System.IO\ref\netstandard1.5\System.IO.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.IO.FileSystem"> + <HintPath>..\..\..\..\packages\System.IO.FileSystem\lib\net46\System.IO.FileSystem.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.IO.FileSystem"> + <HintPath>..\..\..\..\packages\System.IO.FileSystem\ref\netstandard1.3\System.IO.FileSystem.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.IO.FileSystem.Primitives"> + <HintPath>..\..\..\..\packages\System.IO.FileSystem.Primitives\lib\net46\System.IO.FileSystem.Primitives.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.IO.FileSystem.Primitives"> + <HintPath>..\..\..\..\packages\System.IO.FileSystem.Primitives\lib\netstandard1.3\System.IO.FileSystem.Primitives.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Linq"> + <HintPath>..\..\..\..\packages\System.Linq\lib\net463\System.Linq.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Linq"> + <HintPath>..\..\..\..\packages\System.Linq\lib\netstandard1.6\System.Linq.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Linq.Expressions"> + <HintPath>..\..\..\..\packages\System.Linq.Expressions\lib\net463\System.Linq.Expressions.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Linq.Expressions"> + <HintPath>..\..\..\..\packages\System.Linq.Expressions\lib\netstandard1.6\System.Linq.Expressions.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Linq.Queryable"> + <HintPath>..\..\..\..\packages\System.Linq.Queryable\lib\netstandard1.3\System.Linq.Queryable.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Net.Http"> + <HintPath>..\..\..\..\packages\System.Net.Http\lib\net46\System.Net.Http.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Net.Http"> + <HintPath>..\..\..\..\packages\System.Net.Http\ref\netstandard1.3\System.Net.Http.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Net.Requests"> + <HintPath>..\..\..\..\packages\System.Net.Requests\ref\netstandard1.3\System.Net.Requests.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Net.WebHeaderCollection"> + <HintPath>..\..\..\..\packages\System.Net.WebHeaderCollection\lib\netstandard1.3\System.Net.WebHeaderCollection.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.ObjectModel"> + <HintPath>..\..\..\..\packages\System.ObjectModel\lib\netstandard1.3\System.ObjectModel.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3')"> + <ItemGroup> + <Reference Include="System.Reflection"> + <HintPath>..\..\..\..\packages\System.Reflection\lib\net462\System.Reflection.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2')"> + <ItemGroup> + <Reference Include="System.Reflection"> + <HintPath>..\..\..\..\packages\System.Reflection\ref\netstandard1.0\System.Reflection.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4')"> + <ItemGroup> + <Reference Include="System.Reflection"> + <HintPath>..\..\..\..\packages\System.Reflection\ref\netstandard1.3\System.Reflection.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Reflection"> + <HintPath>..\..\..\..\packages\System.Reflection\ref\netstandard1.5\System.Reflection.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Reflection.Emit"> + <HintPath>..\..\..\..\packages\System.Reflection.Emit\lib\netstandard1.3\System.Reflection.Emit.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Reflection.Emit.ILGeneration"> + <HintPath>..\..\..\..\packages\System.Reflection.Emit.ILGeneration\lib\netstandard1.3\System.Reflection.Emit.ILGeneration.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Reflection.Emit.Lightweight"> + <HintPath>..\..\..\..\packages\System.Reflection.Emit.Lightweight\lib\netstandard1.3\System.Reflection.Emit.Lightweight.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Reflection.TypeExtensions"> + <HintPath>..\..\..\..\packages\System.Reflection.TypeExtensions\lib\net462\System.Reflection.TypeExtensions.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Reflection.TypeExtensions"> + <HintPath>..\..\..\..\packages\System.Reflection.TypeExtensions\lib\netstandard1.5\System.Reflection.TypeExtensions.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.5' Or $(TargetFrameworkVersion) == 'v4.5.1' Or $(TargetFrameworkVersion) == 'v4.5.2' Or $(TargetFrameworkVersion) == 'v4.5.3' Or $(TargetFrameworkVersion) == 'v4.6' Or $(TargetFrameworkVersion) == 'v4.6.1')"> + <ItemGroup> + <Reference Include="System.ComponentModel.Composition"> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3')"> + <ItemGroup> + <Reference Include="System.ComponentModel.Composition"> + <Paket>True</Paket> + </Reference> + <Reference Include="System.Runtime"> + <HintPath>..\..\..\..\packages\System.Runtime\lib\net462\System.Runtime.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1')"> + <ItemGroup> + <Reference Include="System.Runtime"> + <HintPath>..\..\..\..\packages\System.Runtime\ref\netstandard1.0\System.Runtime.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.2'"> + <ItemGroup> + <Reference Include="System.Runtime"> + <HintPath>..\..\..\..\packages\System.Runtime\ref\netstandard1.2\System.Runtime.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4')"> + <ItemGroup> + <Reference Include="System.Runtime"> + <HintPath>..\..\..\..\packages\System.Runtime\ref\netstandard1.3\System.Runtime.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Runtime"> + <HintPath>..\..\..\..\packages\System.Runtime\ref\netstandard1.5\System.Runtime.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3')"> + <ItemGroup> + <Reference Include="System.Runtime.Extensions"> + <HintPath>..\..\..\..\packages\System.Runtime.Extensions\lib\net462\System.Runtime.Extensions.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2')"> + <ItemGroup> + <Reference Include="System.Runtime.Extensions"> + <HintPath>..\..\..\..\packages\System.Runtime.Extensions\ref\netstandard1.0\System.Runtime.Extensions.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4')"> + <ItemGroup> + <Reference Include="System.Runtime.Extensions"> + <HintPath>..\..\..\..\packages\System.Runtime.Extensions\ref\netstandard1.3\System.Runtime.Extensions.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Runtime.Extensions"> + <HintPath>..\..\..\..\packages\System.Runtime.Extensions\ref\netstandard1.5\System.Runtime.Extensions.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Runtime.Handles"> + <HintPath>..\..\..\..\packages\System.Runtime.Handles\ref\netstandard1.3\System.Runtime.Handles.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.2'"> + <ItemGroup> + <Reference Include="System.Runtime.InteropServices"> + <HintPath>..\..\..\..\packages\System.Runtime.InteropServices\lib\net462\System.Runtime.InteropServices.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Runtime.InteropServices"> + <HintPath>..\..\..\..\packages\System.Runtime.InteropServices\lib\net463\System.Runtime.InteropServices.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.1'"> + <ItemGroup> + <Reference Include="System.Runtime.InteropServices"> + <HintPath>..\..\..\..\packages\System.Runtime.InteropServices\ref\netstandard1.1\System.Runtime.InteropServices.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.2'"> + <ItemGroup> + <Reference Include="System.Runtime.InteropServices"> + <HintPath>..\..\..\..\packages\System.Runtime.InteropServices\ref\netstandard1.2\System.Runtime.InteropServices.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4')"> + <ItemGroup> + <Reference Include="System.Runtime.InteropServices"> + <HintPath>..\..\..\..\packages\System.Runtime.InteropServices\ref\netstandard1.3\System.Runtime.InteropServices.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Runtime.InteropServices"> + <HintPath>..\..\..\..\packages\System.Runtime.InteropServices\ref\netstandard1.5\System.Runtime.InteropServices.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Runtime.Numerics"> + <HintPath>..\..\..\..\packages\System.Runtime.Numerics\lib\netstandard1.3\System.Runtime.Numerics.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.Algorithms"> + <HintPath>..\..\..\..\packages\System.Security.Cryptography.Algorithms\lib\net463\System.Security.Cryptography.Algorithms.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.Algorithms"> + <HintPath>..\..\..\..\packages\System.Security.Cryptography.Algorithms\ref\netstandard1.6\System.Security.Cryptography.Algorithms.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.Cng"> + <HintPath>..\..\..\..\packages\System.Security.Cryptography.Cng\lib\net463\System.Security.Cryptography.Cng.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.Cng"> + <HintPath>..\..\..\..\packages\System.Security.Cryptography.Cng\ref\netstandard1.6\System.Security.Cryptography.Cng.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.Csp"> + <HintPath>..\..\..\..\packages\System.Security.Cryptography.Csp\lib\net46\System.Security.Cryptography.Csp.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.Csp"> + <HintPath>..\..\..\..\packages\System.Security.Cryptography.Csp\ref\netstandard1.3\System.Security.Cryptography.Csp.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.Encoding"> + <HintPath>..\..\..\..\packages\System.Security.Cryptography.Encoding\lib\net46\System.Security.Cryptography.Encoding.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.Encoding"> + <HintPath>..\..\..\..\packages\System.Security.Cryptography.Encoding\ref\netstandard1.3\System.Security.Cryptography.Encoding.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="($(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6') Or ($(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3')"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.OpenSsl"> + <HintPath>..\..\..\..\packages\System.Security.Cryptography.OpenSsl\lib\netstandard1.6\System.Security.Cryptography.OpenSsl.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.Primitives"> + <HintPath>..\..\..\..\packages\System.Security.Cryptography.Primitives\lib\net46\System.Security.Cryptography.Primitives.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.Primitives"> + <HintPath>..\..\..\..\packages\System.Security.Cryptography.Primitives\lib\netstandard1.3\System.Security.Cryptography.Primitives.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.X509Certificates"> + <HintPath>..\..\..\..\packages\System.Security.Cryptography.X509Certificates\lib\net461\System.Security.Cryptography.X509Certificates.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.X509Certificates"> + <HintPath>..\..\..\..\packages\System.Security.Cryptography.X509Certificates\ref\netstandard1.4\System.Security.Cryptography.X509Certificates.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2')"> + <ItemGroup> + <Reference Include="System.Text.Encoding"> + <HintPath>..\..\..\..\packages\System.Text.Encoding\ref\netstandard1.0\System.Text.Encoding.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Text.Encoding"> + <HintPath>..\..\..\..\packages\System.Text.Encoding\ref\netstandard1.3\System.Text.Encoding.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Text.RegularExpressions"> + <HintPath>..\..\..\..\packages\System.Text.RegularExpressions\lib\net463\System.Text.RegularExpressions.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Text.RegularExpressions"> + <HintPath>..\..\..\..\packages\System.Text.RegularExpressions\lib\netstandard1.6\System.Text.RegularExpressions.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Threading"> + <HintPath>..\..\..\..\packages\System.Threading\lib\netstandard1.3\System.Threading.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="($(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.0') Or ($(TargetFrameworkIdentifier) == 'WindowsPhone' And $(TargetFrameworkVersion) == 'v8.1')"> + <ItemGroup> + <Reference Include="System.Threading.Tasks"> + <HintPath>..\..\..\..\packages\System.Threading.Tasks\ref\netstandard1.0\System.Threading.Tasks.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Threading.Tasks"> + <HintPath>..\..\..\..\packages\System.Threading.Tasks\ref\netstandard1.3\System.Threading.Tasks.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Threading.Tasks.Parallel"> + <HintPath>..\..\..\..\packages\System.Threading.Tasks.Parallel\lib\netstandard1.3\System.Threading.Tasks.Parallel.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Threading.Thread"> + <HintPath>..\..\..\..\packages\System.Threading.Thread\lib\netstandard1.3\System.Threading.Thread.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Threading.ThreadPool"> + <HintPath>..\..\..\..\packages\System.Threading.ThreadPool\lib\netstandard1.3\System.Threading.ThreadPool.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="($(TargetFrameworkIdentifier) == 'WindowsPhoneApp') Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2' Or $(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5')) Or ($(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.5' Or $(TargetFrameworkVersion) == 'v4.5.1' Or $(TargetFrameworkVersion) == 'v4.5.2' Or $(TargetFrameworkVersion) == 'v4.5.3' Or $(TargetFrameworkVersion) == 'v4.6' Or $(TargetFrameworkVersion) == 'v4.6.1' Or $(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3')) Or ($(TargetFrameworkIdentifier) == 'WindowsPhone' And ($(TargetFrameworkVersion) == 'v8.0' Or $(TargetFrameworkVersion) == 'v8.1'))"> + <ItemGroup> + <Reference Include="System.ValueTuple"> + <HintPath>..\..\..\..\packages\System.ValueTuple\lib\netstandard1.0\System.ValueTuple.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.0'"> + <ItemGroup> + <Reference Include="System.ValueTuple"> + <HintPath>..\..\..\..\packages\System.ValueTuple\lib\portable-net40+sl4+win8+wp8\System.ValueTuple.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> </Project> \ No newline at end of file diff --git a/tests/FSharp.MetadataFormat.Tests/files/FsLib/FsLib1.fsproj.paket.references b/tests/FSharp.MetadataFormat.Tests/files/FsLib/FsLib1.fsproj.paket.references new file mode 100644 index 000000000..1a6e39660 --- /dev/null +++ b/tests/FSharp.MetadataFormat.Tests/files/FsLib/FsLib1.fsproj.paket.references @@ -0,0 +1,2 @@ +RazorEngine +FSharp.Core \ No newline at end of file diff --git a/tests/FSharp.MetadataFormat.Tests/files/FsLib/FsLib2.fsproj b/tests/FSharp.MetadataFormat.Tests/files/FsLib/FsLib2.fsproj index 18254bacd..47d70d826 100644 --- a/tests/FSharp.MetadataFormat.Tests/files/FsLib/FsLib2.fsproj +++ b/tests/FSharp.MetadataFormat.Tests/files/FsLib/FsLib2.fsproj @@ -1,15 +1,14 @@ <?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> +<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <PropertyGroup> <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> - <SchemaVersion>2.0</SchemaVersion> <ProjectGuid>{768fd0e0-5cf7-4af0-98c9-4b848f9afb62}</ProjectGuid> <OutputType>Library</OutputType> <RootNamespace>FsLib</RootNamespace> <AssemblyName>FsLib2</AssemblyName> - <TargetFrameworkVersion>v4.5</TargetFrameworkVersion> - <TargetFSharpCoreVersion>4.4.0.0</TargetFSharpCoreVersion> + <TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion> + <TargetFSharpCoreVersion>4.4.1.0</TargetFSharpCoreVersion> <Name>FsLib1</Name> <TargetFrameworkProfile /> </PropertyGroup> @@ -18,25 +17,30 @@ <DebugType>full</DebugType> <Optimize>false</Optimize> <Tailcalls>false</Tailcalls> - <OutputPath>bin\Debug\</OutputPath> + <OutputPath>$(SolutionDir)\tests\bin</OutputPath> <DefineConstants>DEBUG;TRACE</DefineConstants> <WarningLevel>3</WarningLevel> - <DocumentationFile>bin\Debug\FsLib2.xml</DocumentationFile> + <DocumentationFile>$(SolutionDir)\tests\bin\FsLib2.xml</DocumentationFile> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> <DebugType>pdbonly</DebugType> <Optimize>true</Optimize> <Tailcalls>true</Tailcalls> - <OutputPath>bin\Release\</OutputPath> + <OutputPath>$(SolutionDir)\tests\bin</OutputPath> <DefineConstants>TRACE</DefineConstants> <WarningLevel>3</WarningLevel> - <DocumentationFile>bin\Release\FsLib.XML</DocumentationFile> + <DocumentationFile>$(SolutionDir)\tests\bin\FsLib2.XML</DocumentationFile> </PropertyGroup> <PropertyGroup> <VisualStudioVersion Condition=" '$(VisualStudioVersion)' == '' ">14.0</VisualStudioVersion> <MinimumVisualStudioVersion Condition="'$(MinimumVisualStudioVersion)' == ''">11</MinimumVisualStudioVersion> </PropertyGroup> <Choose> + <When Condition="Exists('$(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\4.1\Framework\v4.0\Microsoft.FSharp.Targets')"> + <PropertyGroup> + <FSharpTargetsPath>$(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\4.1\Framework\v4.0\Microsoft.FSharp.Targets</FSharpTargetsPath> + </PropertyGroup> + </When> <When Condition="'$(VisualStudioVersion)' != '11.0' and Exists('$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\FSharp\Microsoft.FSharp.Targets')"> <PropertyGroup> <FSharpTargetsPath>$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\FSharp\Microsoft.FSharp.Targets</FSharpTargetsPath> @@ -68,7 +72,8 @@ --> <ItemGroup> <Compile Include="Library2.fs" /> - <None Include="paket.references" /> + <None Include="FsLib2.fsproj.paket.references" /> + <Content Include="app.config" /> </ItemGroup> <ItemGroup> <Reference Include="mscorlib" /> @@ -77,39 +82,37 @@ <Reference Include="System.Numerics" /> </ItemGroup> <Choose> - <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.0'"> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v2.0' Or $(TargetFrameworkVersion) == 'v3.0' Or $(TargetFrameworkVersion) == 'v3.5')"> <ItemGroup> - <Reference Include="FSharp.Compiler.Service"> - <HintPath>..\..\..\..\packages\FSharp.Compiler.Service\lib\net40\FSharp.Compiler.Service.dll</HintPath> + <Reference Include="FSharp.Core"> + <HintPath>..\..\..\..\packages\FSharp.Core\lib\net20\FSharp.Core.dll</HintPath> <Private>True</Private> <Paket>True</Paket> </Reference> </ItemGroup> </When> - <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.5' Or $(TargetFrameworkVersion) == 'v4.5.1' Or $(TargetFrameworkVersion) == 'v4.5.2' Or $(TargetFrameworkVersion) == 'v4.5.3' Or $(TargetFrameworkVersion) == 'v4.6' Or $(TargetFrameworkVersion) == 'v4.6.1' Or $(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3')"> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.0'"> <ItemGroup> - <Reference Include="FSharp.Compiler.Service"> - <HintPath>..\..\..\..\packages\FSharp.Compiler.Service\lib\net45\FSharp.Compiler.Service.dll</HintPath> + <Reference Include="FSharp.Core"> + <HintPath>..\..\..\..\packages\FSharp.Core\lib\net40\FSharp.Core.dll</HintPath> <Private>True</Private> <Paket>True</Paket> </Reference> </ItemGroup> </When> - </Choose> - <Choose> - <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v2.0' Or $(TargetFrameworkVersion) == 'v3.0' Or $(TargetFrameworkVersion) == 'v3.5')"> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.5' Or $(TargetFrameworkVersion) == 'v4.5.1' Or $(TargetFrameworkVersion) == 'v4.5.2' Or $(TargetFrameworkVersion) == 'v4.5.3' Or $(TargetFrameworkVersion) == 'v4.6' Or $(TargetFrameworkVersion) == 'v4.6.1' Or $(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3')"> <ItemGroup> <Reference Include="FSharp.Core"> - <HintPath>..\..\..\..\packages\FSharp.Core\lib\net20\FSharp.Core.dll</HintPath> + <HintPath>..\..\..\..\packages\FSharp.Core\lib\net45\FSharp.Core.dll</HintPath> <Private>True</Private> <Paket>True</Paket> </Reference> </ItemGroup> </When> - <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.0' Or $(TargetFrameworkVersion) == 'v4.5' Or $(TargetFrameworkVersion) == 'v4.5.1' Or $(TargetFrameworkVersion) == 'v4.5.2' Or $(TargetFrameworkVersion) == 'v4.5.3' Or $(TargetFrameworkVersion) == 'v4.6' Or $(TargetFrameworkVersion) == 'v4.6.1' Or $(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3')"> + <When Condition="($(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6') Or ($(TargetFrameworkIdentifier) == '.NETCoreApp' And $(TargetFrameworkVersion) == 'v1.0')"> <ItemGroup> <Reference Include="FSharp.Core"> - <HintPath>..\..\..\..\packages\FSharp.Core\lib\net40\FSharp.Core.dll</HintPath> + <HintPath>..\..\..\..\packages\FSharp.Core\lib\netstandard1.6\FSharp.Core.dll</HintPath> <Private>True</Private> <Paket>True</Paket> </Reference> @@ -124,7 +127,7 @@ </Reference> </ItemGroup> </When> - <When Condition="($(TargetFrameworkIdentifier) == '.NETCore') Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2' Or $(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')) Or ($(TargetFrameworkIdentifier) == '.NETCoreApp' And $(TargetFrameworkVersion) == 'v1.0') Or ($(TargetFrameworkIdentifier) == 'Xamarin.Mac') Or ($(TargetFrameworkProfile) == 'Profile7') Or ($(TargetFrameworkProfile) == 'Profile44')"> + <When Condition="($(TargetFrameworkIdentifier) == '.NETCore') Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2' Or $(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5')) Or ($(TargetFrameworkIdentifier) == 'Xamarin.Mac') Or ($(TargetFrameworkProfile) == 'Profile7') Or ($(TargetFrameworkProfile) == 'Profile44')"> <ItemGroup> <Reference Include="FSharp.Core"> <HintPath>..\..\..\..\packages\FSharp.Core\lib\portable-net45+netcore45\FSharp.Core.dll</HintPath> @@ -173,7 +176,7 @@ </When> </Choose> <Choose> - <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.5'"> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.5' Or $(TargetFrameworkVersion) == 'v4.5.1' Or $(TargetFrameworkVersion) == 'v4.5.2' Or $(TargetFrameworkVersion) == 'v4.5.3' Or $(TargetFrameworkVersion) == 'v4.6' Or $(TargetFrameworkVersion) == 'v4.6.1' Or $(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3')"> <ItemGroup> <Reference Include="RazorEngine"> <HintPath>..\..\..\..\packages\RazorEngine\lib\net45\RazorEngine.dll</HintPath> @@ -183,4 +186,885 @@ </ItemGroup> </When> </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2')"> + <ItemGroup> + <Reference Include="System.Collections"> + <HintPath>..\..\..\..\packages\System.Collections\ref\netstandard1.0\System.Collections.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Collections"> + <HintPath>..\..\..\..\packages\System.Collections\ref\netstandard1.3\System.Collections.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Collections.Concurrent"> + <HintPath>..\..\..\..\packages\System.Collections.Concurrent\lib\netstandard1.3\System.Collections.Concurrent.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Console"> + <HintPath>..\..\..\..\packages\System.Console\lib\net46\System.Console.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Console"> + <HintPath>..\..\..\..\packages\System.Console\ref\netstandard1.3\System.Console.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2')"> + <ItemGroup> + <Reference Include="System.Diagnostics.Debug"> + <HintPath>..\..\..\..\packages\System.Diagnostics.Debug\ref\netstandard1.0\System.Diagnostics.Debug.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Diagnostics.Debug"> + <HintPath>..\..\..\..\packages\System.Diagnostics.Debug\ref\netstandard1.3\System.Diagnostics.Debug.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Diagnostics.DiagnosticSource"> + <HintPath>..\..\..\..\packages\System.Diagnostics.DiagnosticSource\lib\net46\System.Diagnostics.DiagnosticSource.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Diagnostics.DiagnosticSource"> + <HintPath>..\..\..\..\packages\System.Diagnostics.DiagnosticSource\lib\netstandard1.3\System.Diagnostics.DiagnosticSource.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3')"> + <ItemGroup> + <Reference Include="System.Diagnostics.Tracing"> + <HintPath>..\..\..\..\packages\System.Diagnostics.Tracing\lib\net462\System.Diagnostics.Tracing.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4')"> + <ItemGroup> + <Reference Include="System.Diagnostics.Tracing"> + <HintPath>..\..\..\..\packages\System.Diagnostics.Tracing\ref\netstandard1.3\System.Diagnostics.Tracing.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Diagnostics.Tracing"> + <HintPath>..\..\..\..\packages\System.Diagnostics.Tracing\ref\netstandard1.5\System.Diagnostics.Tracing.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2')"> + <ItemGroup> + <Reference Include="System.Globalization"> + <HintPath>..\..\..\..\packages\System.Globalization\ref\netstandard1.0\System.Globalization.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Globalization"> + <HintPath>..\..\..\..\packages\System.Globalization\ref\netstandard1.3\System.Globalization.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Globalization.Calendars"> + <HintPath>..\..\..\..\packages\System.Globalization.Calendars\lib\net46\System.Globalization.Calendars.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Globalization.Calendars"> + <HintPath>..\..\..\..\packages\System.Globalization.Calendars\ref\netstandard1.3\System.Globalization.Calendars.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Globalization.Extensions"> + <HintPath>..\..\..\..\packages\System.Globalization.Extensions\lib\net46\System.Globalization.Extensions.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Globalization.Extensions"> + <HintPath>..\..\..\..\packages\System.Globalization.Extensions\ref\netstandard1.3\System.Globalization.Extensions.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3')"> + <ItemGroup> + <Reference Include="System.IO"> + <HintPath>..\..\..\..\packages\System.IO\lib\net462\System.IO.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2')"> + <ItemGroup> + <Reference Include="System.IO"> + <HintPath>..\..\..\..\packages\System.IO\ref\netstandard1.0\System.IO.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4')"> + <ItemGroup> + <Reference Include="System.IO"> + <HintPath>..\..\..\..\packages\System.IO\ref\netstandard1.3\System.IO.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.IO"> + <HintPath>..\..\..\..\packages\System.IO\ref\netstandard1.5\System.IO.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.IO.FileSystem"> + <HintPath>..\..\..\..\packages\System.IO.FileSystem\lib\net46\System.IO.FileSystem.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.IO.FileSystem"> + <HintPath>..\..\..\..\packages\System.IO.FileSystem\ref\netstandard1.3\System.IO.FileSystem.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.IO.FileSystem.Primitives"> + <HintPath>..\..\..\..\packages\System.IO.FileSystem.Primitives\lib\net46\System.IO.FileSystem.Primitives.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.IO.FileSystem.Primitives"> + <HintPath>..\..\..\..\packages\System.IO.FileSystem.Primitives\lib\netstandard1.3\System.IO.FileSystem.Primitives.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Linq"> + <HintPath>..\..\..\..\packages\System.Linq\lib\net463\System.Linq.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Linq"> + <HintPath>..\..\..\..\packages\System.Linq\lib\netstandard1.6\System.Linq.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Linq.Expressions"> + <HintPath>..\..\..\..\packages\System.Linq.Expressions\lib\net463\System.Linq.Expressions.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Linq.Expressions"> + <HintPath>..\..\..\..\packages\System.Linq.Expressions\lib\netstandard1.6\System.Linq.Expressions.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Linq.Queryable"> + <HintPath>..\..\..\..\packages\System.Linq.Queryable\lib\netstandard1.3\System.Linq.Queryable.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Net.Http"> + <HintPath>..\..\..\..\packages\System.Net.Http\lib\net46\System.Net.Http.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Net.Http"> + <HintPath>..\..\..\..\packages\System.Net.Http\ref\netstandard1.3\System.Net.Http.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Net.Requests"> + <HintPath>..\..\..\..\packages\System.Net.Requests\ref\netstandard1.3\System.Net.Requests.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Net.WebHeaderCollection"> + <HintPath>..\..\..\..\packages\System.Net.WebHeaderCollection\lib\netstandard1.3\System.Net.WebHeaderCollection.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.ObjectModel"> + <HintPath>..\..\..\..\packages\System.ObjectModel\lib\netstandard1.3\System.ObjectModel.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3')"> + <ItemGroup> + <Reference Include="System.Reflection"> + <HintPath>..\..\..\..\packages\System.Reflection\lib\net462\System.Reflection.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2')"> + <ItemGroup> + <Reference Include="System.Reflection"> + <HintPath>..\..\..\..\packages\System.Reflection\ref\netstandard1.0\System.Reflection.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4')"> + <ItemGroup> + <Reference Include="System.Reflection"> + <HintPath>..\..\..\..\packages\System.Reflection\ref\netstandard1.3\System.Reflection.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Reflection"> + <HintPath>..\..\..\..\packages\System.Reflection\ref\netstandard1.5\System.Reflection.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Reflection.Emit"> + <HintPath>..\..\..\..\packages\System.Reflection.Emit\lib\netstandard1.3\System.Reflection.Emit.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Reflection.Emit.ILGeneration"> + <HintPath>..\..\..\..\packages\System.Reflection.Emit.ILGeneration\lib\netstandard1.3\System.Reflection.Emit.ILGeneration.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Reflection.Emit.Lightweight"> + <HintPath>..\..\..\..\packages\System.Reflection.Emit.Lightweight\lib\netstandard1.3\System.Reflection.Emit.Lightweight.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Reflection.TypeExtensions"> + <HintPath>..\..\..\..\packages\System.Reflection.TypeExtensions\lib\net462\System.Reflection.TypeExtensions.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Reflection.TypeExtensions"> + <HintPath>..\..\..\..\packages\System.Reflection.TypeExtensions\lib\netstandard1.5\System.Reflection.TypeExtensions.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.5' Or $(TargetFrameworkVersion) == 'v4.5.1' Or $(TargetFrameworkVersion) == 'v4.5.2' Or $(TargetFrameworkVersion) == 'v4.5.3' Or $(TargetFrameworkVersion) == 'v4.6' Or $(TargetFrameworkVersion) == 'v4.6.1')"> + <ItemGroup> + <Reference Include="System.ComponentModel.Composition"> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3')"> + <ItemGroup> + <Reference Include="System.ComponentModel.Composition"> + <Paket>True</Paket> + </Reference> + <Reference Include="System.Runtime"> + <HintPath>..\..\..\..\packages\System.Runtime\lib\net462\System.Runtime.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1')"> + <ItemGroup> + <Reference Include="System.Runtime"> + <HintPath>..\..\..\..\packages\System.Runtime\ref\netstandard1.0\System.Runtime.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.2'"> + <ItemGroup> + <Reference Include="System.Runtime"> + <HintPath>..\..\..\..\packages\System.Runtime\ref\netstandard1.2\System.Runtime.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4')"> + <ItemGroup> + <Reference Include="System.Runtime"> + <HintPath>..\..\..\..\packages\System.Runtime\ref\netstandard1.3\System.Runtime.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Runtime"> + <HintPath>..\..\..\..\packages\System.Runtime\ref\netstandard1.5\System.Runtime.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3')"> + <ItemGroup> + <Reference Include="System.Runtime.Extensions"> + <HintPath>..\..\..\..\packages\System.Runtime.Extensions\lib\net462\System.Runtime.Extensions.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2')"> + <ItemGroup> + <Reference Include="System.Runtime.Extensions"> + <HintPath>..\..\..\..\packages\System.Runtime.Extensions\ref\netstandard1.0\System.Runtime.Extensions.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4')"> + <ItemGroup> + <Reference Include="System.Runtime.Extensions"> + <HintPath>..\..\..\..\packages\System.Runtime.Extensions\ref\netstandard1.3\System.Runtime.Extensions.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Runtime.Extensions"> + <HintPath>..\..\..\..\packages\System.Runtime.Extensions\ref\netstandard1.5\System.Runtime.Extensions.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Runtime.Handles"> + <HintPath>..\..\..\..\packages\System.Runtime.Handles\ref\netstandard1.3\System.Runtime.Handles.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.2'"> + <ItemGroup> + <Reference Include="System.Runtime.InteropServices"> + <HintPath>..\..\..\..\packages\System.Runtime.InteropServices\lib\net462\System.Runtime.InteropServices.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Runtime.InteropServices"> + <HintPath>..\..\..\..\packages\System.Runtime.InteropServices\lib\net463\System.Runtime.InteropServices.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.1'"> + <ItemGroup> + <Reference Include="System.Runtime.InteropServices"> + <HintPath>..\..\..\..\packages\System.Runtime.InteropServices\ref\netstandard1.1\System.Runtime.InteropServices.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.2'"> + <ItemGroup> + <Reference Include="System.Runtime.InteropServices"> + <HintPath>..\..\..\..\packages\System.Runtime.InteropServices\ref\netstandard1.2\System.Runtime.InteropServices.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4')"> + <ItemGroup> + <Reference Include="System.Runtime.InteropServices"> + <HintPath>..\..\..\..\packages\System.Runtime.InteropServices\ref\netstandard1.3\System.Runtime.InteropServices.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Runtime.InteropServices"> + <HintPath>..\..\..\..\packages\System.Runtime.InteropServices\ref\netstandard1.5\System.Runtime.InteropServices.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Runtime.Numerics"> + <HintPath>..\..\..\..\packages\System.Runtime.Numerics\lib\netstandard1.3\System.Runtime.Numerics.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.Algorithms"> + <HintPath>..\..\..\..\packages\System.Security.Cryptography.Algorithms\lib\net463\System.Security.Cryptography.Algorithms.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.Algorithms"> + <HintPath>..\..\..\..\packages\System.Security.Cryptography.Algorithms\ref\netstandard1.6\System.Security.Cryptography.Algorithms.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.Cng"> + <HintPath>..\..\..\..\packages\System.Security.Cryptography.Cng\lib\net463\System.Security.Cryptography.Cng.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.Cng"> + <HintPath>..\..\..\..\packages\System.Security.Cryptography.Cng\ref\netstandard1.6\System.Security.Cryptography.Cng.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.Csp"> + <HintPath>..\..\..\..\packages\System.Security.Cryptography.Csp\lib\net46\System.Security.Cryptography.Csp.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.Csp"> + <HintPath>..\..\..\..\packages\System.Security.Cryptography.Csp\ref\netstandard1.3\System.Security.Cryptography.Csp.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.Encoding"> + <HintPath>..\..\..\..\packages\System.Security.Cryptography.Encoding\lib\net46\System.Security.Cryptography.Encoding.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.Encoding"> + <HintPath>..\..\..\..\packages\System.Security.Cryptography.Encoding\ref\netstandard1.3\System.Security.Cryptography.Encoding.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="($(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6') Or ($(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3')"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.OpenSsl"> + <HintPath>..\..\..\..\packages\System.Security.Cryptography.OpenSsl\lib\netstandard1.6\System.Security.Cryptography.OpenSsl.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.Primitives"> + <HintPath>..\..\..\..\packages\System.Security.Cryptography.Primitives\lib\net46\System.Security.Cryptography.Primitives.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.Primitives"> + <HintPath>..\..\..\..\packages\System.Security.Cryptography.Primitives\lib\netstandard1.3\System.Security.Cryptography.Primitives.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.X509Certificates"> + <HintPath>..\..\..\..\packages\System.Security.Cryptography.X509Certificates\lib\net461\System.Security.Cryptography.X509Certificates.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.X509Certificates"> + <HintPath>..\..\..\..\packages\System.Security.Cryptography.X509Certificates\ref\netstandard1.4\System.Security.Cryptography.X509Certificates.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2')"> + <ItemGroup> + <Reference Include="System.Text.Encoding"> + <HintPath>..\..\..\..\packages\System.Text.Encoding\ref\netstandard1.0\System.Text.Encoding.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Text.Encoding"> + <HintPath>..\..\..\..\packages\System.Text.Encoding\ref\netstandard1.3\System.Text.Encoding.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Text.RegularExpressions"> + <HintPath>..\..\..\..\packages\System.Text.RegularExpressions\lib\net463\System.Text.RegularExpressions.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Text.RegularExpressions"> + <HintPath>..\..\..\..\packages\System.Text.RegularExpressions\lib\netstandard1.6\System.Text.RegularExpressions.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Threading"> + <HintPath>..\..\..\..\packages\System.Threading\lib\netstandard1.3\System.Threading.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="($(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.0') Or ($(TargetFrameworkIdentifier) == 'WindowsPhone' And $(TargetFrameworkVersion) == 'v8.1')"> + <ItemGroup> + <Reference Include="System.Threading.Tasks"> + <HintPath>..\..\..\..\packages\System.Threading.Tasks\ref\netstandard1.0\System.Threading.Tasks.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Threading.Tasks"> + <HintPath>..\..\..\..\packages\System.Threading.Tasks\ref\netstandard1.3\System.Threading.Tasks.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Threading.Tasks.Parallel"> + <HintPath>..\..\..\..\packages\System.Threading.Tasks.Parallel\lib\netstandard1.3\System.Threading.Tasks.Parallel.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Threading.Thread"> + <HintPath>..\..\..\..\packages\System.Threading.Thread\lib\netstandard1.3\System.Threading.Thread.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Threading.ThreadPool"> + <HintPath>..\..\..\..\packages\System.Threading.ThreadPool\lib\netstandard1.3\System.Threading.ThreadPool.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="($(TargetFrameworkIdentifier) == 'WindowsPhoneApp') Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2' Or $(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5')) Or ($(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.5' Or $(TargetFrameworkVersion) == 'v4.5.1' Or $(TargetFrameworkVersion) == 'v4.5.2' Or $(TargetFrameworkVersion) == 'v4.5.3' Or $(TargetFrameworkVersion) == 'v4.6' Or $(TargetFrameworkVersion) == 'v4.6.1' Or $(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3')) Or ($(TargetFrameworkIdentifier) == 'WindowsPhone' And ($(TargetFrameworkVersion) == 'v8.0' Or $(TargetFrameworkVersion) == 'v8.1'))"> + <ItemGroup> + <Reference Include="System.ValueTuple"> + <HintPath>..\..\..\..\packages\System.ValueTuple\lib\netstandard1.0\System.ValueTuple.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.0'"> + <ItemGroup> + <Reference Include="System.ValueTuple"> + <HintPath>..\..\..\..\packages\System.ValueTuple\lib\portable-net40+sl4+win8+wp8\System.ValueTuple.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> </Project> \ No newline at end of file diff --git a/tests/FSharp.MetadataFormat.Tests/files/FsLib/FsLib2.fsproj.paket.references b/tests/FSharp.MetadataFormat.Tests/files/FsLib/FsLib2.fsproj.paket.references new file mode 100644 index 000000000..1a6e39660 --- /dev/null +++ b/tests/FSharp.MetadataFormat.Tests/files/FsLib/FsLib2.fsproj.paket.references @@ -0,0 +1,2 @@ +RazorEngine +FSharp.Core \ No newline at end of file diff --git a/tests/FSharp.MetadataFormat.Tests/files/FsLib/app.config b/tests/FSharp.MetadataFormat.Tests/files/FsLib/app.config index a4daf5445..796200a26 100644 --- a/tests/FSharp.MetadataFormat.Tests/files/FsLib/app.config +++ b/tests/FSharp.MetadataFormat.Tests/files/FsLib/app.config @@ -4,6 +4,11 @@ <dependentAssembly> <Paket>True</Paket> <assemblyIdentity name="FSharp.Core" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> - <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="4.4.0.0" /> + <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="4.4.1.0" /> + </dependentAssembly> + <dependentAssembly> + <Paket>True</Paket> + <assemblyIdentity name="System.ValueTuple" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="4.0.1.0" /> </dependentAssembly> </assemblyBinding></runtime></configuration> diff --git a/tests/FSharp.MetadataFormat.Tests/files/FsLib/paket.references b/tests/FSharp.MetadataFormat.Tests/files/FsLib/paket.references deleted file mode 100644 index c954cff01..000000000 --- a/tests/FSharp.MetadataFormat.Tests/files/FsLib/paket.references +++ /dev/null @@ -1,4 +0,0 @@ -FSharp.Compiler.Service -Microsoft.AspNet.Razor -RazorEngine -FSharp.Core \ No newline at end of file diff --git a/tests/FSharp.MetadataFormat.Tests/files/TestLib/TestLib1.fsproj b/tests/FSharp.MetadataFormat.Tests/files/TestLib/TestLib1.fsproj index ba24156e0..882b98e84 100644 --- a/tests/FSharp.MetadataFormat.Tests/files/TestLib/TestLib1.fsproj +++ b/tests/FSharp.MetadataFormat.Tests/files/TestLib/TestLib1.fsproj @@ -1,16 +1,17 @@ <?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> +<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <PropertyGroup> <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> - <SchemaVersion>2.0</SchemaVersion> <ProjectGuid>{86326769-3d0b-423f-ad28-a194b34318d6}</ProjectGuid> <OutputType>Library</OutputType> <RootNamespace>TestLib</RootNamespace> <AssemblyName>TestLib1</AssemblyName> - <TargetFrameworkVersion>v4.5</TargetFrameworkVersion> - <TargetFSharpCoreVersion>4.4.0.0</TargetFSharpCoreVersion> + <TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion> + <TargetFSharpCoreVersion>4.4.1.0</TargetFSharpCoreVersion> <Name>TestLib1</Name> + <DocumentationFile>$(SolutionDir)\tests\bin\TestLib1.xml</DocumentationFile> + <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects> <TargetFrameworkProfile /> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> @@ -18,25 +19,30 @@ <DebugType>full</DebugType> <Optimize>false</Optimize> <Tailcalls>false</Tailcalls> - <OutputPath>bin\Debug\</OutputPath> + <OutputPath>$(SolutionDir)\tests\bin</OutputPath> <DefineConstants>DEBUG;TRACE</DefineConstants> <WarningLevel>3</WarningLevel> - <DocumentationFile>bin\Debug\TestLib1.xml</DocumentationFile> + <!--<DocumentationFile>bin\Debug\TestLib1.xml</DocumentationFile>--> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> <DebugType>pdbonly</DebugType> <Optimize>true</Optimize> <Tailcalls>true</Tailcalls> - <OutputPath>bin\Release\</OutputPath> + <OutputPath>$(SolutionDir)\tests\bin</OutputPath> <DefineConstants>TRACE</DefineConstants> <WarningLevel>3</WarningLevel> - <DocumentationFile>bin\Release\TestLib1.XML</DocumentationFile> + <!--<DocumentationFile>bin\Release\TestLib1.XML</DocumentationFile>--> </PropertyGroup> <PropertyGroup> <VisualStudioVersion Condition=" '$(VisualStudioVersion)' == '' ">14.0</VisualStudioVersion> <MinimumVisualStudioVersion Condition="'$(MinimumVisualStudioVersion)' == ''">11</MinimumVisualStudioVersion> </PropertyGroup> <Choose> + <When Condition="Exists('$(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\4.1\Framework\v4.0\Microsoft.FSharp.Targets')"> + <PropertyGroup> + <FSharpTargetsPath>$(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\4.1\Framework\v4.0\Microsoft.FSharp.Targets</FSharpTargetsPath> + </PropertyGroup> + </When> <When Condition="'$(VisualStudioVersion)' != '11.0' and Exists('$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\FSharp\Microsoft.FSharp.Targets')"> <PropertyGroup> <FSharpTargetsPath>$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\FSharp\Microsoft.FSharp.Targets</FSharpTargetsPath> @@ -66,9 +72,6 @@ </ItemGroup> <ItemGroup> <Reference Include="mscorlib" /> - <Reference Include="FSharp.Core, Version=$(TargetFSharpCoreVersion), Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> - <Private>False</Private> - </Reference> <Reference Include="System" /> <Reference Include="System.Core" /> <Reference Include="System.Numerics" /> @@ -81,19 +84,107 @@ </Target> --> <Choose> - <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.0'"> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.5' Or $(TargetFrameworkVersion) == 'v4.5.1' Or $(TargetFrameworkVersion) == 'v4.5.2' Or $(TargetFrameworkVersion) == 'v4.5.3' Or $(TargetFrameworkVersion) == 'v4.6' Or $(TargetFrameworkVersion) == 'v4.6.1' Or $(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3')"> <ItemGroup> <Reference Include="FSharp.Compiler.Service"> - <HintPath>..\..\..\..\packages\FSharp.Compiler.Service\lib\net40\FSharp.Compiler.Service.dll</HintPath> + <HintPath>..\..\..\..\packages\FSharp.Compiler.Service\lib\net45\FSharp.Compiler.Service.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + <Reference Include="FSharp.Compiler.Service.MSBuild.v12"> + <HintPath>..\..\..\..\packages\FSharp.Compiler.Service\lib\net45\FSharp.Compiler.Service.MSBuild.v12.dll</HintPath> <Private>True</Private> <Paket>True</Paket> </Reference> </ItemGroup> </When> - <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.5' Or $(TargetFrameworkVersion) == 'v4.5.1' Or $(TargetFrameworkVersion) == 'v4.5.2' Or $(TargetFrameworkVersion) == 'v4.5.3' Or $(TargetFrameworkVersion) == 'v4.6' Or $(TargetFrameworkVersion) == 'v4.6.1' Or $(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3')"> + <When Condition="($(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6') Or ($(TargetFrameworkIdentifier) == '.NETCoreApp' And $(TargetFrameworkVersion) == 'v1.0')"> <ItemGroup> <Reference Include="FSharp.Compiler.Service"> - <HintPath>..\..\..\..\packages\FSharp.Compiler.Service\lib\net45\FSharp.Compiler.Service.dll</HintPath> + <HintPath>..\..\..\..\packages\FSharp.Compiler.Service\lib\netstandard1.6\FSharp.Compiler.Service.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v2.0' Or $(TargetFrameworkVersion) == 'v3.0' Or $(TargetFrameworkVersion) == 'v3.5')"> + <ItemGroup> + <Reference Include="FSharp.Core"> + <HintPath>..\..\..\..\packages\FSharp.Core\lib\net20\FSharp.Core.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.0'"> + <ItemGroup> + <Reference Include="FSharp.Core"> + <HintPath>..\..\..\..\packages\FSharp.Core\lib\net40\FSharp.Core.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.5' Or $(TargetFrameworkVersion) == 'v4.5.1' Or $(TargetFrameworkVersion) == 'v4.5.2' Or $(TargetFrameworkVersion) == 'v4.5.3' Or $(TargetFrameworkVersion) == 'v4.6' Or $(TargetFrameworkVersion) == 'v4.6.1' Or $(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3')"> + <ItemGroup> + <Reference Include="FSharp.Core"> + <HintPath>..\..\..\..\packages\FSharp.Core\lib\net45\FSharp.Core.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="($(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6') Or ($(TargetFrameworkIdentifier) == '.NETCoreApp' And $(TargetFrameworkVersion) == 'v1.0')"> + <ItemGroup> + <Reference Include="FSharp.Core"> + <HintPath>..\..\..\..\packages\FSharp.Core\lib\netstandard1.6\FSharp.Core.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="($(TargetFrameworkIdentifier) == 'MonoAndroid') Or ($(TargetFrameworkIdentifier) == 'MonoTouch') Or ($(TargetFrameworkIdentifier) == 'Xamarin.iOS')"> + <ItemGroup> + <Reference Include="FSharp.Core"> + <HintPath>..\..\..\..\packages\FSharp.Core\lib\portable-net45+monoandroid10+monotouch10+xamarinios10\FSharp.Core.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="($(TargetFrameworkIdentifier) == '.NETCore') Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2' Or $(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5')) Or ($(TargetFrameworkIdentifier) == 'Xamarin.Mac') Or ($(TargetFrameworkProfile) == 'Profile7') Or ($(TargetFrameworkProfile) == 'Profile44')"> + <ItemGroup> + <Reference Include="FSharp.Core"> + <HintPath>..\..\..\..\packages\FSharp.Core\lib\portable-net45+netcore45\FSharp.Core.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="($(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.0') Or ($(TargetFrameworkIdentifier) == 'WindowsPhone' And ($(TargetFrameworkVersion) == 'v8.0' Or $(TargetFrameworkVersion) == 'v8.1')) Or ($(TargetFrameworkProfile) == 'Profile31') Or ($(TargetFrameworkProfile) == 'Profile49') Or ($(TargetFrameworkProfile) == 'Profile78')"> + <ItemGroup> + <Reference Include="FSharp.Core"> + <HintPath>..\..\..\..\packages\FSharp.Core\lib\portable-net45+netcore45+wp8\FSharp.Core.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="($(TargetFrameworkIdentifier) == 'WindowsPhoneApp') Or ($(TargetFrameworkProfile) == 'Profile32') Or ($(TargetFrameworkProfile) == 'Profile84') Or ($(TargetFrameworkProfile) == 'Profile111') Or ($(TargetFrameworkProfile) == 'Profile151') Or ($(TargetFrameworkProfile) == 'Profile157') Or ($(TargetFrameworkProfile) == 'Profile259')"> + <ItemGroup> + <Reference Include="FSharp.Core"> + <HintPath>..\..\..\..\packages\FSharp.Core\lib\portable-net45+netcore45+wpa81+wp8\FSharp.Core.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="($(TargetFrameworkIdentifier) == 'Silverlight' And $(TargetFrameworkVersion) == 'v5.0') Or ($(TargetFrameworkProfile) == 'Profile24') Or ($(TargetFrameworkProfile) == 'Profile47')"> + <ItemGroup> + <Reference Include="FSharp.Core"> + <HintPath>..\..\..\..\packages\FSharp.Core\lib\portable-net45+sl5+netcore45\FSharp.Core.dll</HintPath> <Private>True</Private> <Paket>True</Paket> </Reference> @@ -112,7 +203,60 @@ </When> </Choose> <Choose> - <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.5'"> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="Microsoft.DiaSymReader"> + <HintPath>..\..\..\..\packages\Microsoft.DiaSymReader\lib\netstandard1.1\Microsoft.DiaSymReader.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="Microsoft.DiaSymReader.PortablePdb"> + <HintPath>..\..\..\..\packages\Microsoft.DiaSymReader.PortablePdb\lib\netstandard1.1\Microsoft.DiaSymReader.PortablePdb.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="Microsoft.Win32.Primitives"> + <HintPath>..\..\..\..\packages\Microsoft.Win32.Primitives\lib\net46\Microsoft.Win32.Primitives.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="Microsoft.Win32.Primitives"> + <HintPath>..\..\..\..\packages\Microsoft.Win32.Primitives\ref\netstandard1.3\Microsoft.Win32.Primitives.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="Microsoft.Win32.Registry"> + <HintPath>..\..\..\..\packages\Microsoft.Win32.Registry\ref\netstandard1.3\Microsoft.Win32.Registry.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.5' Or $(TargetFrameworkVersion) == 'v4.5.1' Or $(TargetFrameworkVersion) == 'v4.5.2' Or $(TargetFrameworkVersion) == 'v4.5.3' Or $(TargetFrameworkVersion) == 'v4.6' Or $(TargetFrameworkVersion) == 'v4.6.1' Or $(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3')"> <ItemGroup> <Reference Include="RazorEngine"> <HintPath>..\..\..\..\packages\RazorEngine\lib\net45\RazorEngine.dll</HintPath> @@ -122,4 +266,1151 @@ </ItemGroup> </When> </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.AppContext"> + <HintPath>..\..\..\..\packages\System.AppContext\lib\net463\System.AppContext.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.AppContext"> + <HintPath>..\..\..\..\packages\System.AppContext\lib\netstandard1.6\System.AppContext.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')) Or ($(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.5' Or $(TargetFrameworkVersion) == 'v4.5.1' Or $(TargetFrameworkVersion) == 'v4.5.2' Or $(TargetFrameworkVersion) == 'v4.5.3' Or $(TargetFrameworkVersion) == 'v4.6' Or $(TargetFrameworkVersion) == 'v4.6.1' Or $(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3'))"> + <ItemGroup> + <Reference Include="System.Buffers"> + <HintPath>..\..\..\..\packages\System.Buffers\lib\netstandard1.1\System.Buffers.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2')"> + <ItemGroup> + <Reference Include="System.Collections"> + <HintPath>..\..\..\..\packages\System.Collections\ref\netstandard1.0\System.Collections.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Collections"> + <HintPath>..\..\..\..\packages\System.Collections\ref\netstandard1.3\System.Collections.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Collections.Concurrent"> + <HintPath>..\..\..\..\packages\System.Collections.Concurrent\lib\netstandard1.3\System.Collections.Concurrent.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2' Or $(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')) Or ($(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.5' Or $(TargetFrameworkVersion) == 'v4.5.1' Or $(TargetFrameworkVersion) == 'v4.5.2' Or $(TargetFrameworkVersion) == 'v4.5.3' Or $(TargetFrameworkVersion) == 'v4.6' Or $(TargetFrameworkVersion) == 'v4.6.1' Or $(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3'))"> + <ItemGroup> + <Reference Include="System.Collections.Immutable"> + <HintPath>..\..\..\..\packages\System.Collections.Immutable\lib\netstandard1.0\System.Collections.Immutable.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Console"> + <HintPath>..\..\..\..\packages\System.Console\lib\net46\System.Console.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Console"> + <HintPath>..\..\..\..\packages\System.Console\ref\netstandard1.3\System.Console.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2')"> + <ItemGroup> + <Reference Include="System.Diagnostics.Debug"> + <HintPath>..\..\..\..\packages\System.Diagnostics.Debug\ref\netstandard1.0\System.Diagnostics.Debug.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Diagnostics.Debug"> + <HintPath>..\..\..\..\packages\System.Diagnostics.Debug\ref\netstandard1.3\System.Diagnostics.Debug.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Diagnostics.DiagnosticSource"> + <HintPath>..\..\..\..\packages\System.Diagnostics.DiagnosticSource\lib\net46\System.Diagnostics.DiagnosticSource.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Diagnostics.DiagnosticSource"> + <HintPath>..\..\..\..\packages\System.Diagnostics.DiagnosticSource\lib\netstandard1.3\System.Diagnostics.DiagnosticSource.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Diagnostics.Process"> + <HintPath>..\..\..\..\packages\System.Diagnostics.Process\ref\netstandard1.4\System.Diagnostics.Process.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Diagnostics.TraceSource"> + <HintPath>..\..\..\..\packages\System.Diagnostics.TraceSource\ref\netstandard1.3\System.Diagnostics.TraceSource.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3')"> + <ItemGroup> + <Reference Include="System.Diagnostics.Tracing"> + <HintPath>..\..\..\..\packages\System.Diagnostics.Tracing\lib\net462\System.Diagnostics.Tracing.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4')"> + <ItemGroup> + <Reference Include="System.Diagnostics.Tracing"> + <HintPath>..\..\..\..\packages\System.Diagnostics.Tracing\ref\netstandard1.3\System.Diagnostics.Tracing.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Diagnostics.Tracing"> + <HintPath>..\..\..\..\packages\System.Diagnostics.Tracing\ref\netstandard1.5\System.Diagnostics.Tracing.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2')"> + <ItemGroup> + <Reference Include="System.Globalization"> + <HintPath>..\..\..\..\packages\System.Globalization\ref\netstandard1.0\System.Globalization.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Globalization"> + <HintPath>..\..\..\..\packages\System.Globalization\ref\netstandard1.3\System.Globalization.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Globalization.Calendars"> + <HintPath>..\..\..\..\packages\System.Globalization.Calendars\lib\net46\System.Globalization.Calendars.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Globalization.Calendars"> + <HintPath>..\..\..\..\packages\System.Globalization.Calendars\ref\netstandard1.3\System.Globalization.Calendars.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Globalization.Extensions"> + <HintPath>..\..\..\..\packages\System.Globalization.Extensions\lib\net46\System.Globalization.Extensions.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Globalization.Extensions"> + <HintPath>..\..\..\..\packages\System.Globalization.Extensions\ref\netstandard1.3\System.Globalization.Extensions.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3')"> + <ItemGroup> + <Reference Include="System.IO"> + <HintPath>..\..\..\..\packages\System.IO\lib\net462\System.IO.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2')"> + <ItemGroup> + <Reference Include="System.IO"> + <HintPath>..\..\..\..\packages\System.IO\ref\netstandard1.0\System.IO.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4')"> + <ItemGroup> + <Reference Include="System.IO"> + <HintPath>..\..\..\..\packages\System.IO\ref\netstandard1.3\System.IO.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.IO"> + <HintPath>..\..\..\..\packages\System.IO\ref\netstandard1.5\System.IO.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.5' Or $(TargetFrameworkVersion) == 'v4.5.1' Or $(TargetFrameworkVersion) == 'v4.5.2' Or $(TargetFrameworkVersion) == 'v4.5.3')"> + <ItemGroup> + <Reference Include="System.IO.Compression"> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.6' Or $(TargetFrameworkVersion) == 'v4.6.1' Or $(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3')"> + <ItemGroup> + <Reference Include="System.IO.Compression"> + <HintPath>..\..\..\..\packages\System.IO.Compression\lib\net46\System.IO.Compression.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2')"> + <ItemGroup> + <Reference Include="System.IO.Compression"> + <HintPath>..\..\..\..\packages\System.IO.Compression\ref\netstandard1.1\System.IO.Compression.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.IO.Compression"> + <HintPath>..\..\..\..\packages\System.IO.Compression\ref\netstandard1.3\System.IO.Compression.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.IO.Compression.FileSystem"> + <Paket>True</Paket> + </Reference> + <Reference Include="System.IO.Compression.ZipFile"> + <HintPath>..\..\..\..\packages\System.IO.Compression.ZipFile\lib\net46\System.IO.Compression.ZipFile.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.IO.Compression.ZipFile"> + <HintPath>..\..\..\..\packages\System.IO.Compression.ZipFile\lib\netstandard1.3\System.IO.Compression.ZipFile.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.IO.FileSystem"> + <HintPath>..\..\..\..\packages\System.IO.FileSystem\lib\net46\System.IO.FileSystem.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.IO.FileSystem"> + <HintPath>..\..\..\..\packages\System.IO.FileSystem\ref\netstandard1.3\System.IO.FileSystem.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.IO.FileSystem.Primitives"> + <HintPath>..\..\..\..\packages\System.IO.FileSystem.Primitives\lib\net46\System.IO.FileSystem.Primitives.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.IO.FileSystem.Primitives"> + <HintPath>..\..\..\..\packages\System.IO.FileSystem.Primitives\lib\netstandard1.3\System.IO.FileSystem.Primitives.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Linq"> + <HintPath>..\..\..\..\packages\System.Linq\lib\net463\System.Linq.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Linq"> + <HintPath>..\..\..\..\packages\System.Linq\lib\netstandard1.6\System.Linq.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Linq.Expressions"> + <HintPath>..\..\..\..\packages\System.Linq.Expressions\lib\net463\System.Linq.Expressions.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Linq.Expressions"> + <HintPath>..\..\..\..\packages\System.Linq.Expressions\lib\netstandard1.6\System.Linq.Expressions.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Linq.Queryable"> + <HintPath>..\..\..\..\packages\System.Linq.Queryable\lib\netstandard1.3\System.Linq.Queryable.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Net.Http"> + <HintPath>..\..\..\..\packages\System.Net.Http\lib\net46\System.Net.Http.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Net.Http"> + <HintPath>..\..\..\..\packages\System.Net.Http\ref\netstandard1.3\System.Net.Http.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Net.Requests"> + <HintPath>..\..\..\..\packages\System.Net.Requests\ref\netstandard1.3\System.Net.Requests.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Net.Sockets"> + <HintPath>..\..\..\..\packages\System.Net.Sockets\lib\net46\System.Net.Sockets.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Net.Sockets"> + <HintPath>..\..\..\..\packages\System.Net.Sockets\ref\netstandard1.3\System.Net.Sockets.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Net.WebHeaderCollection"> + <HintPath>..\..\..\..\packages\System.Net.WebHeaderCollection\lib\netstandard1.3\System.Net.WebHeaderCollection.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.ObjectModel"> + <HintPath>..\..\..\..\packages\System.ObjectModel\lib\netstandard1.3\System.ObjectModel.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3')"> + <ItemGroup> + <Reference Include="System.Reflection"> + <HintPath>..\..\..\..\packages\System.Reflection\lib\net462\System.Reflection.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2')"> + <ItemGroup> + <Reference Include="System.Reflection"> + <HintPath>..\..\..\..\packages\System.Reflection\ref\netstandard1.0\System.Reflection.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4')"> + <ItemGroup> + <Reference Include="System.Reflection"> + <HintPath>..\..\..\..\packages\System.Reflection\ref\netstandard1.3\System.Reflection.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Reflection"> + <HintPath>..\..\..\..\packages\System.Reflection\ref\netstandard1.5\System.Reflection.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Reflection.Emit"> + <HintPath>..\..\..\..\packages\System.Reflection.Emit\lib\netstandard1.3\System.Reflection.Emit.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Reflection.Emit.ILGeneration"> + <HintPath>..\..\..\..\packages\System.Reflection.Emit.ILGeneration\lib\netstandard1.3\System.Reflection.Emit.ILGeneration.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Reflection.Emit.Lightweight"> + <HintPath>..\..\..\..\packages\System.Reflection.Emit.Lightweight\lib\netstandard1.3\System.Reflection.Emit.Lightweight.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2' Or $(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')) Or ($(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.5' Or $(TargetFrameworkVersion) == 'v4.5.1' Or $(TargetFrameworkVersion) == 'v4.5.2' Or $(TargetFrameworkVersion) == 'v4.5.3' Or $(TargetFrameworkVersion) == 'v4.6' Or $(TargetFrameworkVersion) == 'v4.6.1' Or $(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3'))"> + <ItemGroup> + <Reference Include="System.Reflection.Metadata"> + <HintPath>..\..\..\..\packages\System.Reflection.Metadata\lib\netstandard1.1\System.Reflection.Metadata.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Reflection.TypeExtensions"> + <HintPath>..\..\..\..\packages\System.Reflection.TypeExtensions\lib\net462\System.Reflection.TypeExtensions.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Reflection.TypeExtensions"> + <HintPath>..\..\..\..\packages\System.Reflection.TypeExtensions\lib\netstandard1.5\System.Reflection.TypeExtensions.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.5' Or $(TargetFrameworkVersion) == 'v4.5.1' Or $(TargetFrameworkVersion) == 'v4.5.2' Or $(TargetFrameworkVersion) == 'v4.5.3' Or $(TargetFrameworkVersion) == 'v4.6' Or $(TargetFrameworkVersion) == 'v4.6.1')"> + <ItemGroup> + <Reference Include="System.ComponentModel.Composition"> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3')"> + <ItemGroup> + <Reference Include="System.ComponentModel.Composition"> + <Paket>True</Paket> + </Reference> + <Reference Include="System.Runtime"> + <HintPath>..\..\..\..\packages\System.Runtime\lib\net462\System.Runtime.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1')"> + <ItemGroup> + <Reference Include="System.Runtime"> + <HintPath>..\..\..\..\packages\System.Runtime\ref\netstandard1.0\System.Runtime.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.2'"> + <ItemGroup> + <Reference Include="System.Runtime"> + <HintPath>..\..\..\..\packages\System.Runtime\ref\netstandard1.2\System.Runtime.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4')"> + <ItemGroup> + <Reference Include="System.Runtime"> + <HintPath>..\..\..\..\packages\System.Runtime\ref\netstandard1.3\System.Runtime.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Runtime"> + <HintPath>..\..\..\..\packages\System.Runtime\ref\netstandard1.5\System.Runtime.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3')"> + <ItemGroup> + <Reference Include="System.Runtime.Extensions"> + <HintPath>..\..\..\..\packages\System.Runtime.Extensions\lib\net462\System.Runtime.Extensions.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2')"> + <ItemGroup> + <Reference Include="System.Runtime.Extensions"> + <HintPath>..\..\..\..\packages\System.Runtime.Extensions\ref\netstandard1.0\System.Runtime.Extensions.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4')"> + <ItemGroup> + <Reference Include="System.Runtime.Extensions"> + <HintPath>..\..\..\..\packages\System.Runtime.Extensions\ref\netstandard1.3\System.Runtime.Extensions.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Runtime.Extensions"> + <HintPath>..\..\..\..\packages\System.Runtime.Extensions\ref\netstandard1.5\System.Runtime.Extensions.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Runtime.Handles"> + <HintPath>..\..\..\..\packages\System.Runtime.Handles\ref\netstandard1.3\System.Runtime.Handles.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.2'"> + <ItemGroup> + <Reference Include="System.Runtime.InteropServices"> + <HintPath>..\..\..\..\packages\System.Runtime.InteropServices\lib\net462\System.Runtime.InteropServices.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Runtime.InteropServices"> + <HintPath>..\..\..\..\packages\System.Runtime.InteropServices\lib\net463\System.Runtime.InteropServices.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.1'"> + <ItemGroup> + <Reference Include="System.Runtime.InteropServices"> + <HintPath>..\..\..\..\packages\System.Runtime.InteropServices\ref\netstandard1.1\System.Runtime.InteropServices.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.2'"> + <ItemGroup> + <Reference Include="System.Runtime.InteropServices"> + <HintPath>..\..\..\..\packages\System.Runtime.InteropServices\ref\netstandard1.2\System.Runtime.InteropServices.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4')"> + <ItemGroup> + <Reference Include="System.Runtime.InteropServices"> + <HintPath>..\..\..\..\packages\System.Runtime.InteropServices\ref\netstandard1.3\System.Runtime.InteropServices.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Runtime.InteropServices"> + <HintPath>..\..\..\..\packages\System.Runtime.InteropServices\ref\netstandard1.5\System.Runtime.InteropServices.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Runtime.InteropServices.RuntimeInformation"> + <HintPath>..\..\..\..\packages\System.Runtime.InteropServices.RuntimeInformation\lib\net45\System.Runtime.InteropServices.RuntimeInformation.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Runtime.InteropServices.RuntimeInformation"> + <HintPath>..\..\..\..\packages\System.Runtime.InteropServices.RuntimeInformation\lib\netstandard1.1\System.Runtime.InteropServices.RuntimeInformation.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="($(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6') Or ($(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3')"> + <ItemGroup> + <Reference Include="System.Runtime.InteropServices.RuntimeInformation"> + <HintPath>..\..\..\..\packages\System.Runtime.InteropServices.RuntimeInformation\ref\netstandard1.1\System.Runtime.InteropServices.RuntimeInformation.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Runtime.Loader"> + <HintPath>..\..\..\..\packages\System.Runtime.Loader\lib\netstandard1.5\System.Runtime.Loader.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Runtime.Numerics"> + <HintPath>..\..\..\..\packages\System.Runtime.Numerics\lib\netstandard1.3\System.Runtime.Numerics.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.Algorithms"> + <HintPath>..\..\..\..\packages\System.Security.Cryptography.Algorithms\lib\net463\System.Security.Cryptography.Algorithms.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.Algorithms"> + <HintPath>..\..\..\..\packages\System.Security.Cryptography.Algorithms\ref\netstandard1.6\System.Security.Cryptography.Algorithms.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.Cng"> + <HintPath>..\..\..\..\packages\System.Security.Cryptography.Cng\lib\net463\System.Security.Cryptography.Cng.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.Cng"> + <HintPath>..\..\..\..\packages\System.Security.Cryptography.Cng\ref\netstandard1.6\System.Security.Cryptography.Cng.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.Csp"> + <HintPath>..\..\..\..\packages\System.Security.Cryptography.Csp\lib\net46\System.Security.Cryptography.Csp.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.Csp"> + <HintPath>..\..\..\..\packages\System.Security.Cryptography.Csp\ref\netstandard1.3\System.Security.Cryptography.Csp.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.Encoding"> + <HintPath>..\..\..\..\packages\System.Security.Cryptography.Encoding\lib\net46\System.Security.Cryptography.Encoding.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.Encoding"> + <HintPath>..\..\..\..\packages\System.Security.Cryptography.Encoding\ref\netstandard1.3\System.Security.Cryptography.Encoding.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="($(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6') Or ($(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3')"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.OpenSsl"> + <HintPath>..\..\..\..\packages\System.Security.Cryptography.OpenSsl\lib\netstandard1.6\System.Security.Cryptography.OpenSsl.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.Primitives"> + <HintPath>..\..\..\..\packages\System.Security.Cryptography.Primitives\lib\net46\System.Security.Cryptography.Primitives.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.Primitives"> + <HintPath>..\..\..\..\packages\System.Security.Cryptography.Primitives\lib\netstandard1.3\System.Security.Cryptography.Primitives.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.X509Certificates"> + <HintPath>..\..\..\..\packages\System.Security.Cryptography.X509Certificates\lib\net461\System.Security.Cryptography.X509Certificates.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.X509Certificates"> + <HintPath>..\..\..\..\packages\System.Security.Cryptography.X509Certificates\ref\netstandard1.4\System.Security.Cryptography.X509Certificates.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2')"> + <ItemGroup> + <Reference Include="System.Text.Encoding"> + <HintPath>..\..\..\..\packages\System.Text.Encoding\ref\netstandard1.0\System.Text.Encoding.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Text.Encoding"> + <HintPath>..\..\..\..\packages\System.Text.Encoding\ref\netstandard1.3\System.Text.Encoding.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2')"> + <ItemGroup> + <Reference Include="System.Text.Encoding.Extensions"> + <HintPath>..\..\..\..\packages\System.Text.Encoding.Extensions\ref\netstandard1.0\System.Text.Encoding.Extensions.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Text.Encoding.Extensions"> + <HintPath>..\..\..\..\packages\System.Text.Encoding.Extensions\ref\netstandard1.3\System.Text.Encoding.Extensions.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Text.RegularExpressions"> + <HintPath>..\..\..\..\packages\System.Text.RegularExpressions\lib\net463\System.Text.RegularExpressions.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Text.RegularExpressions"> + <HintPath>..\..\..\..\packages\System.Text.RegularExpressions\lib\netstandard1.6\System.Text.RegularExpressions.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Threading"> + <HintPath>..\..\..\..\packages\System.Threading\lib\netstandard1.3\System.Threading.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="($(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.0') Or ($(TargetFrameworkIdentifier) == 'WindowsPhone' And $(TargetFrameworkVersion) == 'v8.1')"> + <ItemGroup> + <Reference Include="System.Threading.Tasks"> + <HintPath>..\..\..\..\packages\System.Threading.Tasks\ref\netstandard1.0\System.Threading.Tasks.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Threading.Tasks"> + <HintPath>..\..\..\..\packages\System.Threading.Tasks\ref\netstandard1.3\System.Threading.Tasks.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="($(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6') Or ($(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3')"> + <ItemGroup> + <Reference Include="System.Threading.Tasks.Extensions"> + <HintPath>..\..\..\..\packages\System.Threading.Tasks.Extensions\lib\netstandard1.0\System.Threading.Tasks.Extensions.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Threading.Tasks.Parallel"> + <HintPath>..\..\..\..\packages\System.Threading.Tasks.Parallel\lib\netstandard1.3\System.Threading.Tasks.Parallel.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Threading.Thread"> + <HintPath>..\..\..\..\packages\System.Threading.Thread\lib\netstandard1.3\System.Threading.Thread.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Threading.ThreadPool"> + <HintPath>..\..\..\..\packages\System.Threading.ThreadPool\lib\netstandard1.3\System.Threading.ThreadPool.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="($(TargetFrameworkIdentifier) == 'WindowsPhoneApp') Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2' Or $(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5')) Or ($(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.5' Or $(TargetFrameworkVersion) == 'v4.5.1' Or $(TargetFrameworkVersion) == 'v4.5.2' Or $(TargetFrameworkVersion) == 'v4.5.3' Or $(TargetFrameworkVersion) == 'v4.6' Or $(TargetFrameworkVersion) == 'v4.6.1' Or $(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3')) Or ($(TargetFrameworkIdentifier) == 'WindowsPhone' And ($(TargetFrameworkVersion) == 'v8.0' Or $(TargetFrameworkVersion) == 'v8.1'))"> + <ItemGroup> + <Reference Include="System.ValueTuple"> + <HintPath>..\..\..\..\packages\System.ValueTuple\lib\netstandard1.0\System.ValueTuple.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.0'"> + <ItemGroup> + <Reference Include="System.ValueTuple"> + <HintPath>..\..\..\..\packages\System.ValueTuple\lib\portable-net40+sl4+win8+wp8\System.ValueTuple.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Xml"> + <Paket>True</Paket> + </Reference> + <Reference Include="System.Xml.ReaderWriter"> + <HintPath>..\..\..\..\packages\System.Xml.ReaderWriter\lib\net46\System.Xml.ReaderWriter.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Xml.ReaderWriter"> + <HintPath>..\..\..\..\packages\System.Xml.ReaderWriter\lib\netstandard1.3\System.Xml.ReaderWriter.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Xml.Linq"> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Xml.XDocument"> + <HintPath>..\..\..\..\packages\System.Xml.XDocument\lib\netstandard1.3\System.Xml.XDocument.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> </Project> \ No newline at end of file diff --git a/tests/FSharp.MetadataFormat.Tests/files/TestLib/TestLib2.fsproj b/tests/FSharp.MetadataFormat.Tests/files/TestLib/TestLib2.fsproj index ae09ed2b1..93d019926 100644 --- a/tests/FSharp.MetadataFormat.Tests/files/TestLib/TestLib2.fsproj +++ b/tests/FSharp.MetadataFormat.Tests/files/TestLib/TestLib2.fsproj @@ -1,54 +1,46 @@ <?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> +<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <PropertyGroup> <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> - <SchemaVersion>2.0</SchemaVersion> <ProjectGuid>{48effecf-ecb0-4df3-a704-b56ab07557bf}</ProjectGuid> <OutputType>Library</OutputType> <RootNamespace>TestLib</RootNamespace> <AssemblyName>TestLib2</AssemblyName> - <TargetFrameworkVersion>v4.5</TargetFrameworkVersion> - <TargetFSharpCoreVersion>4.4.0.0</TargetFSharpCoreVersion> + <TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion> + <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects> + <DocumentationFile>$(SolutionDir)\tests\bin\TestLib2.xml</DocumentationFile> <Name>TestLib1</Name> - <TargetFrameworkProfile /> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <DebugSymbols>true</DebugSymbols> <DebugType>full</DebugType> <Optimize>false</Optimize> <Tailcalls>false</Tailcalls> - <OutputPath>bin\Debug\</OutputPath> + <OutputPath>$(SolutionDir)\tests\bin</OutputPath> <DefineConstants>DEBUG;TRACE</DefineConstants> <WarningLevel>3</WarningLevel> - <DocumentationFile>bin\Debug\TestLib2.xml</DocumentationFile> + <!--<DocumentationFile>bin\Debug\TestLib2.xml</DocumentationFile>--> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> <DebugType>pdbonly</DebugType> <Optimize>true</Optimize> <Tailcalls>true</Tailcalls> - <OutputPath>bin\Release\</OutputPath> + <OutputPath>$(SolutionDir)\tests\bin</OutputPath> <DefineConstants>TRACE</DefineConstants> <WarningLevel>3</WarningLevel> - <DocumentationFile>bin\Release\TestLib2.XML</DocumentationFile> + <!--<DocumentationFile>bin\Release\TestLib2.XML</DocumentationFile>--> </PropertyGroup> - <ItemGroup> - <Reference Include="mscorlib" /> - <Reference Include="FSharp.Core, Version=$(TargetFSharpCoreVersion), Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> - <Private>False</Private> - </Reference> - <Reference Include="System" /> - <Reference Include="System.Core" /> - <Reference Include="System.Numerics" /> - </ItemGroup> - <ItemGroup> - <Compile Include="Library2.fs" /> - </ItemGroup> <PropertyGroup> <VisualStudioVersion Condition=" '$(VisualStudioVersion)' == '' ">14.0</VisualStudioVersion> <MinimumVisualStudioVersion Condition="'$(MinimumVisualStudioVersion)' == ''">11</MinimumVisualStudioVersion> </PropertyGroup> <Choose> + <When Condition="Exists('$(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\4.1\Framework\v4.0\Microsoft.FSharp.Targets')"> + <PropertyGroup> + <FSharpTargetsPath>$(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\4.1\Framework\v4.0\Microsoft.FSharp.Targets</FSharpTargetsPath> + </PropertyGroup> + </When> <When Condition="'$(VisualStudioVersion)' != '11.0' and Exists('$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\FSharp\Microsoft.FSharp.Targets')"> <PropertyGroup> <FSharpTargetsPath>$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\FSharp\Microsoft.FSharp.Targets</FSharpTargetsPath> @@ -78,20 +70,119 @@ <Target Name="AfterBuild"> </Target> --> + <ItemGroup> + <Compile Include="Library2.fs" /> + <None Include="paket.references" /> + <Content Include="app.config" /> + </ItemGroup> + <ItemGroup> + <Reference Include="mscorlib" /> + <Reference Include="System" /> + <Reference Include="System.Core" /> + <Reference Include="System.Numerics" /> + </ItemGroup> <Choose> - <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.0'"> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.5' Or $(TargetFrameworkVersion) == 'v4.5.1' Or $(TargetFrameworkVersion) == 'v4.5.2' Or $(TargetFrameworkVersion) == 'v4.5.3' Or $(TargetFrameworkVersion) == 'v4.6' Or $(TargetFrameworkVersion) == 'v4.6.1' Or $(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3')"> <ItemGroup> <Reference Include="FSharp.Compiler.Service"> - <HintPath>..\..\..\..\packages\FSharp.Compiler.Service\lib\net40\FSharp.Compiler.Service.dll</HintPath> + <HintPath>..\..\..\..\packages\FSharp.Compiler.Service\lib\net45\FSharp.Compiler.Service.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + <Reference Include="FSharp.Compiler.Service.MSBuild.v12"> + <HintPath>..\..\..\..\packages\FSharp.Compiler.Service\lib\net45\FSharp.Compiler.Service.MSBuild.v12.dll</HintPath> <Private>True</Private> <Paket>True</Paket> </Reference> </ItemGroup> </When> - <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.5' Or $(TargetFrameworkVersion) == 'v4.5.1' Or $(TargetFrameworkVersion) == 'v4.5.2' Or $(TargetFrameworkVersion) == 'v4.5.3' Or $(TargetFrameworkVersion) == 'v4.6' Or $(TargetFrameworkVersion) == 'v4.6.1' Or $(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3')"> + <When Condition="($(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6') Or ($(TargetFrameworkIdentifier) == '.NETCoreApp' And $(TargetFrameworkVersion) == 'v1.0')"> <ItemGroup> <Reference Include="FSharp.Compiler.Service"> - <HintPath>..\..\..\..\packages\FSharp.Compiler.Service\lib\net45\FSharp.Compiler.Service.dll</HintPath> + <HintPath>..\..\..\..\packages\FSharp.Compiler.Service\lib\netstandard1.6\FSharp.Compiler.Service.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v2.0' Or $(TargetFrameworkVersion) == 'v3.0' Or $(TargetFrameworkVersion) == 'v3.5')"> + <ItemGroup> + <Reference Include="FSharp.Core"> + <HintPath>..\..\..\..\packages\FSharp.Core\lib\net20\FSharp.Core.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.0'"> + <ItemGroup> + <Reference Include="FSharp.Core"> + <HintPath>..\..\..\..\packages\FSharp.Core\lib\net40\FSharp.Core.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.5' Or $(TargetFrameworkVersion) == 'v4.5.1' Or $(TargetFrameworkVersion) == 'v4.5.2' Or $(TargetFrameworkVersion) == 'v4.5.3' Or $(TargetFrameworkVersion) == 'v4.6' Or $(TargetFrameworkVersion) == 'v4.6.1' Or $(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3')"> + <ItemGroup> + <Reference Include="FSharp.Core"> + <HintPath>..\..\..\..\packages\FSharp.Core\lib\net45\FSharp.Core.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="($(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6') Or ($(TargetFrameworkIdentifier) == '.NETCoreApp' And $(TargetFrameworkVersion) == 'v1.0')"> + <ItemGroup> + <Reference Include="FSharp.Core"> + <HintPath>..\..\..\..\packages\FSharp.Core\lib\netstandard1.6\FSharp.Core.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="($(TargetFrameworkIdentifier) == 'MonoAndroid') Or ($(TargetFrameworkIdentifier) == 'MonoTouch') Or ($(TargetFrameworkIdentifier) == 'Xamarin.iOS')"> + <ItemGroup> + <Reference Include="FSharp.Core"> + <HintPath>..\..\..\..\packages\FSharp.Core\lib\portable-net45+monoandroid10+monotouch10+xamarinios10\FSharp.Core.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="($(TargetFrameworkIdentifier) == '.NETCore') Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2' Or $(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5')) Or ($(TargetFrameworkIdentifier) == 'Xamarin.Mac') Or ($(TargetFrameworkProfile) == 'Profile7') Or ($(TargetFrameworkProfile) == 'Profile44')"> + <ItemGroup> + <Reference Include="FSharp.Core"> + <HintPath>..\..\..\..\packages\FSharp.Core\lib\portable-net45+netcore45\FSharp.Core.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="($(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.0') Or ($(TargetFrameworkIdentifier) == 'WindowsPhone' And ($(TargetFrameworkVersion) == 'v8.0' Or $(TargetFrameworkVersion) == 'v8.1')) Or ($(TargetFrameworkProfile) == 'Profile31') Or ($(TargetFrameworkProfile) == 'Profile49') Or ($(TargetFrameworkProfile) == 'Profile78')"> + <ItemGroup> + <Reference Include="FSharp.Core"> + <HintPath>..\..\..\..\packages\FSharp.Core\lib\portable-net45+netcore45+wp8\FSharp.Core.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="($(TargetFrameworkIdentifier) == 'WindowsPhoneApp') Or ($(TargetFrameworkProfile) == 'Profile32') Or ($(TargetFrameworkProfile) == 'Profile84') Or ($(TargetFrameworkProfile) == 'Profile111') Or ($(TargetFrameworkProfile) == 'Profile151') Or ($(TargetFrameworkProfile) == 'Profile157') Or ($(TargetFrameworkProfile) == 'Profile259')"> + <ItemGroup> + <Reference Include="FSharp.Core"> + <HintPath>..\..\..\..\packages\FSharp.Core\lib\portable-net45+netcore45+wpa81+wp8\FSharp.Core.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="($(TargetFrameworkIdentifier) == 'Silverlight' And $(TargetFrameworkVersion) == 'v5.0') Or ($(TargetFrameworkProfile) == 'Profile24') Or ($(TargetFrameworkProfile) == 'Profile47')"> + <ItemGroup> + <Reference Include="FSharp.Core"> + <HintPath>..\..\..\..\packages\FSharp.Core\lib\portable-net45+sl5+netcore45\FSharp.Core.dll</HintPath> <Private>True</Private> <Paket>True</Paket> </Reference> @@ -110,7 +201,60 @@ </When> </Choose> <Choose> - <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.5'"> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="Microsoft.DiaSymReader"> + <HintPath>..\..\..\..\packages\Microsoft.DiaSymReader\lib\netstandard1.1\Microsoft.DiaSymReader.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="Microsoft.DiaSymReader.PortablePdb"> + <HintPath>..\..\..\..\packages\Microsoft.DiaSymReader.PortablePdb\lib\netstandard1.1\Microsoft.DiaSymReader.PortablePdb.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="Microsoft.Win32.Primitives"> + <HintPath>..\..\..\..\packages\Microsoft.Win32.Primitives\lib\net46\Microsoft.Win32.Primitives.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="Microsoft.Win32.Primitives"> + <HintPath>..\..\..\..\packages\Microsoft.Win32.Primitives\ref\netstandard1.3\Microsoft.Win32.Primitives.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="Microsoft.Win32.Registry"> + <HintPath>..\..\..\..\packages\Microsoft.Win32.Registry\ref\netstandard1.3\Microsoft.Win32.Registry.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.5' Or $(TargetFrameworkVersion) == 'v4.5.1' Or $(TargetFrameworkVersion) == 'v4.5.2' Or $(TargetFrameworkVersion) == 'v4.5.3' Or $(TargetFrameworkVersion) == 'v4.6' Or $(TargetFrameworkVersion) == 'v4.6.1' Or $(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3')"> <ItemGroup> <Reference Include="RazorEngine"> <HintPath>..\..\..\..\packages\RazorEngine\lib\net45\RazorEngine.dll</HintPath> @@ -120,4 +264,1151 @@ </ItemGroup> </When> </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.AppContext"> + <HintPath>..\..\..\..\packages\System.AppContext\lib\net463\System.AppContext.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.AppContext"> + <HintPath>..\..\..\..\packages\System.AppContext\lib\netstandard1.6\System.AppContext.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')) Or ($(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.5' Or $(TargetFrameworkVersion) == 'v4.5.1' Or $(TargetFrameworkVersion) == 'v4.5.2' Or $(TargetFrameworkVersion) == 'v4.5.3' Or $(TargetFrameworkVersion) == 'v4.6' Or $(TargetFrameworkVersion) == 'v4.6.1' Or $(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3'))"> + <ItemGroup> + <Reference Include="System.Buffers"> + <HintPath>..\..\..\..\packages\System.Buffers\lib\netstandard1.1\System.Buffers.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2')"> + <ItemGroup> + <Reference Include="System.Collections"> + <HintPath>..\..\..\..\packages\System.Collections\ref\netstandard1.0\System.Collections.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Collections"> + <HintPath>..\..\..\..\packages\System.Collections\ref\netstandard1.3\System.Collections.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Collections.Concurrent"> + <HintPath>..\..\..\..\packages\System.Collections.Concurrent\lib\netstandard1.3\System.Collections.Concurrent.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2' Or $(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')) Or ($(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.5' Or $(TargetFrameworkVersion) == 'v4.5.1' Or $(TargetFrameworkVersion) == 'v4.5.2' Or $(TargetFrameworkVersion) == 'v4.5.3' Or $(TargetFrameworkVersion) == 'v4.6' Or $(TargetFrameworkVersion) == 'v4.6.1' Or $(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3'))"> + <ItemGroup> + <Reference Include="System.Collections.Immutable"> + <HintPath>..\..\..\..\packages\System.Collections.Immutable\lib\netstandard1.0\System.Collections.Immutable.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Console"> + <HintPath>..\..\..\..\packages\System.Console\lib\net46\System.Console.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Console"> + <HintPath>..\..\..\..\packages\System.Console\ref\netstandard1.3\System.Console.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2')"> + <ItemGroup> + <Reference Include="System.Diagnostics.Debug"> + <HintPath>..\..\..\..\packages\System.Diagnostics.Debug\ref\netstandard1.0\System.Diagnostics.Debug.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Diagnostics.Debug"> + <HintPath>..\..\..\..\packages\System.Diagnostics.Debug\ref\netstandard1.3\System.Diagnostics.Debug.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Diagnostics.DiagnosticSource"> + <HintPath>..\..\..\..\packages\System.Diagnostics.DiagnosticSource\lib\net46\System.Diagnostics.DiagnosticSource.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Diagnostics.DiagnosticSource"> + <HintPath>..\..\..\..\packages\System.Diagnostics.DiagnosticSource\lib\netstandard1.3\System.Diagnostics.DiagnosticSource.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Diagnostics.Process"> + <HintPath>..\..\..\..\packages\System.Diagnostics.Process\ref\netstandard1.4\System.Diagnostics.Process.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Diagnostics.TraceSource"> + <HintPath>..\..\..\..\packages\System.Diagnostics.TraceSource\ref\netstandard1.3\System.Diagnostics.TraceSource.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3')"> + <ItemGroup> + <Reference Include="System.Diagnostics.Tracing"> + <HintPath>..\..\..\..\packages\System.Diagnostics.Tracing\lib\net462\System.Diagnostics.Tracing.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4')"> + <ItemGroup> + <Reference Include="System.Diagnostics.Tracing"> + <HintPath>..\..\..\..\packages\System.Diagnostics.Tracing\ref\netstandard1.3\System.Diagnostics.Tracing.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Diagnostics.Tracing"> + <HintPath>..\..\..\..\packages\System.Diagnostics.Tracing\ref\netstandard1.5\System.Diagnostics.Tracing.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2')"> + <ItemGroup> + <Reference Include="System.Globalization"> + <HintPath>..\..\..\..\packages\System.Globalization\ref\netstandard1.0\System.Globalization.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Globalization"> + <HintPath>..\..\..\..\packages\System.Globalization\ref\netstandard1.3\System.Globalization.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Globalization.Calendars"> + <HintPath>..\..\..\..\packages\System.Globalization.Calendars\lib\net46\System.Globalization.Calendars.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Globalization.Calendars"> + <HintPath>..\..\..\..\packages\System.Globalization.Calendars\ref\netstandard1.3\System.Globalization.Calendars.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Globalization.Extensions"> + <HintPath>..\..\..\..\packages\System.Globalization.Extensions\lib\net46\System.Globalization.Extensions.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Globalization.Extensions"> + <HintPath>..\..\..\..\packages\System.Globalization.Extensions\ref\netstandard1.3\System.Globalization.Extensions.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3')"> + <ItemGroup> + <Reference Include="System.IO"> + <HintPath>..\..\..\..\packages\System.IO\lib\net462\System.IO.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2')"> + <ItemGroup> + <Reference Include="System.IO"> + <HintPath>..\..\..\..\packages\System.IO\ref\netstandard1.0\System.IO.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4')"> + <ItemGroup> + <Reference Include="System.IO"> + <HintPath>..\..\..\..\packages\System.IO\ref\netstandard1.3\System.IO.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.IO"> + <HintPath>..\..\..\..\packages\System.IO\ref\netstandard1.5\System.IO.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.5' Or $(TargetFrameworkVersion) == 'v4.5.1' Or $(TargetFrameworkVersion) == 'v4.5.2' Or $(TargetFrameworkVersion) == 'v4.5.3')"> + <ItemGroup> + <Reference Include="System.IO.Compression"> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.6' Or $(TargetFrameworkVersion) == 'v4.6.1' Or $(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3')"> + <ItemGroup> + <Reference Include="System.IO.Compression"> + <HintPath>..\..\..\..\packages\System.IO.Compression\lib\net46\System.IO.Compression.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2')"> + <ItemGroup> + <Reference Include="System.IO.Compression"> + <HintPath>..\..\..\..\packages\System.IO.Compression\ref\netstandard1.1\System.IO.Compression.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.IO.Compression"> + <HintPath>..\..\..\..\packages\System.IO.Compression\ref\netstandard1.3\System.IO.Compression.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.IO.Compression.FileSystem"> + <Paket>True</Paket> + </Reference> + <Reference Include="System.IO.Compression.ZipFile"> + <HintPath>..\..\..\..\packages\System.IO.Compression.ZipFile\lib\net46\System.IO.Compression.ZipFile.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.IO.Compression.ZipFile"> + <HintPath>..\..\..\..\packages\System.IO.Compression.ZipFile\lib\netstandard1.3\System.IO.Compression.ZipFile.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.IO.FileSystem"> + <HintPath>..\..\..\..\packages\System.IO.FileSystem\lib\net46\System.IO.FileSystem.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.IO.FileSystem"> + <HintPath>..\..\..\..\packages\System.IO.FileSystem\ref\netstandard1.3\System.IO.FileSystem.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.IO.FileSystem.Primitives"> + <HintPath>..\..\..\..\packages\System.IO.FileSystem.Primitives\lib\net46\System.IO.FileSystem.Primitives.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.IO.FileSystem.Primitives"> + <HintPath>..\..\..\..\packages\System.IO.FileSystem.Primitives\lib\netstandard1.3\System.IO.FileSystem.Primitives.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Linq"> + <HintPath>..\..\..\..\packages\System.Linq\lib\net463\System.Linq.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Linq"> + <HintPath>..\..\..\..\packages\System.Linq\lib\netstandard1.6\System.Linq.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Linq.Expressions"> + <HintPath>..\..\..\..\packages\System.Linq.Expressions\lib\net463\System.Linq.Expressions.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Linq.Expressions"> + <HintPath>..\..\..\..\packages\System.Linq.Expressions\lib\netstandard1.6\System.Linq.Expressions.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Linq.Queryable"> + <HintPath>..\..\..\..\packages\System.Linq.Queryable\lib\netstandard1.3\System.Linq.Queryable.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Net.Http"> + <HintPath>..\..\..\..\packages\System.Net.Http\lib\net46\System.Net.Http.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Net.Http"> + <HintPath>..\..\..\..\packages\System.Net.Http\ref\netstandard1.3\System.Net.Http.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Net.Requests"> + <HintPath>..\..\..\..\packages\System.Net.Requests\ref\netstandard1.3\System.Net.Requests.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Net.Sockets"> + <HintPath>..\..\..\..\packages\System.Net.Sockets\lib\net46\System.Net.Sockets.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Net.Sockets"> + <HintPath>..\..\..\..\packages\System.Net.Sockets\ref\netstandard1.3\System.Net.Sockets.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Net.WebHeaderCollection"> + <HintPath>..\..\..\..\packages\System.Net.WebHeaderCollection\lib\netstandard1.3\System.Net.WebHeaderCollection.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.ObjectModel"> + <HintPath>..\..\..\..\packages\System.ObjectModel\lib\netstandard1.3\System.ObjectModel.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3')"> + <ItemGroup> + <Reference Include="System.Reflection"> + <HintPath>..\..\..\..\packages\System.Reflection\lib\net462\System.Reflection.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2')"> + <ItemGroup> + <Reference Include="System.Reflection"> + <HintPath>..\..\..\..\packages\System.Reflection\ref\netstandard1.0\System.Reflection.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4')"> + <ItemGroup> + <Reference Include="System.Reflection"> + <HintPath>..\..\..\..\packages\System.Reflection\ref\netstandard1.3\System.Reflection.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Reflection"> + <HintPath>..\..\..\..\packages\System.Reflection\ref\netstandard1.5\System.Reflection.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Reflection.Emit"> + <HintPath>..\..\..\..\packages\System.Reflection.Emit\lib\netstandard1.3\System.Reflection.Emit.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Reflection.Emit.ILGeneration"> + <HintPath>..\..\..\..\packages\System.Reflection.Emit.ILGeneration\lib\netstandard1.3\System.Reflection.Emit.ILGeneration.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Reflection.Emit.Lightweight"> + <HintPath>..\..\..\..\packages\System.Reflection.Emit.Lightweight\lib\netstandard1.3\System.Reflection.Emit.Lightweight.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2' Or $(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')) Or ($(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.5' Or $(TargetFrameworkVersion) == 'v4.5.1' Or $(TargetFrameworkVersion) == 'v4.5.2' Or $(TargetFrameworkVersion) == 'v4.5.3' Or $(TargetFrameworkVersion) == 'v4.6' Or $(TargetFrameworkVersion) == 'v4.6.1' Or $(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3'))"> + <ItemGroup> + <Reference Include="System.Reflection.Metadata"> + <HintPath>..\..\..\..\packages\System.Reflection.Metadata\lib\netstandard1.1\System.Reflection.Metadata.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Reflection.TypeExtensions"> + <HintPath>..\..\..\..\packages\System.Reflection.TypeExtensions\lib\net462\System.Reflection.TypeExtensions.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Reflection.TypeExtensions"> + <HintPath>..\..\..\..\packages\System.Reflection.TypeExtensions\lib\netstandard1.5\System.Reflection.TypeExtensions.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.5' Or $(TargetFrameworkVersion) == 'v4.5.1' Or $(TargetFrameworkVersion) == 'v4.5.2' Or $(TargetFrameworkVersion) == 'v4.5.3' Or $(TargetFrameworkVersion) == 'v4.6' Or $(TargetFrameworkVersion) == 'v4.6.1')"> + <ItemGroup> + <Reference Include="System.ComponentModel.Composition"> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3')"> + <ItemGroup> + <Reference Include="System.ComponentModel.Composition"> + <Paket>True</Paket> + </Reference> + <Reference Include="System.Runtime"> + <HintPath>..\..\..\..\packages\System.Runtime\lib\net462\System.Runtime.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1')"> + <ItemGroup> + <Reference Include="System.Runtime"> + <HintPath>..\..\..\..\packages\System.Runtime\ref\netstandard1.0\System.Runtime.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.2'"> + <ItemGroup> + <Reference Include="System.Runtime"> + <HintPath>..\..\..\..\packages\System.Runtime\ref\netstandard1.2\System.Runtime.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4')"> + <ItemGroup> + <Reference Include="System.Runtime"> + <HintPath>..\..\..\..\packages\System.Runtime\ref\netstandard1.3\System.Runtime.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Runtime"> + <HintPath>..\..\..\..\packages\System.Runtime\ref\netstandard1.5\System.Runtime.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3')"> + <ItemGroup> + <Reference Include="System.Runtime.Extensions"> + <HintPath>..\..\..\..\packages\System.Runtime.Extensions\lib\net462\System.Runtime.Extensions.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2')"> + <ItemGroup> + <Reference Include="System.Runtime.Extensions"> + <HintPath>..\..\..\..\packages\System.Runtime.Extensions\ref\netstandard1.0\System.Runtime.Extensions.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4')"> + <ItemGroup> + <Reference Include="System.Runtime.Extensions"> + <HintPath>..\..\..\..\packages\System.Runtime.Extensions\ref\netstandard1.3\System.Runtime.Extensions.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Runtime.Extensions"> + <HintPath>..\..\..\..\packages\System.Runtime.Extensions\ref\netstandard1.5\System.Runtime.Extensions.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Runtime.Handles"> + <HintPath>..\..\..\..\packages\System.Runtime.Handles\ref\netstandard1.3\System.Runtime.Handles.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.2'"> + <ItemGroup> + <Reference Include="System.Runtime.InteropServices"> + <HintPath>..\..\..\..\packages\System.Runtime.InteropServices\lib\net462\System.Runtime.InteropServices.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Runtime.InteropServices"> + <HintPath>..\..\..\..\packages\System.Runtime.InteropServices\lib\net463\System.Runtime.InteropServices.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.1'"> + <ItemGroup> + <Reference Include="System.Runtime.InteropServices"> + <HintPath>..\..\..\..\packages\System.Runtime.InteropServices\ref\netstandard1.1\System.Runtime.InteropServices.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.2'"> + <ItemGroup> + <Reference Include="System.Runtime.InteropServices"> + <HintPath>..\..\..\..\packages\System.Runtime.InteropServices\ref\netstandard1.2\System.Runtime.InteropServices.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4')"> + <ItemGroup> + <Reference Include="System.Runtime.InteropServices"> + <HintPath>..\..\..\..\packages\System.Runtime.InteropServices\ref\netstandard1.3\System.Runtime.InteropServices.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Runtime.InteropServices"> + <HintPath>..\..\..\..\packages\System.Runtime.InteropServices\ref\netstandard1.5\System.Runtime.InteropServices.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Runtime.InteropServices.RuntimeInformation"> + <HintPath>..\..\..\..\packages\System.Runtime.InteropServices.RuntimeInformation\lib\net45\System.Runtime.InteropServices.RuntimeInformation.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Runtime.InteropServices.RuntimeInformation"> + <HintPath>..\..\..\..\packages\System.Runtime.InteropServices.RuntimeInformation\lib\netstandard1.1\System.Runtime.InteropServices.RuntimeInformation.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="($(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6') Or ($(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3')"> + <ItemGroup> + <Reference Include="System.Runtime.InteropServices.RuntimeInformation"> + <HintPath>..\..\..\..\packages\System.Runtime.InteropServices.RuntimeInformation\ref\netstandard1.1\System.Runtime.InteropServices.RuntimeInformation.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Runtime.Loader"> + <HintPath>..\..\..\..\packages\System.Runtime.Loader\lib\netstandard1.5\System.Runtime.Loader.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Runtime.Numerics"> + <HintPath>..\..\..\..\packages\System.Runtime.Numerics\lib\netstandard1.3\System.Runtime.Numerics.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.Algorithms"> + <HintPath>..\..\..\..\packages\System.Security.Cryptography.Algorithms\lib\net463\System.Security.Cryptography.Algorithms.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.Algorithms"> + <HintPath>..\..\..\..\packages\System.Security.Cryptography.Algorithms\ref\netstandard1.6\System.Security.Cryptography.Algorithms.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.Cng"> + <HintPath>..\..\..\..\packages\System.Security.Cryptography.Cng\lib\net463\System.Security.Cryptography.Cng.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.Cng"> + <HintPath>..\..\..\..\packages\System.Security.Cryptography.Cng\ref\netstandard1.6\System.Security.Cryptography.Cng.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.Csp"> + <HintPath>..\..\..\..\packages\System.Security.Cryptography.Csp\lib\net46\System.Security.Cryptography.Csp.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.Csp"> + <HintPath>..\..\..\..\packages\System.Security.Cryptography.Csp\ref\netstandard1.3\System.Security.Cryptography.Csp.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.Encoding"> + <HintPath>..\..\..\..\packages\System.Security.Cryptography.Encoding\lib\net46\System.Security.Cryptography.Encoding.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.Encoding"> + <HintPath>..\..\..\..\packages\System.Security.Cryptography.Encoding\ref\netstandard1.3\System.Security.Cryptography.Encoding.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="($(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6') Or ($(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3')"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.OpenSsl"> + <HintPath>..\..\..\..\packages\System.Security.Cryptography.OpenSsl\lib\netstandard1.6\System.Security.Cryptography.OpenSsl.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.Primitives"> + <HintPath>..\..\..\..\packages\System.Security.Cryptography.Primitives\lib\net46\System.Security.Cryptography.Primitives.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.Primitives"> + <HintPath>..\..\..\..\packages\System.Security.Cryptography.Primitives\lib\netstandard1.3\System.Security.Cryptography.Primitives.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.X509Certificates"> + <HintPath>..\..\..\..\packages\System.Security.Cryptography.X509Certificates\lib\net461\System.Security.Cryptography.X509Certificates.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.X509Certificates"> + <HintPath>..\..\..\..\packages\System.Security.Cryptography.X509Certificates\ref\netstandard1.4\System.Security.Cryptography.X509Certificates.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2')"> + <ItemGroup> + <Reference Include="System.Text.Encoding"> + <HintPath>..\..\..\..\packages\System.Text.Encoding\ref\netstandard1.0\System.Text.Encoding.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Text.Encoding"> + <HintPath>..\..\..\..\packages\System.Text.Encoding\ref\netstandard1.3\System.Text.Encoding.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2')"> + <ItemGroup> + <Reference Include="System.Text.Encoding.Extensions"> + <HintPath>..\..\..\..\packages\System.Text.Encoding.Extensions\ref\netstandard1.0\System.Text.Encoding.Extensions.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Text.Encoding.Extensions"> + <HintPath>..\..\..\..\packages\System.Text.Encoding.Extensions\ref\netstandard1.3\System.Text.Encoding.Extensions.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Text.RegularExpressions"> + <HintPath>..\..\..\..\packages\System.Text.RegularExpressions\lib\net463\System.Text.RegularExpressions.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Text.RegularExpressions"> + <HintPath>..\..\..\..\packages\System.Text.RegularExpressions\lib\netstandard1.6\System.Text.RegularExpressions.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Threading"> + <HintPath>..\..\..\..\packages\System.Threading\lib\netstandard1.3\System.Threading.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="($(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.0') Or ($(TargetFrameworkIdentifier) == 'WindowsPhone' And $(TargetFrameworkVersion) == 'v8.1')"> + <ItemGroup> + <Reference Include="System.Threading.Tasks"> + <HintPath>..\..\..\..\packages\System.Threading.Tasks\ref\netstandard1.0\System.Threading.Tasks.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Threading.Tasks"> + <HintPath>..\..\..\..\packages\System.Threading.Tasks\ref\netstandard1.3\System.Threading.Tasks.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="($(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6') Or ($(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3')"> + <ItemGroup> + <Reference Include="System.Threading.Tasks.Extensions"> + <HintPath>..\..\..\..\packages\System.Threading.Tasks.Extensions\lib\netstandard1.0\System.Threading.Tasks.Extensions.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Threading.Tasks.Parallel"> + <HintPath>..\..\..\..\packages\System.Threading.Tasks.Parallel\lib\netstandard1.3\System.Threading.Tasks.Parallel.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Threading.Thread"> + <HintPath>..\..\..\..\packages\System.Threading.Thread\lib\netstandard1.3\System.Threading.Thread.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Threading.ThreadPool"> + <HintPath>..\..\..\..\packages\System.Threading.ThreadPool\lib\netstandard1.3\System.Threading.ThreadPool.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="($(TargetFrameworkIdentifier) == 'WindowsPhoneApp') Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2' Or $(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5')) Or ($(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.5' Or $(TargetFrameworkVersion) == 'v4.5.1' Or $(TargetFrameworkVersion) == 'v4.5.2' Or $(TargetFrameworkVersion) == 'v4.5.3' Or $(TargetFrameworkVersion) == 'v4.6' Or $(TargetFrameworkVersion) == 'v4.6.1' Or $(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3')) Or ($(TargetFrameworkIdentifier) == 'WindowsPhone' And ($(TargetFrameworkVersion) == 'v8.0' Or $(TargetFrameworkVersion) == 'v8.1'))"> + <ItemGroup> + <Reference Include="System.ValueTuple"> + <HintPath>..\..\..\..\packages\System.ValueTuple\lib\netstandard1.0\System.ValueTuple.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.0'"> + <ItemGroup> + <Reference Include="System.ValueTuple"> + <HintPath>..\..\..\..\packages\System.ValueTuple\lib\portable-net40+sl4+win8+wp8\System.ValueTuple.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Xml"> + <Paket>True</Paket> + </Reference> + <Reference Include="System.Xml.ReaderWriter"> + <HintPath>..\..\..\..\packages\System.Xml.ReaderWriter\lib\net46\System.Xml.ReaderWriter.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Xml.ReaderWriter"> + <HintPath>..\..\..\..\packages\System.Xml.ReaderWriter\lib\netstandard1.3\System.Xml.ReaderWriter.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Xml.Linq"> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Xml.XDocument"> + <HintPath>..\..\..\..\packages\System.Xml.XDocument\lib\netstandard1.3\System.Xml.XDocument.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> </Project> \ No newline at end of file diff --git a/tests/FSharp.MetadataFormat.Tests/files/TestLib/app.config b/tests/FSharp.MetadataFormat.Tests/files/TestLib/app.config index a4daf5445..c15bb22a9 100644 --- a/tests/FSharp.MetadataFormat.Tests/files/TestLib/app.config +++ b/tests/FSharp.MetadataFormat.Tests/files/TestLib/app.config @@ -4,6 +4,21 @@ <dependentAssembly> <Paket>True</Paket> <assemblyIdentity name="FSharp.Core" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> - <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="4.4.0.0" /> + <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="4.4.1.0" /> + </dependentAssembly> + <dependentAssembly> + <Paket>True</Paket> + <assemblyIdentity name="System.Collections.Immutable" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.2.1.0" /> + </dependentAssembly> + <dependentAssembly> + <Paket>True</Paket> + <assemblyIdentity name="System.IO.Compression" publicKeyToken="b77a5c561934e089" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="4.1.2.0" /> + </dependentAssembly> + <dependentAssembly> + <Paket>True</Paket> + <assemblyIdentity name="System.ValueTuple" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="4.0.1.0" /> </dependentAssembly> </assemblyBinding></runtime></configuration> diff --git a/tests/FSharp.MetadataFormat.Tests/files/crefLib/app.config b/tests/FSharp.MetadataFormat.Tests/files/crefLib/app.config new file mode 100644 index 000000000..796200a26 --- /dev/null +++ b/tests/FSharp.MetadataFormat.Tests/files/crefLib/app.config @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="utf-8"?> +<configuration> +<runtime><assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> + <dependentAssembly> + <Paket>True</Paket> + <assemblyIdentity name="FSharp.Core" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="4.4.1.0" /> + </dependentAssembly> + <dependentAssembly> + <Paket>True</Paket> + <assemblyIdentity name="System.ValueTuple" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="4.0.1.0" /> + </dependentAssembly> +</assemblyBinding></runtime></configuration> diff --git a/tests/FSharp.MetadataFormat.Tests/files/crefLib/crefLib1.fsproj b/tests/FSharp.MetadataFormat.Tests/files/crefLib/crefLib1.fsproj index 8304053c2..1d9b79cfe 100644 --- a/tests/FSharp.MetadataFormat.Tests/files/crefLib/crefLib1.fsproj +++ b/tests/FSharp.MetadataFormat.Tests/files/crefLib/crefLib1.fsproj @@ -1,15 +1,15 @@ <?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> +<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <PropertyGroup> <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> - <SchemaVersion>2.0</SchemaVersion> <ProjectGuid>a0c8dd00-bd08-48d6-b257-5a838e5da819</ProjectGuid> <OutputType>Library</OutputType> <RootNamespace>crefLib1</RootNamespace> <AssemblyName>crefLib1</AssemblyName> - <TargetFrameworkVersion>v4.5</TargetFrameworkVersion> - <TargetFSharpCoreVersion>4.4.0.0</TargetFSharpCoreVersion> + <TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion> + <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects> + <DocumentationFile>$(SolutionDir)\tests\bin\crefLib1.xml</DocumentationFile> <Name>crefLib1</Name> <TargetFrameworkProfile /> </PropertyGroup> @@ -18,29 +18,18 @@ <DebugType>full</DebugType> <Optimize>false</Optimize> <Tailcalls>false</Tailcalls> - <OutputPath>bin\Debug\</OutputPath> + <OutputPath>$(SolutionDir)\tests\bin</OutputPath> <DefineConstants>DEBUG;TRACE</DefineConstants> <WarningLevel>3</WarningLevel> - <DocumentationFile>bin\Debug\crefLib1.XML</DocumentationFile> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> <DebugType>pdbonly</DebugType> <Optimize>true</Optimize> <Tailcalls>true</Tailcalls> - <OutputPath>bin\Release\</OutputPath> + <OutputPath>$(SolutionDir)\tests\bin</OutputPath> <DefineConstants>TRACE</DefineConstants> <WarningLevel>3</WarningLevel> - <DocumentationFile>bin\Release\crefLib1.XML</DocumentationFile> </PropertyGroup> - <ItemGroup> - <Reference Include="mscorlib" /> - <Reference Include="System" /> - <Reference Include="System.Core" /> - <Reference Include="System.Numerics" /> - </ItemGroup> - <ItemGroup> - <Compile Include="Library1.fs" /> - </ItemGroup> <PropertyGroup> <VisualStudioVersion Condition=" '$(VisualStudioVersion)' == '' ">14.0</VisualStudioVersion> <MinimumVisualStudioVersion Condition="'$(MinimumVisualStudioVersion)' == ''">11</MinimumVisualStudioVersion> @@ -68,6 +57,16 @@ </When> </Choose> <Import Project="$(FSharpTargetsPath)" Condition="Exists('$(FSharpTargetsPath)')" /> + <ItemGroup> + <None Include="crefLib1.fsproj.paket.references" /> + <Compile Include="Library1.fs" /> + </ItemGroup> + <ItemGroup> + <Reference Include="mscorlib" /> + <Reference Include="System" /> + <Reference Include="System.Core" /> + <Reference Include="System.Numerics" /> + </ItemGroup> <!-- To modify your build process, add your task inside one of the targets below and uncomment it. Other similar extension points exist, see Microsoft.Common.targets. <Target Name="BeforeBuild"> @@ -75,4 +74,968 @@ <Target Name="AfterBuild"> </Target> --> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v2.0' Or $(TargetFrameworkVersion) == 'v3.0' Or $(TargetFrameworkVersion) == 'v3.5')"> + <ItemGroup> + <Reference Include="FSharp.Core"> + <HintPath>..\..\..\..\packages\FSharp.Core\lib\net20\FSharp.Core.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.0'"> + <ItemGroup> + <Reference Include="FSharp.Core"> + <HintPath>..\..\..\..\packages\FSharp.Core\lib\net40\FSharp.Core.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.5' Or $(TargetFrameworkVersion) == 'v4.5.1' Or $(TargetFrameworkVersion) == 'v4.5.2' Or $(TargetFrameworkVersion) == 'v4.5.3' Or $(TargetFrameworkVersion) == 'v4.6' Or $(TargetFrameworkVersion) == 'v4.6.1' Or $(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3')"> + <ItemGroup> + <Reference Include="FSharp.Core"> + <HintPath>..\..\..\..\packages\FSharp.Core\lib\net45\FSharp.Core.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="($(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6') Or ($(TargetFrameworkIdentifier) == '.NETCoreApp' And $(TargetFrameworkVersion) == 'v1.0')"> + <ItemGroup> + <Reference Include="FSharp.Core"> + <HintPath>..\..\..\..\packages\FSharp.Core\lib\netstandard1.6\FSharp.Core.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="($(TargetFrameworkIdentifier) == 'MonoAndroid') Or ($(TargetFrameworkIdentifier) == 'MonoTouch') Or ($(TargetFrameworkIdentifier) == 'Xamarin.iOS')"> + <ItemGroup> + <Reference Include="FSharp.Core"> + <HintPath>..\..\..\..\packages\FSharp.Core\lib\portable-net45+monoandroid10+monotouch10+xamarinios10\FSharp.Core.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="($(TargetFrameworkIdentifier) == '.NETCore') Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2' Or $(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5')) Or ($(TargetFrameworkIdentifier) == 'Xamarin.Mac') Or ($(TargetFrameworkProfile) == 'Profile7') Or ($(TargetFrameworkProfile) == 'Profile44')"> + <ItemGroup> + <Reference Include="FSharp.Core"> + <HintPath>..\..\..\..\packages\FSharp.Core\lib\portable-net45+netcore45\FSharp.Core.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="($(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.0') Or ($(TargetFrameworkIdentifier) == 'WindowsPhone' And ($(TargetFrameworkVersion) == 'v8.0' Or $(TargetFrameworkVersion) == 'v8.1')) Or ($(TargetFrameworkProfile) == 'Profile31') Or ($(TargetFrameworkProfile) == 'Profile49') Or ($(TargetFrameworkProfile) == 'Profile78')"> + <ItemGroup> + <Reference Include="FSharp.Core"> + <HintPath>..\..\..\..\packages\FSharp.Core\lib\portable-net45+netcore45+wp8\FSharp.Core.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="($(TargetFrameworkIdentifier) == 'WindowsPhoneApp') Or ($(TargetFrameworkProfile) == 'Profile32') Or ($(TargetFrameworkProfile) == 'Profile84') Or ($(TargetFrameworkProfile) == 'Profile111') Or ($(TargetFrameworkProfile) == 'Profile151') Or ($(TargetFrameworkProfile) == 'Profile157') Or ($(TargetFrameworkProfile) == 'Profile259')"> + <ItemGroup> + <Reference Include="FSharp.Core"> + <HintPath>..\..\..\..\packages\FSharp.Core\lib\portable-net45+netcore45+wpa81+wp8\FSharp.Core.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="($(TargetFrameworkIdentifier) == 'Silverlight' And $(TargetFrameworkVersion) == 'v5.0') Or ($(TargetFrameworkProfile) == 'Profile24') Or ($(TargetFrameworkProfile) == 'Profile47')"> + <ItemGroup> + <Reference Include="FSharp.Core"> + <HintPath>..\..\..\..\packages\FSharp.Core\lib\portable-net45+sl5+netcore45\FSharp.Core.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2')"> + <ItemGroup> + <Reference Include="System.Collections"> + <HintPath>..\..\..\..\packages\System.Collections\ref\netstandard1.0\System.Collections.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Collections"> + <HintPath>..\..\..\..\packages\System.Collections\ref\netstandard1.3\System.Collections.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Collections.Concurrent"> + <HintPath>..\..\..\..\packages\System.Collections.Concurrent\lib\netstandard1.3\System.Collections.Concurrent.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Console"> + <HintPath>..\..\..\..\packages\System.Console\lib\net46\System.Console.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Console"> + <HintPath>..\..\..\..\packages\System.Console\ref\netstandard1.3\System.Console.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2')"> + <ItemGroup> + <Reference Include="System.Diagnostics.Debug"> + <HintPath>..\..\..\..\packages\System.Diagnostics.Debug\ref\netstandard1.0\System.Diagnostics.Debug.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Diagnostics.Debug"> + <HintPath>..\..\..\..\packages\System.Diagnostics.Debug\ref\netstandard1.3\System.Diagnostics.Debug.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Diagnostics.DiagnosticSource"> + <HintPath>..\..\..\..\packages\System.Diagnostics.DiagnosticSource\lib\net46\System.Diagnostics.DiagnosticSource.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Diagnostics.DiagnosticSource"> + <HintPath>..\..\..\..\packages\System.Diagnostics.DiagnosticSource\lib\netstandard1.3\System.Diagnostics.DiagnosticSource.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3')"> + <ItemGroup> + <Reference Include="System.Diagnostics.Tracing"> + <HintPath>..\..\..\..\packages\System.Diagnostics.Tracing\lib\net462\System.Diagnostics.Tracing.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4')"> + <ItemGroup> + <Reference Include="System.Diagnostics.Tracing"> + <HintPath>..\..\..\..\packages\System.Diagnostics.Tracing\ref\netstandard1.3\System.Diagnostics.Tracing.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Diagnostics.Tracing"> + <HintPath>..\..\..\..\packages\System.Diagnostics.Tracing\ref\netstandard1.5\System.Diagnostics.Tracing.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2')"> + <ItemGroup> + <Reference Include="System.Globalization"> + <HintPath>..\..\..\..\packages\System.Globalization\ref\netstandard1.0\System.Globalization.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Globalization"> + <HintPath>..\..\..\..\packages\System.Globalization\ref\netstandard1.3\System.Globalization.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Globalization.Calendars"> + <HintPath>..\..\..\..\packages\System.Globalization.Calendars\lib\net46\System.Globalization.Calendars.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Globalization.Calendars"> + <HintPath>..\..\..\..\packages\System.Globalization.Calendars\ref\netstandard1.3\System.Globalization.Calendars.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Globalization.Extensions"> + <HintPath>..\..\..\..\packages\System.Globalization.Extensions\lib\net46\System.Globalization.Extensions.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Globalization.Extensions"> + <HintPath>..\..\..\..\packages\System.Globalization.Extensions\ref\netstandard1.3\System.Globalization.Extensions.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3')"> + <ItemGroup> + <Reference Include="System.IO"> + <HintPath>..\..\..\..\packages\System.IO\lib\net462\System.IO.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2')"> + <ItemGroup> + <Reference Include="System.IO"> + <HintPath>..\..\..\..\packages\System.IO\ref\netstandard1.0\System.IO.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4')"> + <ItemGroup> + <Reference Include="System.IO"> + <HintPath>..\..\..\..\packages\System.IO\ref\netstandard1.3\System.IO.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.IO"> + <HintPath>..\..\..\..\packages\System.IO\ref\netstandard1.5\System.IO.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.IO.FileSystem"> + <HintPath>..\..\..\..\packages\System.IO.FileSystem\lib\net46\System.IO.FileSystem.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.IO.FileSystem"> + <HintPath>..\..\..\..\packages\System.IO.FileSystem\ref\netstandard1.3\System.IO.FileSystem.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.IO.FileSystem.Primitives"> + <HintPath>..\..\..\..\packages\System.IO.FileSystem.Primitives\lib\net46\System.IO.FileSystem.Primitives.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.IO.FileSystem.Primitives"> + <HintPath>..\..\..\..\packages\System.IO.FileSystem.Primitives\lib\netstandard1.3\System.IO.FileSystem.Primitives.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Linq"> + <HintPath>..\..\..\..\packages\System.Linq\lib\net463\System.Linq.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Linq"> + <HintPath>..\..\..\..\packages\System.Linq\lib\netstandard1.6\System.Linq.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Linq.Expressions"> + <HintPath>..\..\..\..\packages\System.Linq.Expressions\lib\net463\System.Linq.Expressions.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Linq.Expressions"> + <HintPath>..\..\..\..\packages\System.Linq.Expressions\lib\netstandard1.6\System.Linq.Expressions.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Linq.Queryable"> + <HintPath>..\..\..\..\packages\System.Linq.Queryable\lib\netstandard1.3\System.Linq.Queryable.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Net.Http"> + <HintPath>..\..\..\..\packages\System.Net.Http\lib\net46\System.Net.Http.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Net.Http"> + <HintPath>..\..\..\..\packages\System.Net.Http\ref\netstandard1.3\System.Net.Http.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Net.Requests"> + <HintPath>..\..\..\..\packages\System.Net.Requests\ref\netstandard1.3\System.Net.Requests.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Net.WebHeaderCollection"> + <HintPath>..\..\..\..\packages\System.Net.WebHeaderCollection\lib\netstandard1.3\System.Net.WebHeaderCollection.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.ObjectModel"> + <HintPath>..\..\..\..\packages\System.ObjectModel\lib\netstandard1.3\System.ObjectModel.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3')"> + <ItemGroup> + <Reference Include="System.Reflection"> + <HintPath>..\..\..\..\packages\System.Reflection\lib\net462\System.Reflection.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2')"> + <ItemGroup> + <Reference Include="System.Reflection"> + <HintPath>..\..\..\..\packages\System.Reflection\ref\netstandard1.0\System.Reflection.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4')"> + <ItemGroup> + <Reference Include="System.Reflection"> + <HintPath>..\..\..\..\packages\System.Reflection\ref\netstandard1.3\System.Reflection.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Reflection"> + <HintPath>..\..\..\..\packages\System.Reflection\ref\netstandard1.5\System.Reflection.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Reflection.Emit"> + <HintPath>..\..\..\..\packages\System.Reflection.Emit\lib\netstandard1.3\System.Reflection.Emit.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Reflection.Emit.ILGeneration"> + <HintPath>..\..\..\..\packages\System.Reflection.Emit.ILGeneration\lib\netstandard1.3\System.Reflection.Emit.ILGeneration.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Reflection.Emit.Lightweight"> + <HintPath>..\..\..\..\packages\System.Reflection.Emit.Lightweight\lib\netstandard1.3\System.Reflection.Emit.Lightweight.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Reflection.TypeExtensions"> + <HintPath>..\..\..\..\packages\System.Reflection.TypeExtensions\lib\net462\System.Reflection.TypeExtensions.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Reflection.TypeExtensions"> + <HintPath>..\..\..\..\packages\System.Reflection.TypeExtensions\lib\netstandard1.5\System.Reflection.TypeExtensions.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.5' Or $(TargetFrameworkVersion) == 'v4.5.1' Or $(TargetFrameworkVersion) == 'v4.5.2' Or $(TargetFrameworkVersion) == 'v4.5.3' Or $(TargetFrameworkVersion) == 'v4.6' Or $(TargetFrameworkVersion) == 'v4.6.1')"> + <ItemGroup> + <Reference Include="System.ComponentModel.Composition"> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3')"> + <ItemGroup> + <Reference Include="System.ComponentModel.Composition"> + <Paket>True</Paket> + </Reference> + <Reference Include="System.Runtime"> + <HintPath>..\..\..\..\packages\System.Runtime\lib\net462\System.Runtime.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1')"> + <ItemGroup> + <Reference Include="System.Runtime"> + <HintPath>..\..\..\..\packages\System.Runtime\ref\netstandard1.0\System.Runtime.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.2'"> + <ItemGroup> + <Reference Include="System.Runtime"> + <HintPath>..\..\..\..\packages\System.Runtime\ref\netstandard1.2\System.Runtime.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4')"> + <ItemGroup> + <Reference Include="System.Runtime"> + <HintPath>..\..\..\..\packages\System.Runtime\ref\netstandard1.3\System.Runtime.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Runtime"> + <HintPath>..\..\..\..\packages\System.Runtime\ref\netstandard1.5\System.Runtime.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3')"> + <ItemGroup> + <Reference Include="System.Runtime.Extensions"> + <HintPath>..\..\..\..\packages\System.Runtime.Extensions\lib\net462\System.Runtime.Extensions.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2')"> + <ItemGroup> + <Reference Include="System.Runtime.Extensions"> + <HintPath>..\..\..\..\packages\System.Runtime.Extensions\ref\netstandard1.0\System.Runtime.Extensions.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4')"> + <ItemGroup> + <Reference Include="System.Runtime.Extensions"> + <HintPath>..\..\..\..\packages\System.Runtime.Extensions\ref\netstandard1.3\System.Runtime.Extensions.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Runtime.Extensions"> + <HintPath>..\..\..\..\packages\System.Runtime.Extensions\ref\netstandard1.5\System.Runtime.Extensions.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Runtime.Handles"> + <HintPath>..\..\..\..\packages\System.Runtime.Handles\ref\netstandard1.3\System.Runtime.Handles.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.2'"> + <ItemGroup> + <Reference Include="System.Runtime.InteropServices"> + <HintPath>..\..\..\..\packages\System.Runtime.InteropServices\lib\net462\System.Runtime.InteropServices.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Runtime.InteropServices"> + <HintPath>..\..\..\..\packages\System.Runtime.InteropServices\lib\net463\System.Runtime.InteropServices.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.1'"> + <ItemGroup> + <Reference Include="System.Runtime.InteropServices"> + <HintPath>..\..\..\..\packages\System.Runtime.InteropServices\ref\netstandard1.1\System.Runtime.InteropServices.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.2'"> + <ItemGroup> + <Reference Include="System.Runtime.InteropServices"> + <HintPath>..\..\..\..\packages\System.Runtime.InteropServices\ref\netstandard1.2\System.Runtime.InteropServices.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4')"> + <ItemGroup> + <Reference Include="System.Runtime.InteropServices"> + <HintPath>..\..\..\..\packages\System.Runtime.InteropServices\ref\netstandard1.3\System.Runtime.InteropServices.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Runtime.InteropServices"> + <HintPath>..\..\..\..\packages\System.Runtime.InteropServices\ref\netstandard1.5\System.Runtime.InteropServices.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Runtime.Numerics"> + <HintPath>..\..\..\..\packages\System.Runtime.Numerics\lib\netstandard1.3\System.Runtime.Numerics.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.Algorithms"> + <HintPath>..\..\..\..\packages\System.Security.Cryptography.Algorithms\lib\net463\System.Security.Cryptography.Algorithms.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.Algorithms"> + <HintPath>..\..\..\..\packages\System.Security.Cryptography.Algorithms\ref\netstandard1.6\System.Security.Cryptography.Algorithms.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.Cng"> + <HintPath>..\..\..\..\packages\System.Security.Cryptography.Cng\lib\net463\System.Security.Cryptography.Cng.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.Cng"> + <HintPath>..\..\..\..\packages\System.Security.Cryptography.Cng\ref\netstandard1.6\System.Security.Cryptography.Cng.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.Csp"> + <HintPath>..\..\..\..\packages\System.Security.Cryptography.Csp\lib\net46\System.Security.Cryptography.Csp.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.Csp"> + <HintPath>..\..\..\..\packages\System.Security.Cryptography.Csp\ref\netstandard1.3\System.Security.Cryptography.Csp.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.Encoding"> + <HintPath>..\..\..\..\packages\System.Security.Cryptography.Encoding\lib\net46\System.Security.Cryptography.Encoding.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.Encoding"> + <HintPath>..\..\..\..\packages\System.Security.Cryptography.Encoding\ref\netstandard1.3\System.Security.Cryptography.Encoding.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="($(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6') Or ($(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3')"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.OpenSsl"> + <HintPath>..\..\..\..\packages\System.Security.Cryptography.OpenSsl\lib\netstandard1.6\System.Security.Cryptography.OpenSsl.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.Primitives"> + <HintPath>..\..\..\..\packages\System.Security.Cryptography.Primitives\lib\net46\System.Security.Cryptography.Primitives.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.Primitives"> + <HintPath>..\..\..\..\packages\System.Security.Cryptography.Primitives\lib\netstandard1.3\System.Security.Cryptography.Primitives.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.X509Certificates"> + <HintPath>..\..\..\..\packages\System.Security.Cryptography.X509Certificates\lib\net461\System.Security.Cryptography.X509Certificates.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.X509Certificates"> + <HintPath>..\..\..\..\packages\System.Security.Cryptography.X509Certificates\ref\netstandard1.4\System.Security.Cryptography.X509Certificates.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2')"> + <ItemGroup> + <Reference Include="System.Text.Encoding"> + <HintPath>..\..\..\..\packages\System.Text.Encoding\ref\netstandard1.0\System.Text.Encoding.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Text.Encoding"> + <HintPath>..\..\..\..\packages\System.Text.Encoding\ref\netstandard1.3\System.Text.Encoding.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Text.RegularExpressions"> + <HintPath>..\..\..\..\packages\System.Text.RegularExpressions\lib\net463\System.Text.RegularExpressions.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Text.RegularExpressions"> + <HintPath>..\..\..\..\packages\System.Text.RegularExpressions\lib\netstandard1.6\System.Text.RegularExpressions.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Threading"> + <HintPath>..\..\..\..\packages\System.Threading\lib\netstandard1.3\System.Threading.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="($(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.0') Or ($(TargetFrameworkIdentifier) == 'WindowsPhone' And $(TargetFrameworkVersion) == 'v8.1')"> + <ItemGroup> + <Reference Include="System.Threading.Tasks"> + <HintPath>..\..\..\..\packages\System.Threading.Tasks\ref\netstandard1.0\System.Threading.Tasks.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Threading.Tasks"> + <HintPath>..\..\..\..\packages\System.Threading.Tasks\ref\netstandard1.3\System.Threading.Tasks.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Threading.Tasks.Parallel"> + <HintPath>..\..\..\..\packages\System.Threading.Tasks.Parallel\lib\netstandard1.3\System.Threading.Tasks.Parallel.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Threading.Thread"> + <HintPath>..\..\..\..\packages\System.Threading.Thread\lib\netstandard1.3\System.Threading.Thread.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Threading.ThreadPool"> + <HintPath>..\..\..\..\packages\System.Threading.ThreadPool\lib\netstandard1.3\System.Threading.ThreadPool.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="($(TargetFrameworkIdentifier) == 'WindowsPhoneApp') Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2' Or $(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5')) Or ($(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.5' Or $(TargetFrameworkVersion) == 'v4.5.1' Or $(TargetFrameworkVersion) == 'v4.5.2' Or $(TargetFrameworkVersion) == 'v4.5.3' Or $(TargetFrameworkVersion) == 'v4.6' Or $(TargetFrameworkVersion) == 'v4.6.1' Or $(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3')) Or ($(TargetFrameworkIdentifier) == 'WindowsPhone' And ($(TargetFrameworkVersion) == 'v8.0' Or $(TargetFrameworkVersion) == 'v8.1'))"> + <ItemGroup> + <Reference Include="System.ValueTuple"> + <HintPath>..\..\..\..\packages\System.ValueTuple\lib\netstandard1.0\System.ValueTuple.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.0'"> + <ItemGroup> + <Reference Include="System.ValueTuple"> + <HintPath>..\..\..\..\packages\System.ValueTuple\lib\portable-net40+sl4+win8+wp8\System.ValueTuple.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> </Project> \ No newline at end of file diff --git a/tests/FSharp.MetadataFormat.Tests/files/FsLib/FsLib1.paket.references b/tests/FSharp.MetadataFormat.Tests/files/crefLib/crefLib1.fsproj.paket.references similarity index 100% rename from tests/FSharp.MetadataFormat.Tests/files/FsLib/FsLib1.paket.references rename to tests/FSharp.MetadataFormat.Tests/files/crefLib/crefLib1.fsproj.paket.references diff --git a/tests/FSharp.MetadataFormat.Tests/files/crefLib/crefLib1.paket.references b/tests/FSharp.MetadataFormat.Tests/files/crefLib/crefLib1.paket.references deleted file mode 100644 index 640cf9145..000000000 --- a/tests/FSharp.MetadataFormat.Tests/files/crefLib/crefLib1.paket.references +++ /dev/null @@ -1 +0,0 @@ -FSharp.Core \ No newline at end of file diff --git a/tests/FSharp.MetadataFormat.Tests/files/crefLib/crefLib2.fsproj b/tests/FSharp.MetadataFormat.Tests/files/crefLib/crefLib2.fsproj index ee4ba481c..e1b9af324 100644 --- a/tests/FSharp.MetadataFormat.Tests/files/crefLib/crefLib2.fsproj +++ b/tests/FSharp.MetadataFormat.Tests/files/crefLib/crefLib2.fsproj @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> +<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" /> <PropertyGroup> <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> @@ -9,8 +9,8 @@ <OutputType>Library</OutputType> <RootNamespace>crefLib2</RootNamespace> <AssemblyName>crefLib2</AssemblyName> - <TargetFrameworkVersion>v4.5</TargetFrameworkVersion> - <TargetFSharpCoreVersion>4.4.0.0</TargetFSharpCoreVersion> + <TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion> + <DocumentationFile>$(SolutionDir)\tests\bin\crefLib2.xml</DocumentationFile> <Name>crefLib2</Name> <TargetFrameworkProfile /> </PropertyGroup> @@ -19,41 +19,28 @@ <DebugType>full</DebugType> <Optimize>false</Optimize> <Tailcalls>false</Tailcalls> - <OutputPath>bin\Debug\</OutputPath> + <OutputPath>$(SolutionDir)\tests\bin</OutputPath> <DefineConstants>DEBUG;TRACE</DefineConstants> <WarningLevel>3</WarningLevel> - <DocumentationFile>bin\Debug\crefLib2.XML</DocumentationFile> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> <DebugType>pdbonly</DebugType> <Optimize>true</Optimize> <Tailcalls>true</Tailcalls> - <OutputPath>bin\Release\</OutputPath> + <OutputPath>$(SolutionDir)\tests\bin</OutputPath> <DefineConstants>TRACE</DefineConstants> <WarningLevel>3</WarningLevel> - <DocumentationFile>bin\Release\crefLib2.XML</DocumentationFile> </PropertyGroup> - <ItemGroup> - <Reference Include="mscorlib" /> - <Reference Include="System" /> - <Reference Include="System.Core" /> - <Reference Include="System.Numerics" /> - </ItemGroup> - <ItemGroup> - <Compile Include="Library2.fs" /> - </ItemGroup> - <ItemGroup> - <ProjectReference Include="crefLib1.fsproj"> - <Name>crefLib1</Name> - <Project>{a0c8dd00-bd08-48d6-b257-5a838e5da819}</Project> - <Private>True</Private> - </ProjectReference> - </ItemGroup> <PropertyGroup> <VisualStudioVersion Condition=" '$(VisualStudioVersion)' == '' ">14.0</VisualStudioVersion> <MinimumVisualStudioVersion Condition="'$(MinimumVisualStudioVersion)' == ''">11</MinimumVisualStudioVersion> </PropertyGroup> <Choose> + <When Condition="Exists('$(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\4.1\Framework\v4.0\Microsoft.FSharp.Targets')"> + <PropertyGroup> + <FSharpTargetsPath>$(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\4.1\Framework\v4.0\Microsoft.FSharp.Targets</FSharpTargetsPath> + </PropertyGroup> + </When> <When Condition="'$(VisualStudioVersion)' != '11.0' and Exists('$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\FSharp\Microsoft.FSharp.Targets')"> <PropertyGroup> <FSharpTargetsPath>$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\FSharp\Microsoft.FSharp.Targets</FSharpTargetsPath> @@ -76,6 +63,21 @@ </When> </Choose> <Import Project="$(FSharpTargetsPath)" Condition="Exists('$(FSharpTargetsPath)')" /> + <ItemGroup> + <None Include="crefLib2.fsproj.paket.references" /> + <Compile Include="Library2.fs" /> + </ItemGroup> + <ItemGroup> + <Reference Include="mscorlib" /> + <Reference Include="System" /> + <Reference Include="System.Core" /> + <Reference Include="System.Numerics" /> + <ProjectReference Include="crefLib1.fsproj"> + <Name>crefLib1</Name> + <Project>{a0c8dd00-bd08-48d6-b257-5a838e5da819}</Project> + <Private>True</Private> + </ProjectReference> + </ItemGroup> <!-- To modify your build process, add your task inside one of the targets below and uncomment it. Other similar extension points exist, see Microsoft.Common.targets. <Target Name="BeforeBuild"> @@ -83,4 +85,968 @@ <Target Name="AfterBuild"> </Target> --> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v2.0' Or $(TargetFrameworkVersion) == 'v3.0' Or $(TargetFrameworkVersion) == 'v3.5')"> + <ItemGroup> + <Reference Include="FSharp.Core"> + <HintPath>..\..\..\..\packages\FSharp.Core\lib\net20\FSharp.Core.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.0'"> + <ItemGroup> + <Reference Include="FSharp.Core"> + <HintPath>..\..\..\..\packages\FSharp.Core\lib\net40\FSharp.Core.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.5' Or $(TargetFrameworkVersion) == 'v4.5.1' Or $(TargetFrameworkVersion) == 'v4.5.2' Or $(TargetFrameworkVersion) == 'v4.5.3' Or $(TargetFrameworkVersion) == 'v4.6' Or $(TargetFrameworkVersion) == 'v4.6.1' Or $(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3')"> + <ItemGroup> + <Reference Include="FSharp.Core"> + <HintPath>..\..\..\..\packages\FSharp.Core\lib\net45\FSharp.Core.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="($(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6') Or ($(TargetFrameworkIdentifier) == '.NETCoreApp' And $(TargetFrameworkVersion) == 'v1.0')"> + <ItemGroup> + <Reference Include="FSharp.Core"> + <HintPath>..\..\..\..\packages\FSharp.Core\lib\netstandard1.6\FSharp.Core.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="($(TargetFrameworkIdentifier) == 'MonoAndroid') Or ($(TargetFrameworkIdentifier) == 'MonoTouch') Or ($(TargetFrameworkIdentifier) == 'Xamarin.iOS')"> + <ItemGroup> + <Reference Include="FSharp.Core"> + <HintPath>..\..\..\..\packages\FSharp.Core\lib\portable-net45+monoandroid10+monotouch10+xamarinios10\FSharp.Core.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="($(TargetFrameworkIdentifier) == '.NETCore') Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2' Or $(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5')) Or ($(TargetFrameworkIdentifier) == 'Xamarin.Mac') Or ($(TargetFrameworkProfile) == 'Profile7') Or ($(TargetFrameworkProfile) == 'Profile44')"> + <ItemGroup> + <Reference Include="FSharp.Core"> + <HintPath>..\..\..\..\packages\FSharp.Core\lib\portable-net45+netcore45\FSharp.Core.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="($(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.0') Or ($(TargetFrameworkIdentifier) == 'WindowsPhone' And ($(TargetFrameworkVersion) == 'v8.0' Or $(TargetFrameworkVersion) == 'v8.1')) Or ($(TargetFrameworkProfile) == 'Profile31') Or ($(TargetFrameworkProfile) == 'Profile49') Or ($(TargetFrameworkProfile) == 'Profile78')"> + <ItemGroup> + <Reference Include="FSharp.Core"> + <HintPath>..\..\..\..\packages\FSharp.Core\lib\portable-net45+netcore45+wp8\FSharp.Core.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="($(TargetFrameworkIdentifier) == 'WindowsPhoneApp') Or ($(TargetFrameworkProfile) == 'Profile32') Or ($(TargetFrameworkProfile) == 'Profile84') Or ($(TargetFrameworkProfile) == 'Profile111') Or ($(TargetFrameworkProfile) == 'Profile151') Or ($(TargetFrameworkProfile) == 'Profile157') Or ($(TargetFrameworkProfile) == 'Profile259')"> + <ItemGroup> + <Reference Include="FSharp.Core"> + <HintPath>..\..\..\..\packages\FSharp.Core\lib\portable-net45+netcore45+wpa81+wp8\FSharp.Core.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="($(TargetFrameworkIdentifier) == 'Silverlight' And $(TargetFrameworkVersion) == 'v5.0') Or ($(TargetFrameworkProfile) == 'Profile24') Or ($(TargetFrameworkProfile) == 'Profile47')"> + <ItemGroup> + <Reference Include="FSharp.Core"> + <HintPath>..\..\..\..\packages\FSharp.Core\lib\portable-net45+sl5+netcore45\FSharp.Core.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2')"> + <ItemGroup> + <Reference Include="System.Collections"> + <HintPath>..\..\..\..\packages\System.Collections\ref\netstandard1.0\System.Collections.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Collections"> + <HintPath>..\..\..\..\packages\System.Collections\ref\netstandard1.3\System.Collections.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Collections.Concurrent"> + <HintPath>..\..\..\..\packages\System.Collections.Concurrent\lib\netstandard1.3\System.Collections.Concurrent.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Console"> + <HintPath>..\..\..\..\packages\System.Console\lib\net46\System.Console.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Console"> + <HintPath>..\..\..\..\packages\System.Console\ref\netstandard1.3\System.Console.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2')"> + <ItemGroup> + <Reference Include="System.Diagnostics.Debug"> + <HintPath>..\..\..\..\packages\System.Diagnostics.Debug\ref\netstandard1.0\System.Diagnostics.Debug.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Diagnostics.Debug"> + <HintPath>..\..\..\..\packages\System.Diagnostics.Debug\ref\netstandard1.3\System.Diagnostics.Debug.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Diagnostics.DiagnosticSource"> + <HintPath>..\..\..\..\packages\System.Diagnostics.DiagnosticSource\lib\net46\System.Diagnostics.DiagnosticSource.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Diagnostics.DiagnosticSource"> + <HintPath>..\..\..\..\packages\System.Diagnostics.DiagnosticSource\lib\netstandard1.3\System.Diagnostics.DiagnosticSource.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3')"> + <ItemGroup> + <Reference Include="System.Diagnostics.Tracing"> + <HintPath>..\..\..\..\packages\System.Diagnostics.Tracing\lib\net462\System.Diagnostics.Tracing.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4')"> + <ItemGroup> + <Reference Include="System.Diagnostics.Tracing"> + <HintPath>..\..\..\..\packages\System.Diagnostics.Tracing\ref\netstandard1.3\System.Diagnostics.Tracing.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Diagnostics.Tracing"> + <HintPath>..\..\..\..\packages\System.Diagnostics.Tracing\ref\netstandard1.5\System.Diagnostics.Tracing.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2')"> + <ItemGroup> + <Reference Include="System.Globalization"> + <HintPath>..\..\..\..\packages\System.Globalization\ref\netstandard1.0\System.Globalization.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Globalization"> + <HintPath>..\..\..\..\packages\System.Globalization\ref\netstandard1.3\System.Globalization.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Globalization.Calendars"> + <HintPath>..\..\..\..\packages\System.Globalization.Calendars\lib\net46\System.Globalization.Calendars.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Globalization.Calendars"> + <HintPath>..\..\..\..\packages\System.Globalization.Calendars\ref\netstandard1.3\System.Globalization.Calendars.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Globalization.Extensions"> + <HintPath>..\..\..\..\packages\System.Globalization.Extensions\lib\net46\System.Globalization.Extensions.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Globalization.Extensions"> + <HintPath>..\..\..\..\packages\System.Globalization.Extensions\ref\netstandard1.3\System.Globalization.Extensions.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3')"> + <ItemGroup> + <Reference Include="System.IO"> + <HintPath>..\..\..\..\packages\System.IO\lib\net462\System.IO.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2')"> + <ItemGroup> + <Reference Include="System.IO"> + <HintPath>..\..\..\..\packages\System.IO\ref\netstandard1.0\System.IO.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4')"> + <ItemGroup> + <Reference Include="System.IO"> + <HintPath>..\..\..\..\packages\System.IO\ref\netstandard1.3\System.IO.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.IO"> + <HintPath>..\..\..\..\packages\System.IO\ref\netstandard1.5\System.IO.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.IO.FileSystem"> + <HintPath>..\..\..\..\packages\System.IO.FileSystem\lib\net46\System.IO.FileSystem.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.IO.FileSystem"> + <HintPath>..\..\..\..\packages\System.IO.FileSystem\ref\netstandard1.3\System.IO.FileSystem.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.IO.FileSystem.Primitives"> + <HintPath>..\..\..\..\packages\System.IO.FileSystem.Primitives\lib\net46\System.IO.FileSystem.Primitives.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.IO.FileSystem.Primitives"> + <HintPath>..\..\..\..\packages\System.IO.FileSystem.Primitives\lib\netstandard1.3\System.IO.FileSystem.Primitives.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Linq"> + <HintPath>..\..\..\..\packages\System.Linq\lib\net463\System.Linq.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Linq"> + <HintPath>..\..\..\..\packages\System.Linq\lib\netstandard1.6\System.Linq.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Linq.Expressions"> + <HintPath>..\..\..\..\packages\System.Linq.Expressions\lib\net463\System.Linq.Expressions.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Linq.Expressions"> + <HintPath>..\..\..\..\packages\System.Linq.Expressions\lib\netstandard1.6\System.Linq.Expressions.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Linq.Queryable"> + <HintPath>..\..\..\..\packages\System.Linq.Queryable\lib\netstandard1.3\System.Linq.Queryable.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Net.Http"> + <HintPath>..\..\..\..\packages\System.Net.Http\lib\net46\System.Net.Http.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Net.Http"> + <HintPath>..\..\..\..\packages\System.Net.Http\ref\netstandard1.3\System.Net.Http.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Net.Requests"> + <HintPath>..\..\..\..\packages\System.Net.Requests\ref\netstandard1.3\System.Net.Requests.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Net.WebHeaderCollection"> + <HintPath>..\..\..\..\packages\System.Net.WebHeaderCollection\lib\netstandard1.3\System.Net.WebHeaderCollection.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.ObjectModel"> + <HintPath>..\..\..\..\packages\System.ObjectModel\lib\netstandard1.3\System.ObjectModel.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3')"> + <ItemGroup> + <Reference Include="System.Reflection"> + <HintPath>..\..\..\..\packages\System.Reflection\lib\net462\System.Reflection.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2')"> + <ItemGroup> + <Reference Include="System.Reflection"> + <HintPath>..\..\..\..\packages\System.Reflection\ref\netstandard1.0\System.Reflection.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4')"> + <ItemGroup> + <Reference Include="System.Reflection"> + <HintPath>..\..\..\..\packages\System.Reflection\ref\netstandard1.3\System.Reflection.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Reflection"> + <HintPath>..\..\..\..\packages\System.Reflection\ref\netstandard1.5\System.Reflection.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Reflection.Emit"> + <HintPath>..\..\..\..\packages\System.Reflection.Emit\lib\netstandard1.3\System.Reflection.Emit.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Reflection.Emit.ILGeneration"> + <HintPath>..\..\..\..\packages\System.Reflection.Emit.ILGeneration\lib\netstandard1.3\System.Reflection.Emit.ILGeneration.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Reflection.Emit.Lightweight"> + <HintPath>..\..\..\..\packages\System.Reflection.Emit.Lightweight\lib\netstandard1.3\System.Reflection.Emit.Lightweight.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Reflection.TypeExtensions"> + <HintPath>..\..\..\..\packages\System.Reflection.TypeExtensions\lib\net462\System.Reflection.TypeExtensions.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Reflection.TypeExtensions"> + <HintPath>..\..\..\..\packages\System.Reflection.TypeExtensions\lib\netstandard1.5\System.Reflection.TypeExtensions.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.5' Or $(TargetFrameworkVersion) == 'v4.5.1' Or $(TargetFrameworkVersion) == 'v4.5.2' Or $(TargetFrameworkVersion) == 'v4.5.3' Or $(TargetFrameworkVersion) == 'v4.6' Or $(TargetFrameworkVersion) == 'v4.6.1')"> + <ItemGroup> + <Reference Include="System.ComponentModel.Composition"> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3')"> + <ItemGroup> + <Reference Include="System.ComponentModel.Composition"> + <Paket>True</Paket> + </Reference> + <Reference Include="System.Runtime"> + <HintPath>..\..\..\..\packages\System.Runtime\lib\net462\System.Runtime.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1')"> + <ItemGroup> + <Reference Include="System.Runtime"> + <HintPath>..\..\..\..\packages\System.Runtime\ref\netstandard1.0\System.Runtime.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.2'"> + <ItemGroup> + <Reference Include="System.Runtime"> + <HintPath>..\..\..\..\packages\System.Runtime\ref\netstandard1.2\System.Runtime.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4')"> + <ItemGroup> + <Reference Include="System.Runtime"> + <HintPath>..\..\..\..\packages\System.Runtime\ref\netstandard1.3\System.Runtime.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Runtime"> + <HintPath>..\..\..\..\packages\System.Runtime\ref\netstandard1.5\System.Runtime.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3')"> + <ItemGroup> + <Reference Include="System.Runtime.Extensions"> + <HintPath>..\..\..\..\packages\System.Runtime.Extensions\lib\net462\System.Runtime.Extensions.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2')"> + <ItemGroup> + <Reference Include="System.Runtime.Extensions"> + <HintPath>..\..\..\..\packages\System.Runtime.Extensions\ref\netstandard1.0\System.Runtime.Extensions.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4')"> + <ItemGroup> + <Reference Include="System.Runtime.Extensions"> + <HintPath>..\..\..\..\packages\System.Runtime.Extensions\ref\netstandard1.3\System.Runtime.Extensions.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Runtime.Extensions"> + <HintPath>..\..\..\..\packages\System.Runtime.Extensions\ref\netstandard1.5\System.Runtime.Extensions.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Runtime.Handles"> + <HintPath>..\..\..\..\packages\System.Runtime.Handles\ref\netstandard1.3\System.Runtime.Handles.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.2'"> + <ItemGroup> + <Reference Include="System.Runtime.InteropServices"> + <HintPath>..\..\..\..\packages\System.Runtime.InteropServices\lib\net462\System.Runtime.InteropServices.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Runtime.InteropServices"> + <HintPath>..\..\..\..\packages\System.Runtime.InteropServices\lib\net463\System.Runtime.InteropServices.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.1'"> + <ItemGroup> + <Reference Include="System.Runtime.InteropServices"> + <HintPath>..\..\..\..\packages\System.Runtime.InteropServices\ref\netstandard1.1\System.Runtime.InteropServices.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.2'"> + <ItemGroup> + <Reference Include="System.Runtime.InteropServices"> + <HintPath>..\..\..\..\packages\System.Runtime.InteropServices\ref\netstandard1.2\System.Runtime.InteropServices.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4')"> + <ItemGroup> + <Reference Include="System.Runtime.InteropServices"> + <HintPath>..\..\..\..\packages\System.Runtime.InteropServices\ref\netstandard1.3\System.Runtime.InteropServices.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Runtime.InteropServices"> + <HintPath>..\..\..\..\packages\System.Runtime.InteropServices\ref\netstandard1.5\System.Runtime.InteropServices.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Runtime.Numerics"> + <HintPath>..\..\..\..\packages\System.Runtime.Numerics\lib\netstandard1.3\System.Runtime.Numerics.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.Algorithms"> + <HintPath>..\..\..\..\packages\System.Security.Cryptography.Algorithms\lib\net463\System.Security.Cryptography.Algorithms.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.Algorithms"> + <HintPath>..\..\..\..\packages\System.Security.Cryptography.Algorithms\ref\netstandard1.6\System.Security.Cryptography.Algorithms.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.Cng"> + <HintPath>..\..\..\..\packages\System.Security.Cryptography.Cng\lib\net463\System.Security.Cryptography.Cng.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.Cng"> + <HintPath>..\..\..\..\packages\System.Security.Cryptography.Cng\ref\netstandard1.6\System.Security.Cryptography.Cng.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.Csp"> + <HintPath>..\..\..\..\packages\System.Security.Cryptography.Csp\lib\net46\System.Security.Cryptography.Csp.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.Csp"> + <HintPath>..\..\..\..\packages\System.Security.Cryptography.Csp\ref\netstandard1.3\System.Security.Cryptography.Csp.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.Encoding"> + <HintPath>..\..\..\..\packages\System.Security.Cryptography.Encoding\lib\net46\System.Security.Cryptography.Encoding.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.Encoding"> + <HintPath>..\..\..\..\packages\System.Security.Cryptography.Encoding\ref\netstandard1.3\System.Security.Cryptography.Encoding.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="($(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6') Or ($(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3')"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.OpenSsl"> + <HintPath>..\..\..\..\packages\System.Security.Cryptography.OpenSsl\lib\netstandard1.6\System.Security.Cryptography.OpenSsl.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.Primitives"> + <HintPath>..\..\..\..\packages\System.Security.Cryptography.Primitives\lib\net46\System.Security.Cryptography.Primitives.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.Primitives"> + <HintPath>..\..\..\..\packages\System.Security.Cryptography.Primitives\lib\netstandard1.3\System.Security.Cryptography.Primitives.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.X509Certificates"> + <HintPath>..\..\..\..\packages\System.Security.Cryptography.X509Certificates\lib\net461\System.Security.Cryptography.X509Certificates.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Security.Cryptography.X509Certificates"> + <HintPath>..\..\..\..\packages\System.Security.Cryptography.X509Certificates\ref\netstandard1.4\System.Security.Cryptography.X509Certificates.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2')"> + <ItemGroup> + <Reference Include="System.Text.Encoding"> + <HintPath>..\..\..\..\packages\System.Text.Encoding\ref\netstandard1.0\System.Text.Encoding.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Text.Encoding"> + <HintPath>..\..\..\..\packages\System.Text.Encoding\ref\netstandard1.3\System.Text.Encoding.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.3'"> + <ItemGroup> + <Reference Include="System.Text.RegularExpressions"> + <HintPath>..\..\..\..\packages\System.Text.RegularExpressions\lib\net463\System.Text.RegularExpressions.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Text.RegularExpressions"> + <HintPath>..\..\..\..\packages\System.Text.RegularExpressions\lib\netstandard1.6\System.Text.RegularExpressions.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Threading"> + <HintPath>..\..\..\..\packages\System.Threading\lib\netstandard1.3\System.Threading.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="($(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.0') Or ($(TargetFrameworkIdentifier) == 'WindowsPhone' And $(TargetFrameworkVersion) == 'v8.1')"> + <ItemGroup> + <Reference Include="System.Threading.Tasks"> + <HintPath>..\..\..\..\packages\System.Threading.Tasks\ref\netstandard1.0\System.Threading.Tasks.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')"> + <ItemGroup> + <Reference Include="System.Threading.Tasks"> + <HintPath>..\..\..\..\packages\System.Threading.Tasks\ref\netstandard1.3\System.Threading.Tasks.dll</HintPath> + <Private>False</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Threading.Tasks.Parallel"> + <HintPath>..\..\..\..\packages\System.Threading.Tasks.Parallel\lib\netstandard1.3\System.Threading.Tasks.Parallel.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Threading.Thread"> + <HintPath>..\..\..\..\packages\System.Threading.Thread\lib\netstandard1.3\System.Threading.Thread.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'"> + <ItemGroup> + <Reference Include="System.Threading.ThreadPool"> + <HintPath>..\..\..\..\packages\System.Threading.ThreadPool\lib\netstandard1.3\System.Threading.ThreadPool.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> + <Choose> + <When Condition="($(TargetFrameworkIdentifier) == 'WindowsPhoneApp') Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2' Or $(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5')) Or ($(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.5' Or $(TargetFrameworkVersion) == 'v4.5.1' Or $(TargetFrameworkVersion) == 'v4.5.2' Or $(TargetFrameworkVersion) == 'v4.5.3' Or $(TargetFrameworkVersion) == 'v4.6' Or $(TargetFrameworkVersion) == 'v4.6.1' Or $(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3')) Or ($(TargetFrameworkIdentifier) == 'WindowsPhone' And ($(TargetFrameworkVersion) == 'v8.0' Or $(TargetFrameworkVersion) == 'v8.1'))"> + <ItemGroup> + <Reference Include="System.ValueTuple"> + <HintPath>..\..\..\..\packages\System.ValueTuple\lib\netstandard1.0\System.ValueTuple.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.0'"> + <ItemGroup> + <Reference Include="System.ValueTuple"> + <HintPath>..\..\..\..\packages\System.ValueTuple\lib\portable-net40+sl4+win8+wp8\System.ValueTuple.dll</HintPath> + <Private>True</Private> + <Paket>True</Paket> + </Reference> + </ItemGroup> + </When> + </Choose> </Project> \ No newline at end of file diff --git a/tests/FSharp.MetadataFormat.Tests/files/FsLib/FsLib2.paket.references b/tests/FSharp.MetadataFormat.Tests/files/crefLib/crefLib2.fsproj.paket.references similarity index 100% rename from tests/FSharp.MetadataFormat.Tests/files/FsLib/FsLib2.paket.references rename to tests/FSharp.MetadataFormat.Tests/files/crefLib/crefLib2.fsproj.paket.references diff --git a/tests/FSharp.MetadataFormat.Tests/files/crefLib/crefLib2.paket.references b/tests/FSharp.MetadataFormat.Tests/files/crefLib/crefLib2.paket.references deleted file mode 100644 index 640cf9145..000000000 --- a/tests/FSharp.MetadataFormat.Tests/files/crefLib/crefLib2.paket.references +++ /dev/null @@ -1 +0,0 @@ -FSharp.Core \ No newline at end of file diff --git a/tests/FSharp.MetadataFormat.Tests/files/crefLib/crefLib3.csproj b/tests/FSharp.MetadataFormat.Tests/files/crefLib/crefLib3.csproj index 0b3865235..9a1974b3e 100644 --- a/tests/FSharp.MetadataFormat.Tests/files/crefLib/crefLib3.csproj +++ b/tests/FSharp.MetadataFormat.Tests/files/crefLib/crefLib3.csproj @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> +<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" /> <PropertyGroup> <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> @@ -9,7 +9,8 @@ <AppDesignerFolder>Properties</AppDesignerFolder> <RootNamespace>crefLib3</RootNamespace> <AssemblyName>crefLib3</AssemblyName> - <TargetFrameworkVersion>v4.5</TargetFrameworkVersion> + <TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion> + <DocumentationFile>$(SolutionDir)\tests\bin\crefLib3.xml</DocumentationFile> <FileAlignment>512</FileAlignment> <TargetFrameworkProfile /> </PropertyGroup> @@ -17,17 +18,16 @@ <DebugSymbols>true</DebugSymbols> <DebugType>full</DebugType> <Optimize>false</Optimize> - <OutputPath>bin\Debug\</OutputPath> + <OutputPath>$(SolutionDir)\tests\bin</OutputPath> <DefineConstants>DEBUG;TRACE</DefineConstants> <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> - <DocumentationFile>bin\Debug\crefLib3.XML</DocumentationFile> <Prefer32Bit>false</Prefer32Bit> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> <DebugType>pdbonly</DebugType> <Optimize>true</Optimize> - <OutputPath>bin\Release\</OutputPath> + <OutputPath>$(SolutionDir)\tests\bin</OutputPath> <DefineConstants>TRACE</DefineConstants> <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> diff --git a/tests/FSharp.MetadataFormat.Tests/files/crefLib/crefLib4.csproj b/tests/FSharp.MetadataFormat.Tests/files/crefLib/crefLib4.csproj index 219c4121c..af5543221 100644 --- a/tests/FSharp.MetadataFormat.Tests/files/crefLib/crefLib4.csproj +++ b/tests/FSharp.MetadataFormat.Tests/files/crefLib/crefLib4.csproj @@ -1,16 +1,17 @@ <?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> +<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" /> <PropertyGroup> <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> - <BuildInParallel Condition="'$(BuildInParallel)' == '' ">false</BuildInParallel> + <BuildInParallel Condition="'$(BuildInParallel)' == '' ">false</BuildInParallel> <ProjectGuid>{98624699-1B2F-4636-A3F7-EC72343CB2FD}</ProjectGuid> <OutputType>Library</OutputType> <AppDesignerFolder>Properties</AppDesignerFolder> <RootNamespace>crefLib4</RootNamespace> <AssemblyName>crefLib4</AssemblyName> - <TargetFrameworkVersion>v4.5</TargetFrameworkVersion> + <TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion> + <DocumentationFile>$(SolutionDir)\tests\bin\crefLib4.xml</DocumentationFile> <FileAlignment>512</FileAlignment> <TargetFrameworkProfile /> </PropertyGroup> @@ -18,17 +19,16 @@ <DebugSymbols>true</DebugSymbols> <DebugType>full</DebugType> <Optimize>false</Optimize> - <OutputPath>bin\Debug\</OutputPath> + <OutputPath>$(SolutionDir)\tests\bin</OutputPath> <DefineConstants>DEBUG;TRACE</DefineConstants> <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> - <DocumentationFile>bin\Debug\crefLib4.XML</DocumentationFile> <Prefer32Bit>false</Prefer32Bit> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> <DebugType>pdbonly</DebugType> <Optimize>true</Optimize> - <OutputPath>bin\Release\</OutputPath> + <OutputPath>$(SolutionDir)\tests\bin</OutputPath> <DefineConstants>TRACE</DefineConstants> <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> diff --git a/tests/FSharp.MetadataFormat.Tests/files/csharpSupport/csharpSupport.csproj b/tests/FSharp.MetadataFormat.Tests/files/csharpSupport/csharpSupport.csproj index bcc196310..6ffefd483 100644 --- a/tests/FSharp.MetadataFormat.Tests/files/csharpSupport/csharpSupport.csproj +++ b/tests/FSharp.MetadataFormat.Tests/files/csharpSupport/csharpSupport.csproj @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> +<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" /> <PropertyGroup> <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> @@ -9,7 +9,7 @@ <AppDesignerFolder>Properties</AppDesignerFolder> <RootNamespace>csharpSupport</RootNamespace> <AssemblyName>csharpSupport</AssemblyName> - <TargetFrameworkVersion>v4.5</TargetFrameworkVersion> + <TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion> <FileAlignment>512</FileAlignment> <TargetFrameworkProfile /> </PropertyGroup> @@ -17,17 +17,18 @@ <DebugSymbols>true</DebugSymbols> <DebugType>full</DebugType> <Optimize>false</Optimize> - <OutputPath>bin\Debug\</OutputPath> + <OutputPath>$(SolutionDir)\tests\bin</OutputPath> <DefineConstants>DEBUG;TRACE</DefineConstants> <ErrorReport>prompt</ErrorReport> <WarningLevel>0</WarningLevel> - <DocumentationFile>bin\Debug\csharpSupport.xml</DocumentationFile> + <DocumentationFile>$(SolutionDir)\tests\bin\csharpSupport.xml</DocumentationFile> <Prefer32Bit>false</Prefer32Bit> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> <DebugType>pdbonly</DebugType> <Optimize>true</Optimize> - <OutputPath>bin\Release\</OutputPath> + <OutputPath>$(SolutionDir)\tests\bin</OutputPath> + <DocumentationFile>$(SolutionDir)\tests\bin\csharpSupport.xml</DocumentationFile> <DefineConstants>TRACE</DefineConstants> <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> diff --git a/tests/FSharp.MetadataFormat.Tests/paket.references b/tests/FSharp.MetadataFormat.Tests/paket.references index 56c21b9b8..0194ee24f 100644 --- a/tests/FSharp.MetadataFormat.Tests/paket.references +++ b/tests/FSharp.MetadataFormat.Tests/paket.references @@ -1,4 +1,4 @@ -FSharp.Core +FSharp.Core redirects: force FSharp.Compiler.Service Microsoft.AspNet.Razor RazorEngine