From 59e00019ab277ee6826fd014d18edfbf68abddf1 Mon Sep 17 00:00:00 2001
From: Ravi Chande <rchande@microsoft.com>
Date: Wed, 3 Apr 2019 12:22:26 -0700
Subject: [PATCH 01/27] Use mono 5.18

---
 build.json           | 12 ++++++------
 build/Packages.props |  2 +-
 2 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/build.json b/build.json
index dad2be3fdc..2eeac4d5a7 100644
--- a/build.json
+++ b/build.json
@@ -7,12 +7,12 @@
   ],
   "LegacyDotNetVersion": "1.0.0-preview2-1-003177",
   "RequiredMonoVersion": "5.8.0.0",
-  "DownloadURL": "https://omnisharpdownload.blob.core.windows.net/ext",
-  "MonoRuntimeMacOS": "mono.macOS-5.12.0.301.zip",
-  "MonoRuntimeLinux32": "mono.linux-x86-5.12.0.301.zip",
-  "MonoRuntimeLinux64": "mono.linux-x86_64-5.12.0.301.zip",
-  "MonoMSBuildRuntime": "Microsoft.Build.Runtime.Mono-5.12.0.301.zip",
-  "MonoMSBuildLib": "Microsoft.Build.Lib.Mono-5.12.0.301.zip",
+  "DownloadURL": "https://roslynomnisharp.blob.core.windows.net/ext",
+  "MonoRuntimeMacOS": "mono.macOS-5.18.1.0.zip",
+  "MonoRuntimeLinux32": "mono.linux-x86-5.18.1.0.zip",
+  "MonoRuntimeLinux64": "mono.linux-x86_64-5.18.1.0.zip",
+  "MonoMSBuildRuntime": "Microsoft.Build.Runtime.Mono-5.18.1.0.zip",
+  "MonoMSBuildLib": "Microsoft.Build.Lib.Mono-5.18.1.0.zip",
   "HostProjects": [
     "OmniSharp.Stdio.Driver",
     "OmniSharp.Http.Driver"
diff --git a/build/Packages.props b/build/Packages.props
index 1af3f5b2e8..26d026a095 100644
--- a/build/Packages.props
+++ b/build/Packages.props
@@ -2,7 +2,7 @@
 <Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
 
   <PropertyGroup>
-    <MSBuildPackageVersion>15.8.166</MSBuildPackageVersion>
+    <MSBuildPackageVersion>15.9.20</MSBuildPackageVersion>
     <NuGetPackageVersion>4.8.0</NuGetPackageVersion>
     <RoslynPackageVersion>3.0.0-beta4-19126-05</RoslynPackageVersion>
     <XunitPackageVersion>2.4.0</XunitPackageVersion>

From f6d6c2ef4cedba4c069ed4448ce84d470241c1f9 Mon Sep 17 00:00:00 2001
From: Ravi Chande <rchande@microsoft.com>
Date: Wed, 3 Apr 2019 12:39:18 -0700
Subject: [PATCH 02/27] xenial?

---
 .travis.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.travis.yml b/.travis.yml
index b2226f2234..c3afee50b9 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,6 +1,6 @@
 language: csharp
 sudo: required
-dist: trusty
+dist: xenial
 env:
   global:
   - secure: m2PtYwYOhaK0uFMZ19ZxApZwWZeAIq1dS//jx/5I3txpIWD+TfycQMAWYxycFJ/GJkeVF29P4Zz1uyS2XKKjPJpp2Pds98FNQyDv3OftpLAVa0drsjfhurVlBmSdrV7GH6ncKfvhd+h7KVK5vbZc+NeR4dH7eNvN/jraS//AMJg=

From 286d06374fcd9b923d3cd7028d2e90fa23f142d4 Mon Sep 17 00:00:00 2001
From: Ravi Chande <rchande@microsoft.com>
Date: Wed, 3 Apr 2019 14:05:14 -0700
Subject: [PATCH 03/27] update mono in pipelines?

---
 azure-pipelines.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/azure-pipelines.yml b/azure-pipelines.yml
index b1a77325c2..dca9e5f7f0 100644
--- a/azure-pipelines.yml
+++ b/azure-pipelines.yml
@@ -31,7 +31,7 @@ jobs:
       vmImage: "macOS-10.13"
     dependsOn: GitVersion
     variables:
-      MONO_VERSION: 5.16.0
+      MONO_VERSION: 5.18.0
     steps:
       - template: ./.pipelines/init.yml
         parameters:

From 75116585234a167d55410e2e0191d94dc408597a Mon Sep 17 00:00:00 2001
From: Ravi Chande <rchande@microsoft.com>
Date: Wed, 3 Apr 2019 14:26:37 -0700
Subject: [PATCH 04/27] revert some changes?

---
 azure-pipelines.yml  | 2 +-
 build/Packages.props | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/azure-pipelines.yml b/azure-pipelines.yml
index dca9e5f7f0..b1a77325c2 100644
--- a/azure-pipelines.yml
+++ b/azure-pipelines.yml
@@ -31,7 +31,7 @@ jobs:
       vmImage: "macOS-10.13"
     dependsOn: GitVersion
     variables:
-      MONO_VERSION: 5.18.0
+      MONO_VERSION: 5.16.0
     steps:
       - template: ./.pipelines/init.yml
         parameters:
diff --git a/build/Packages.props b/build/Packages.props
index 26d026a095..1af3f5b2e8 100644
--- a/build/Packages.props
+++ b/build/Packages.props
@@ -2,7 +2,7 @@
 <Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
 
   <PropertyGroup>
-    <MSBuildPackageVersion>15.9.20</MSBuildPackageVersion>
+    <MSBuildPackageVersion>15.8.166</MSBuildPackageVersion>
     <NuGetPackageVersion>4.8.0</NuGetPackageVersion>
     <RoslynPackageVersion>3.0.0-beta4-19126-05</RoslynPackageVersion>
     <XunitPackageVersion>2.4.0</XunitPackageVersion>

From 054107ef621839f6418d4a192639a70f47f393b8 Mon Sep 17 00:00:00 2001
From: Ravi Chande <rchande@microsoft.com>
Date: Wed, 3 Apr 2019 14:57:14 -0700
Subject: [PATCH 05/27] copy btls lib

---
 mono-packaging/copy-mono.sh | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/mono-packaging/copy-mono.sh b/mono-packaging/copy-mono.sh
index ee64feed2c..70a0e54a21 100755
--- a/mono-packaging/copy-mono.sh
+++ b/mono-packaging/copy-mono.sh
@@ -170,6 +170,7 @@ _copy_runtime_assets() {
     local mono_lib_path=""
     local mono_etc_path=""
     local libMonoPosixHelper_name=""
+    local libMonoBtlsShared_name=""
 
     if [ "$os" = "$OS_MAC" ]; then
         mono_base_path=/Library/Frameworks/Mono.framework/Versions/Current
@@ -183,14 +184,17 @@ _copy_runtime_assets() {
         mono_lib_path=/usr/lib
         mono_etc_path=/etc/mono
         libMonoPosixHelper_name=libMonoPosixHelper.so
+        libMonoBtlsShared_name=libmono-btls-shared.so
     fi
 
     local mono_libMonoPosixHelper_path=$mono_lib_path/$libMonoPosixHelper_name
+    local mono_libMonoBtlsShared_path=$mono_lib_path/$libMonoBtlsShared_name
     local mono_config_path=$mono_etc_path/config
     local mono_machine_config_path=$mono_etc_path/4.5/machine.config
 
     _verify_file "$mono_runtime_path"
     _verify_file "$mono_libMonoPosixHelper_path"
+    _verify_file "$mono_libMonoBtlsShared_path"
     _verify_file "$mono_config_path"
     _verify_file "$mono_machine_config_path"
 
@@ -209,11 +213,13 @@ _copy_runtime_assets() {
 
     target_runtime_path=$target_bin_path/mono
     target_libMonoPosixHelper_path=$target_lib_path/$libMonoPosixHelper_name
+    target_libMonoBtlsShared_path=$target_lib_path/$libMonoBtlsShared_name
     target_config_path=$target_etc_path/config
     target_machine_config_path=$target_etc_path/mono/4.5/machine.config
 
     cp "$mono_runtime_path" "$target_runtime_path"
     cp "$mono_libMonoPosixHelper_path" "$target_libMonoPosixHelper_path"
+    cp "$mono_libMonoBtlsShared_path" "$target_libMonoBtlsShared_path"
     cp "$mono_config_path" "$target_config_path"
     cp "$mono_machine_config_path" "$target_machine_config_path"
 

From 4d58e8d8b8ebf1b8ef170c0d0476c2c0dd624815 Mon Sep 17 00:00:00 2001
From: Ravi Chande <rchande@microsoft.com>
Date: Wed, 3 Apr 2019 15:42:11 -0700
Subject: [PATCH 06/27] Copy sqlite files to msbuild

---
 build.cake | 24 +++++++++++++++++++++++-
 1 file changed, 23 insertions(+), 1 deletion(-)

diff --git a/build.cake b/build.cake
index 112160eae1..0545b1b2fe 100644
--- a/build.cake
+++ b/build.cake
@@ -658,9 +658,31 @@ void CopyMonoBuild(BuildEnvironment env, string sourceFolder, string outputFolde
 {
     DirectoryHelper.Copy(sourceFolder, outputFolder, copySubDirectories: false);
 
+    var outputFolder = CombinePaths(outputFolder, "msbuild")
+
     // Copy MSBuild runtime and libraries
-    DirectoryHelper.Copy($"{env.Folders.MSBuild}", CombinePaths(outputFolder, "msbuild"));
+    DirectoryHelper.Copy($"{env.Folders.MSBuild}", outputFolder);
+
+    // Copy dependencies of Mono build
+    FileHelper.Copy(
+        source: CombinePaths(env.Folders.Tools, "SQLitePCLRaw.core", "lib", "net45", "SQLitePCLRaw.core.dll"),
+        destination: CombinePaths(outputFolder, "SQLitePCLRaw.core.dll"),
+        overwrite: true);
+
+    FileHelper.Copy(
+        source: CombinePaths(env.Folders.Tools, "SQLitePCLRaw.provider.e_sqlite3.net45", "lib", "net45", "SQLitePCLRaw.provider.e_sqlite3.dll"),
+        destination: CombinePaths(outputFolder, "SQLitePCLRaw.provider.e_sqlite3.dll"),
+        overwrite: true);
 
+    FileHelper.Copy(
+        source: CombinePaths(env.Folders.Tools, "SQLitePCLRaw.bundle_green", "lib", "net45", "SQLitePCLRaw.batteries_v2.dll"),
+        destination: CombinePaths(outputFolder, "SQLitePCLRaw.batteries_v2.dll"),
+        overwrite: true);
+
+    FileHelper.Copy(
+        source: CombinePaths(env.Folders.Tools, "SQLitePCLRaw.bundle_green", "lib", "net45", "SQLitePCLRaw.batteries_green.dll"),
+        destination: CombinePaths(outputFolder, "SQLitePCLRaw.batteries_green.dll"),
+        overwrite: true);
 }
 
 void CopyExtraDependencies(BuildEnvironment env, string outputFolder)

From b9d1f77c8c58751988d927fc63c8d07cf21beb73 Mon Sep 17 00:00:00 2001
From: Ravi Chande <rchande@microsoft.com>
Date: Wed, 3 Apr 2019 15:43:13 -0700
Subject: [PATCH 07/27] Fix error

---
 build.cake | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/build.cake b/build.cake
index 0545b1b2fe..bfa44d9133 100644
--- a/build.cake
+++ b/build.cake
@@ -658,30 +658,32 @@ void CopyMonoBuild(BuildEnvironment env, string sourceFolder, string outputFolde
 {
     DirectoryHelper.Copy(sourceFolder, outputFolder, copySubDirectories: false);
 
-    var outputFolder = CombinePaths(outputFolder, "msbuild")
+    var msbuildFolder = CombinePaths(outputFolder, "msbuild");
 
     // Copy MSBuild runtime and libraries
-    DirectoryHelper.Copy($"{env.Folders.MSBuild}", outputFolder);
+    DirectoryHelper.Copy($"{env.Folders.MSBuild}", msbuildFolder);
+
+    var msbuildBinFolder = CombinePaths(msubildFolder, "bin", "15.0");
 
     // Copy dependencies of Mono build
     FileHelper.Copy(
         source: CombinePaths(env.Folders.Tools, "SQLitePCLRaw.core", "lib", "net45", "SQLitePCLRaw.core.dll"),
-        destination: CombinePaths(outputFolder, "SQLitePCLRaw.core.dll"),
+        destination: CombinePaths(msbuildBinFolder, "SQLitePCLRaw.core.dll"),
         overwrite: true);
 
     FileHelper.Copy(
         source: CombinePaths(env.Folders.Tools, "SQLitePCLRaw.provider.e_sqlite3.net45", "lib", "net45", "SQLitePCLRaw.provider.e_sqlite3.dll"),
-        destination: CombinePaths(outputFolder, "SQLitePCLRaw.provider.e_sqlite3.dll"),
+        destination: CombinePaths(msbuildBinFolder, "SQLitePCLRaw.provider.e_sqlite3.dll"),
         overwrite: true);
 
     FileHelper.Copy(
         source: CombinePaths(env.Folders.Tools, "SQLitePCLRaw.bundle_green", "lib", "net45", "SQLitePCLRaw.batteries_v2.dll"),
-        destination: CombinePaths(outputFolder, "SQLitePCLRaw.batteries_v2.dll"),
+        destination: CombinePaths(msbuildBinFolder, "SQLitePCLRaw.batteries_v2.dll"),
         overwrite: true);
 
     FileHelper.Copy(
         source: CombinePaths(env.Folders.Tools, "SQLitePCLRaw.bundle_green", "lib", "net45", "SQLitePCLRaw.batteries_green.dll"),
-        destination: CombinePaths(outputFolder, "SQLitePCLRaw.batteries_green.dll"),
+        destination: CombinePaths(msbuildBinFolder, "SQLitePCLRaw.batteries_green.dll"),
         overwrite: true);
 }
 

From 71c5cc73c555bdcd2a355c9289407cf623b0a94b Mon Sep 17 00:00:00 2001
From: Ravi Chande <rchande@microsoft.com>
Date: Wed, 3 Apr 2019 16:02:52 -0700
Subject: [PATCH 08/27] Fix typo

---
 build.cake | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/build.cake b/build.cake
index bfa44d9133..abf76e1c06 100644
--- a/build.cake
+++ b/build.cake
@@ -663,7 +663,7 @@ void CopyMonoBuild(BuildEnvironment env, string sourceFolder, string outputFolde
     // Copy MSBuild runtime and libraries
     DirectoryHelper.Copy($"{env.Folders.MSBuild}", msbuildFolder);
 
-    var msbuildBinFolder = CombinePaths(msubildFolder, "bin", "15.0");
+    var msbuildBinFolder = CombinePaths(msbuildFolder, "bin", "15.0");
 
     // Copy dependencies of Mono build
     FileHelper.Copy(

From d24720083e19ba3cd4a599c1a6b2f8728aadedd6 Mon Sep 17 00:00:00 2001
From: Ravi Chande <rchande@microsoft.com>
Date: Wed, 3 Apr 2019 16:17:05 -0700
Subject: [PATCH 09/27] Copy in a different task

---
 build.cake | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/build.cake b/build.cake
index abf76e1c06..45d1a0939b 100644
--- a/build.cake
+++ b/build.cake
@@ -386,6 +386,26 @@ Task("CreateMSBuildFolder")
     FileHelper.Delete(CombinePaths(compilersTargetFolder, "vbc.exe"));
     FileHelper.Delete(CombinePaths(compilersTargetFolder, "vbc.exe.config"));
     FileHelper.Delete(CombinePaths(compilersTargetFolder, "vbc.rsp"));
+
+     FileHelper.Copy(
+        source: CombinePaths(env.Folders.Tools, "SQLitePCLRaw.core", "lib", "net45", "SQLitePCLRaw.core.dll"),
+        destination: CombinePaths(msbuild15BinTargetFolder, "SQLitePCLRaw.core.dll"),
+        overwrite: true);
+
+    FileHelper.Copy(
+        source: CombinePaths(env.Folders.Tools, "SQLitePCLRaw.provider.e_sqlite3.net45", "lib", "net45", "SQLitePCLRaw.provider.e_sqlite3.dll"),
+        destination: CombinePaths(msbuild15BinTargetFolder, "SQLitePCLRaw.provider.e_sqlite3.dll"),
+        overwrite: true);
+
+    FileHelper.Copy(
+        source: CombinePaths(env.Folders.Tools, "SQLitePCLRaw.bundle_green", "lib", "net45", "SQLitePCLRaw.batteries_v2.dll"),
+        destination: CombinePaths(msbuild15BinTargetFolder, "SQLitePCLRaw.batteries_v2.dll"),
+        overwrite: true);
+
+    FileHelper.Copy(
+        source: CombinePaths(env.Folders.Tools, "SQLitePCLRaw.bundle_green", "lib", "net45", "SQLitePCLRaw.batteries_green.dll"),
+        destination: CombinePaths(msbuild15BinTargetFolder, "SQLitePCLRaw.batteries_green.dll"),
+        overwrite: true);
 });
 
 /// <summary>

From 1275c87d62af25525ee0dfed725266cae737582c Mon Sep 17 00:00:00 2001
From: Ravi Chande <rchande@microsoft.com>
Date: Wed, 3 Apr 2019 16:32:52 -0700
Subject: [PATCH 10/27] update msbuild package

---
 build/Packages.props | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/build/Packages.props b/build/Packages.props
index 1af3f5b2e8..26d026a095 100644
--- a/build/Packages.props
+++ b/build/Packages.props
@@ -2,7 +2,7 @@
 <Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
 
   <PropertyGroup>
-    <MSBuildPackageVersion>15.8.166</MSBuildPackageVersion>
+    <MSBuildPackageVersion>15.9.20</MSBuildPackageVersion>
     <NuGetPackageVersion>4.8.0</NuGetPackageVersion>
     <RoslynPackageVersion>3.0.0-beta4-19126-05</RoslynPackageVersion>
     <XunitPackageVersion>2.4.0</XunitPackageVersion>

From bb82e129571eb1a64fad23808bf2a9bcfd1ee2db Mon Sep 17 00:00:00 2001
From: Ravi Chande <rchande@Ravis-MacBook-Pro.local>
Date: Thu, 4 Apr 2019 08:26:10 -0700
Subject: [PATCH 11/27] wip

---
 tools/packages.config | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/tools/packages.config b/tools/packages.config
index 4a32edcebf..554719ab4e 100644
--- a/tools/packages.config
+++ b/tools/packages.config
@@ -1,11 +1,11 @@
 <?xml version="1.0" encoding="utf-8"?>
 <packages>
     <package id="Cake" version="0.32.1" />
-    <package id="Microsoft.Build" version="15.6.82" />
-    <package id="Microsoft.Build.Framework" version="15.6.82" />
-    <package id="Microsoft.Build.Runtime" version="15.6.82" />
-    <package id="Microsoft.Build.Tasks.Core" version="15.6.82" />
-    <package id="Microsoft.Build.Utilities.Core" version="15.6.82" />
+    <package id="Microsoft.Build" version="15.9.20" />
+    <package id="Microsoft.Build.Framework" version="15.9.20" />
+    <package id="Microsoft.Build.Runtime" version="15.9.20" />
+    <package id="Microsoft.Build.Tasks.Core" version="15.9.20" />
+    <package id="Microsoft.Build.Utilities.Core" version="15.9.20" />
     <package id="Microsoft.Net.Compilers" version="2.10.0" />
     <package id="Microsoft.DotNet.MSBuildSdkResolver" version="2.1.401" />
     <package id="NuGet.Build.Tasks" version="4.6.1" />

From 40c3ab5187da238eae28d3c60aeca557d4d3769a Mon Sep 17 00:00:00 2001
From: Ravi Chande <rchande@Ravis-MacBook-Pro.local>
Date: Thu, 4 Apr 2019 14:03:17 -0700
Subject: [PATCH 12/27] Upgrade to 16.0 packages

---
 NuGet.Config                   |  1 +
 build.cake                     | 42 ++++++++++++++++------------------
 mono-packaging/copy-msbuild.sh | 18 +++++++++++++++
 tools/packages.config          | 36 ++++++++++++++---------------
 4 files changed, 57 insertions(+), 40 deletions(-)

diff --git a/NuGet.Config b/NuGet.Config
index 0c203bfcab..181c0921ae 100644
--- a/NuGet.Config
+++ b/NuGet.Config
@@ -4,6 +4,7 @@
         <clear />
         <add key="NuGet" value="https://api.nuget.org/v3/index.json" />
         <add key="dotnet-core" value="https://dotnet.myget.org/F/dotnet-core/api/v3/index.json" />
+        <add key="dotnet-core-redux" value="https://dotnet.myget.org/F/dotnet-cli/api/v3/index.json" />
         <add key="OmniSharp" value="https://www.myget.org/F/omnisharp/api/v3/index.json" />
         <add key="roslyn-myget" value="https://dotnet.myget.org/F/roslyn/api/v3/index.json" />
     </packageSources>
diff --git a/build.cake b/build.cake
index 45d1a0939b..e46c70c85f 100644
--- a/build.cake
+++ b/build.cake
@@ -339,7 +339,7 @@ Task("CreateMSBuildFolder")
 
     // Copy content of NuGet.Build.Tasks
     var nugetBuildTasksFolder = CombinePaths(env.Folders.Tools, "NuGet.Build.Tasks");
-    var nugetBuildTasksBinariesFolder = CombinePaths(nugetBuildTasksFolder, "lib", "net46");
+    var nugetBuildTasksBinariesFolder = CombinePaths(nugetBuildTasksFolder, "lib", "net472");
     var nugetBuildTasksTargetsFolder = CombinePaths(nugetBuildTasksFolder, "runtimes", "any", "native");
 
     FileHelper.Copy(
@@ -367,7 +367,7 @@ Task("CreateMSBuildFolder")
         var binaryName = nugetPackage + ".dll";
 
         FileHelper.Copy(
-            source: CombinePaths(env.Folders.Tools, nugetPackage, "lib", "net46", binaryName),
+            source: CombinePaths(env.Folders.Tools, nugetPackage, "lib", "net472", binaryName),
             destination: CombinePaths(msbuild15BinTargetFolder, binaryName));
     }
 
@@ -684,6 +684,7 @@ void CopyMonoBuild(BuildEnvironment env, string sourceFolder, string outputFolde
     DirectoryHelper.Copy($"{env.Folders.MSBuild}", msbuildFolder);
 
     var msbuildBinFolder = CombinePaths(msbuildFolder, "bin", "15.0");
+    EnsureDirectoryExists(msbuildBinFolder);
 
     // Copy dependencies of Mono build
     FileHelper.Copy(
@@ -727,26 +728,23 @@ string PublishMonoBuild(string project, BuildEnvironment env, BuildPlan plan, st
 
     Package(project, "mono", outputFolder, env.Folders.ArtifactsPackage, env.Folders.DeploymentPackage);
 
-    // Copy dependencies of Mono build
-    FileHelper.Copy(
-        source: CombinePaths(env.Folders.Tools, "SQLitePCLRaw.core", "lib", "net45", "SQLitePCLRaw.core.dll"),
-        destination: CombinePaths(outputFolder, "SQLitePCLRaw.core.dll"),
-        overwrite: true);
-
-    FileHelper.Copy(
-        source: CombinePaths(env.Folders.Tools, "SQLitePCLRaw.provider.e_sqlite3.net45", "lib", "net45", "SQLitePCLRaw.provider.e_sqlite3.dll"),
-        destination: CombinePaths(outputFolder, "SQLitePCLRaw.provider.e_sqlite3.dll"),
-        overwrite: true);
-
-    FileHelper.Copy(
-        source: CombinePaths(env.Folders.Tools, "SQLitePCLRaw.bundle_green", "lib", "net45", "SQLitePCLRaw.batteries_v2.dll"),
-        destination: CombinePaths(outputFolder, "SQLitePCLRaw.batteries_v2.dll"),
-        overwrite: true);
-
-    FileHelper.Copy(
-        source: CombinePaths(env.Folders.Tools, "SQLitePCLRaw.bundle_green", "lib", "net45", "SQLitePCLRaw.batteries_green.dll"),
-        destination: CombinePaths(outputFolder, "SQLitePCLRaw.batteries_green.dll"),
-        overwrite: true);
+     // Copy dependencies of Mono build
+     FileHelper.Copy(
+         source: CombinePaths(env.Folders.Tools, "SQLitePCLRaw.core", "lib", "net45", "SQLitePCLRaw.core.dll"),
+         destination: CombinePaths(outputFolder, "SQLitePCLRaw.core.dll"),
+         overwrite: true);
+     FileHelper.Copy(
+         source: CombinePaths(env.Folders.Tools, "SQLitePCLRaw.provider.e_sqlite3.net45", "lib", "net45", "SQLitePCLRaw.provider.e_sqlite3.dll"),
+         destination: CombinePaths(outputFolder, "SQLitePCLRaw.provider.e_sqlite3.dll"),
+         overwrite: true);
+     FileHelper.Copy(
+         source: CombinePaths(env.Folders.Tools, "SQLitePCLRaw.bundle_green", "lib", "net45", "SQLitePCLRaw.batteries_v2.dll"),
+         destination: CombinePaths(outputFolder, "SQLitePCLRaw.batteries_v2.dll"),
+         overwrite: true);
+     FileHelper.Copy(
+         source: CombinePaths(env.Folders.Tools, "SQLitePCLRaw.bundle_green", "lib", "net45", "SQLitePCLRaw.batteries_green.dll"),
+         destination: CombinePaths(outputFolder, "SQLitePCLRaw.batteries_green.dll"),
+         overwrite: true);
 
     return outputFolder;
 }
diff --git a/mono-packaging/copy-msbuild.sh b/mono-packaging/copy-msbuild.sh
index bb59f97a4a..5cc9be2ff7 100755
--- a/mono-packaging/copy-msbuild.sh
+++ b/mono-packaging/copy-msbuild.sh
@@ -82,6 +82,24 @@ msbuild_runtime=(
     "Microsoft.Xaml.targets"
     "MSBuild.dll"
     "MSBuild.dll.config"
+"System.Data.Common.dll"
+"System.Collections.Immutable.dll"
+"System.Diagnostics.StackTrace.dll"
+"System.Diagnostics.Tracing.dll"
+"System.Globalization.Extensions.dll"
+"System.IO.Compression.dll"
+"System.Net.Http.dll"
+"System.Net.Sockets.dll"
+"System.Reflection.Metadata.dll"
+"System.Runtime.Serialization.Primitives.dll"
+"System.Security.Cryptography.Algorithms.dll"
+"System.Security.SecureString.dll"
+"System.Threading.Overlapped.dll"
+"System.Threading.Tasks.Dataflow.dll"
+"System.Xml.XPath.XDocument.dll"
+    #"NuGet.targets"
+    #"Workflow.VisualBasic.targets"
+    #"Workflow.targets"
 )
 
 _verify_file() {
diff --git a/tools/packages.config b/tools/packages.config
index 554719ab4e..e25bacd6bf 100644
--- a/tools/packages.config
+++ b/tools/packages.config
@@ -1,25 +1,25 @@
 <?xml version="1.0" encoding="utf-8"?>
 <packages>
     <package id="Cake" version="0.32.1" />
-    <package id="Microsoft.Build" version="15.9.20" />
-    <package id="Microsoft.Build.Framework" version="15.9.20" />
-    <package id="Microsoft.Build.Runtime" version="15.9.20" />
-    <package id="Microsoft.Build.Tasks.Core" version="15.9.20" />
-    <package id="Microsoft.Build.Utilities.Core" version="15.9.20" />
+    <package id="Microsoft.Build" version="16.0.461" />
+    <package id="Microsoft.Build.Framework" version="16.0.461" />
+    <package id="Microsoft.Build.Runtime" version="16.0.461" />
+    <package id="Microsoft.Build.Tasks.Core" version="16.0.461" />
+    <package id="Microsoft.Build.Utilities.Core" version="16.0.461" />
     <package id="Microsoft.Net.Compilers" version="2.10.0" />
-    <package id="Microsoft.DotNet.MSBuildSdkResolver" version="2.1.401" />
-    <package id="NuGet.Build.Tasks" version="4.6.1" />
-    <package id="NuGet.Commands" version="4.6.1" />
-    <package id="NuGet.Common" version="4.6.1" />
-    <package id="NuGet.Configuration" version="4.6.1" />
-    <package id="NuGet.Frameworks" version="4.6.1" />
-    <package id="NuGet.ProjectModel" version="4.6.1" />
-    <package id="NuGet.Protocol" version="4.6.1" />
-    <package id="NuGet.Versioning" version="4.6.1" />
-    <package id="runtime.linux-x64.Microsoft.NETCore.DotNetHostResolver" version="2.1.3" />
-    <package id="runtime.osx-x64.Microsoft.NETCore.DotNetHostResolver" version="2.1.3" />
-    <package id="runtime.win-x64.Microsoft.NETCore.DotNetHostResolver" version="2.1.3" />
-    <package id="runtime.win-x86.Microsoft.NETCore.DotNetHostResolver" version="2.1.3" />
+    <package id="Microsoft.DotNet.MSBuildSdkResolver" version="2.2.202-preview-010036" />
+    <package id="NuGet.Build.Tasks" version="5.0.0-rtm.5856" />
+    <package id="NuGet.Commands" version="5.0.0-rtm.5856" />
+    <package id="NuGet.Common" version="5.0.0-rtm.5856" />
+    <package id="NuGet.Configuration" version="5.0.0-rtm.5856" />
+    <package id="NuGet.Frameworks" version="5.0.0-rtm.5856" />
+    <package id="NuGet.ProjectModel" version="5.0.0-rtm.5856" />
+    <package id="NuGet.Protocol" version="5.0.0-rtm.5856" />
+    <package id="NuGet.Versioning" version="5.0.0-rtm.5856" />
+    <package id="runtime.linux-x64.Microsoft.NETCore.DotNetHostResolver" version="2.2.3" />
+    <package id="runtime.osx-x64.Microsoft.NETCore.DotNetHostResolver" version="2.2.3" />
+    <package id="runtime.win-x64.Microsoft.NETCore.DotNetHostResolver" version="2.2.3" />
+    <package id="runtime.win-x86.Microsoft.NETCore.DotNetHostResolver" version="2.2.3" />
     <package id="SQLitePCLRaw.bundle_green" version="1.1.2" />
     <package id="SQLitePCLRaw.core" version="1.1.2" />
     <package id="SQLitePCLRaw.provider.e_sqlite3.net45" version="1.1.2" />

From 92bb7c2cc561d150b63d147857bde3e197a76334 Mon Sep 17 00:00:00 2001
From: Ravi Chande <rchande@Ravis-MacBook-Pro.local>
Date: Thu, 4 Apr 2019 14:22:08 -0700
Subject: [PATCH 13/27] net472

---
 build.cake | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/build.cake b/build.cake
index e46c70c85f..743032f087 100644
--- a/build.cake
+++ b/build.cake
@@ -273,7 +273,7 @@ Task("CreateMSBuildFolder")
     {
         Information("Copying MSBuild runtime...");
 
-        var msbuildSourceFolder = CombinePaths(env.Folders.Tools, "Microsoft.Build.Runtime", "contentFiles", "any", "net46");
+        var msbuildSourceFolder = CombinePaths(env.Folders.Tools, "Microsoft.Build.Runtime", "contentFiles", "any", "net472");
         DirectoryHelper.Copy(msbuildSourceFolder, msbuild15BinTargetFolder, copySubDirectories: false);
 
         var msbuild15SourceFolder = CombinePaths(msbuildSourceFolder, "15.0");
@@ -284,7 +284,7 @@ Task("CreateMSBuildFolder")
         foreach (var library in msbuildLibraries)
         {
             var libraryFileName = library + ".dll";
-            var librarySourcePath = CombinePaths(env.Folders.Tools, library, "lib", "net46", libraryFileName);
+            var librarySourcePath = CombinePaths(env.Folders.Tools, library, "lib", "net472", libraryFileName);
             var libraryTargetPath = CombinePaths(msbuild15BinTargetFolder, libraryFileName);
             FileHelper.Copy(librarySourcePath, libraryTargetPath);
         }

From 1cab5d398bd0737b6c0f5c85fa8c34657e56895f Mon Sep 17 00:00:00 2001
From: Ravi Chande <rchande@Ravis-MacBook-Pro.local>
Date: Thu, 4 Apr 2019 14:24:18 -0700
Subject: [PATCH 14/27] Current

---
 build.cake | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/build.cake b/build.cake
index 743032f087..4995152129 100644
--- a/build.cake
+++ b/build.cake
@@ -276,7 +276,7 @@ Task("CreateMSBuildFolder")
         var msbuildSourceFolder = CombinePaths(env.Folders.Tools, "Microsoft.Build.Runtime", "contentFiles", "any", "net472");
         DirectoryHelper.Copy(msbuildSourceFolder, msbuild15BinTargetFolder, copySubDirectories: false);
 
-        var msbuild15SourceFolder = CombinePaths(msbuildSourceFolder, "15.0");
+        var msbuild15SourceFolder = CombinePaths(msbuildSourceFolder, "current");
         DirectoryHelper.Copy(msbuild15SourceFolder, msbuild15TargetFolder);
 
         Information("Copying MSBuild libraries...");

From 435a1779b608f8d5ed0c12cea6f0800622928c8f Mon Sep 17 00:00:00 2001
From: Ravi Chande <rchande@Ravis-MacBook-Pro.local>
Date: Thu, 4 Apr 2019 14:30:02 -0700
Subject: [PATCH 15/27] net472

---
 build.cake | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/build.cake b/build.cake
index 4995152129..c50396d98d 100644
--- a/build.cake
+++ b/build.cake
@@ -289,7 +289,7 @@ Task("CreateMSBuildFolder")
             FileHelper.Copy(librarySourcePath, libraryTargetPath);
         }
 
-        sdkResolverTFM = "net46";
+        sdkResolverTFM = "net472";
     }
     else
     {

From f335e6cef0f18469b7054e580de7fa3e7bf0814c Mon Sep 17 00:00:00 2001
From: Ravi Chande <rchande@microsoft.com>
Date: Thu, 4 Apr 2019 15:54:46 -0700
Subject: [PATCH 16/27] 15.0 -> current

---
 build.cake                                    | 36 +++++++++----------
 .../Providers/StandAloneInstanceProvider.cs   |  2 +-
 2 files changed, 19 insertions(+), 19 deletions(-)

diff --git a/build.cake b/build.cake
index c50396d98d..06d4390885 100644
--- a/build.cake
+++ b/build.cake
@@ -256,8 +256,8 @@ Task("CreateMSBuildFolder")
 {
     DirectoryHelper.ForceCreate(env.Folders.MSBuild);
 
-    var msbuild15TargetFolder = CombinePaths(env.Folders.MSBuild, "15.0");
-    var msbuild15BinTargetFolder = CombinePaths(msbuild15TargetFolder, "Bin");
+    var msbuildCurrentTargetFolder = CombinePaths(env.Folders.MSBuild, "Current");
+    var msbuildCurrentBinTargetFolder = CombinePaths(msbuildCurrentTargetFolder, "Bin");
 
     var msbuildLibraries = new []
     {
@@ -274,10 +274,10 @@ Task("CreateMSBuildFolder")
         Information("Copying MSBuild runtime...");
 
         var msbuildSourceFolder = CombinePaths(env.Folders.Tools, "Microsoft.Build.Runtime", "contentFiles", "any", "net472");
-        DirectoryHelper.Copy(msbuildSourceFolder, msbuild15BinTargetFolder, copySubDirectories: false);
+        DirectoryHelper.Copy(msbuildSourceFolder, msbuildCurrentBinTargetFolder, copySubDirectories: false);
 
         var msbuild15SourceFolder = CombinePaths(msbuildSourceFolder, "current");
-        DirectoryHelper.Copy(msbuild15SourceFolder, msbuild15TargetFolder);
+        DirectoryHelper.Copy(msbuild15SourceFolder, msbuildCurrentTargetFolder);
 
         Information("Copying MSBuild libraries...");
 
@@ -285,7 +285,7 @@ Task("CreateMSBuildFolder")
         {
             var libraryFileName = library + ".dll";
             var librarySourcePath = CombinePaths(env.Folders.Tools, library, "lib", "net472", libraryFileName);
-            var libraryTargetPath = CombinePaths(msbuild15BinTargetFolder, libraryFileName);
+            var libraryTargetPath = CombinePaths(msbuildCurrentBinTargetFolder, libraryFileName);
             FileHelper.Copy(librarySourcePath, libraryTargetPath);
         }
 
@@ -296,10 +296,10 @@ Task("CreateMSBuildFolder")
         Information("Copying Mono MSBuild runtime...");
 
         var msbuildSourceFolder = env.Folders.MonoMSBuildRuntime;
-        DirectoryHelper.Copy(msbuildSourceFolder, msbuild15BinTargetFolder, copySubDirectories: false);
+        DirectoryHelper.Copy(msbuildSourceFolder, msbuildCurrentBinTargetFolder, copySubDirectories: false);
 
         var msbuild15SourceFolder = CombinePaths(msbuildSourceFolder, "15.0");
-        DirectoryHelper.Copy(msbuild15SourceFolder, msbuild15TargetFolder);
+        DirectoryHelper.Copy(msbuild15SourceFolder, msbuildCurrentTargetFolder);
 
         Information("Copying MSBuild libraries...");
 
@@ -307,7 +307,7 @@ Task("CreateMSBuildFolder")
         {
             var libraryFileName = library + ".dll";
             var librarySourcePath = CombinePaths(env.Folders.MonoMSBuildLib, libraryFileName);
-            var libraryTargetPath = CombinePaths(msbuild15BinTargetFolder, libraryFileName);
+            var libraryTargetPath = CombinePaths(msbuildCurrentBinTargetFolder, libraryFileName);
             FileHelper.Copy(librarySourcePath, libraryTargetPath);
         }
 
@@ -317,7 +317,7 @@ Task("CreateMSBuildFolder")
     // Copy MSBuild SDK Resolver and DotNetHostResolver
     Information("Copying MSBuild SDK resolver...");
     var sdkResolverSourceFolder = CombinePaths(env.Folders.Tools, "Microsoft.DotNet.MSBuildSdkResolver", "lib", sdkResolverTFM);
-    var sdkResolverTargetFolder = CombinePaths(msbuild15BinTargetFolder, "SdkResolvers", "Microsoft.DotNet.MSBuildSdkResolver");
+    var sdkResolverTargetFolder = CombinePaths(msbuildCurrentBinTargetFolder, "SdkResolvers", "Microsoft.DotNet.MSBuildSdkResolver");
     DirectoryHelper.ForceCreate(sdkResolverTargetFolder);
     FileHelper.Copy(
         source: CombinePaths(sdkResolverSourceFolder, "Microsoft.DotNet.MSBuildSdkResolver.dll"),
@@ -344,11 +344,11 @@ Task("CreateMSBuildFolder")
 
     FileHelper.Copy(
         source: CombinePaths(nugetBuildTasksBinariesFolder, "NuGet.Build.Tasks.dll"),
-        destination: CombinePaths(msbuild15BinTargetFolder, "NuGet.Build.Tasks.dll"));
+        destination: CombinePaths(msbuildCurrentBinTargetFolder, "NuGet.Build.Tasks.dll"));
 
     FileHelper.Copy(
         source: CombinePaths(nugetBuildTasksTargetsFolder, "NuGet.targets"),
-        destination: CombinePaths(msbuild15BinTargetFolder, "NuGet.targets"));
+        destination: CombinePaths(msbuildCurrentBinTargetFolder, "NuGet.targets"));
 
     // Copy dependencies of NuGet.Build.Tasks
     var nugetPackages = new []
@@ -358,7 +358,7 @@ Task("CreateMSBuildFolder")
         "NuGet.Configuration",
         "NuGet.Frameworks",
         "NuGet.ProjectModel",
-        "NuGet.Protocol",
+        "NuGet.Protocol",   
         "NuGet.Versioning"
     };
 
@@ -368,13 +368,13 @@ Task("CreateMSBuildFolder")
 
         FileHelper.Copy(
             source: CombinePaths(env.Folders.Tools, nugetPackage, "lib", "net472", binaryName),
-            destination: CombinePaths(msbuild15BinTargetFolder, binaryName));
+            destination: CombinePaths(msbuildCurrentBinTargetFolder, binaryName));
     }
 
     // Copy content of Microsoft.Net.Compilers
     Information("Copying Microsoft.Net.Compilers...");
     var compilersSourceFolder = CombinePaths(env.Folders.Tools, "Microsoft.Net.Compilers", "tools");
-    var compilersTargetFolder = CombinePaths(msbuild15BinTargetFolder, "Roslyn");
+    var compilersTargetFolder = CombinePaths(msbuildCurrentBinTargetFolder, "Roslyn");
 
     DirectoryHelper.Copy(compilersSourceFolder, compilersTargetFolder);
 
@@ -389,22 +389,22 @@ Task("CreateMSBuildFolder")
 
      FileHelper.Copy(
         source: CombinePaths(env.Folders.Tools, "SQLitePCLRaw.core", "lib", "net45", "SQLitePCLRaw.core.dll"),
-        destination: CombinePaths(msbuild15BinTargetFolder, "SQLitePCLRaw.core.dll"),
+        destination: CombinePaths(msbuildCurrentBinTargetFolder, "SQLitePCLRaw.core.dll"),
         overwrite: true);
 
     FileHelper.Copy(
         source: CombinePaths(env.Folders.Tools, "SQLitePCLRaw.provider.e_sqlite3.net45", "lib", "net45", "SQLitePCLRaw.provider.e_sqlite3.dll"),
-        destination: CombinePaths(msbuild15BinTargetFolder, "SQLitePCLRaw.provider.e_sqlite3.dll"),
+        destination: CombinePaths(msbuildCurrentBinTargetFolder, "SQLitePCLRaw.provider.e_sqlite3.dll"),
         overwrite: true);
 
     FileHelper.Copy(
         source: CombinePaths(env.Folders.Tools, "SQLitePCLRaw.bundle_green", "lib", "net45", "SQLitePCLRaw.batteries_v2.dll"),
-        destination: CombinePaths(msbuild15BinTargetFolder, "SQLitePCLRaw.batteries_v2.dll"),
+        destination: CombinePaths(msbuildCurrentBinTargetFolder, "SQLitePCLRaw.batteries_v2.dll"),
         overwrite: true);
 
     FileHelper.Copy(
         source: CombinePaths(env.Folders.Tools, "SQLitePCLRaw.bundle_green", "lib", "net45", "SQLitePCLRaw.batteries_green.dll"),
-        destination: CombinePaths(msbuild15BinTargetFolder, "SQLitePCLRaw.batteries_green.dll"),
+        destination: CombinePaths(msbuildCurrentBinTargetFolder, "SQLitePCLRaw.batteries_green.dll"),
         overwrite: true);
 });
 
diff --git a/src/OmniSharp.Host/MSBuild/Discovery/Providers/StandAloneInstanceProvider.cs b/src/OmniSharp.Host/MSBuild/Discovery/Providers/StandAloneInstanceProvider.cs
index e7cf7be033..07a5537202 100644
--- a/src/OmniSharp.Host/MSBuild/Discovery/Providers/StandAloneInstanceProvider.cs
+++ b/src/OmniSharp.Host/MSBuild/Discovery/Providers/StandAloneInstanceProvider.cs
@@ -25,7 +25,7 @@ public override ImmutableArray<MSBuildInstance> GetInstances()
             }
 
             var extensionsPath = path;
-            var toolsPath = Path.Combine(extensionsPath, "15.0", "Bin");
+            var toolsPath = Path.Combine(extensionsPath, "Current", "Bin");
             var roslynPath = Path.Combine(toolsPath, "Roslyn");
 
             var propertyOverrides = ImmutableDictionary.CreateBuilder<string, string>(StringComparer.OrdinalIgnoreCase);

From 0b944ff1aac366eb122a80508096f0b107665d59 Mon Sep 17 00:00:00 2001
From: Ravi Chande <ravi@endarch.org>
Date: Fri, 5 Apr 2019 09:17:53 -0700
Subject: [PATCH 17/27] before net472

---
 build.cake                                       |  2 +-
 build/Packages.props                             |  6 +++---
 .../Discovery/Providers/MonoInstanceProvider.cs  |  2 +-
 .../Providers/StandAloneInstanceProvider.cs      | 16 ++++++++++++----
 4 files changed, 17 insertions(+), 9 deletions(-)

diff --git a/build.cake b/build.cake
index 06d4390885..d133e6e924 100644
--- a/build.cake
+++ b/build.cake
@@ -683,7 +683,7 @@ void CopyMonoBuild(BuildEnvironment env, string sourceFolder, string outputFolde
     // Copy MSBuild runtime and libraries
     DirectoryHelper.Copy($"{env.Folders.MSBuild}", msbuildFolder);
 
-    var msbuildBinFolder = CombinePaths(msbuildFolder, "bin", "15.0");
+    var msbuildBinFolder = CombinePaths(msbuildFolder, "bin", "Current");
     EnsureDirectoryExists(msbuildBinFolder);
 
     // Copy dependencies of Mono build
diff --git a/build/Packages.props b/build/Packages.props
index 26d026a095..6d4a0be752 100644
--- a/build/Packages.props
+++ b/build/Packages.props
@@ -2,8 +2,8 @@
 <Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
 
   <PropertyGroup>
-    <MSBuildPackageVersion>15.9.20</MSBuildPackageVersion>
-    <NuGetPackageVersion>4.8.0</NuGetPackageVersion>
+    <MSBuildPackageVersion>16.0.461</MSBuildPackageVersion>
+    <NuGetPackageVersion>5.0.0-rtm.5856</NuGetPackageVersion>
     <RoslynPackageVersion>3.0.0-beta4-19126-05</RoslynPackageVersion>
     <XunitPackageVersion>2.4.0</XunitPackageVersion>
   </PropertyGroup>
@@ -67,7 +67,7 @@
     <PackageReference Update="System.ComponentModel.Composition" Version="4.5.0" />
     <PackageReference Update="System.Composition" Version="1.0.31" />
     <PackageReference Update="System.Reflection.Metadata" Version="1.4.2" />
-    <PackageReference Update="System.Threading.Tasks.Dataflow" Version="4.5.24" />
+    <PackageReference Update="System.Threading.Tasks.Dataflow" Version="4.6.0" />
     <PackageReference Update="System.ValueTuple" Version="4.4.0" />
 
     <PackageReference Update="System.Reactive" Version="4.1.2" />
diff --git a/src/OmniSharp.Host/MSBuild/Discovery/Providers/MonoInstanceProvider.cs b/src/OmniSharp.Host/MSBuild/Discovery/Providers/MonoInstanceProvider.cs
index 62538e3884..fcfa21e93d 100644
--- a/src/OmniSharp.Host/MSBuild/Discovery/Providers/MonoInstanceProvider.cs
+++ b/src/OmniSharp.Host/MSBuild/Discovery/Providers/MonoInstanceProvider.cs
@@ -103,7 +103,7 @@ public override ImmutableArray<MSBuildInstance> GetInstances()
             var localMSBuildPath = FindLocalMSBuildDirectory();
             if (localMSBuildPath != null)
             {
-                var localRoslynPath = Path.Combine(localMSBuildPath, "15.0", "Bin", "Roslyn");
+                var localRoslynPath = Path.Combine(localMSBuildPath, "Current", "Bin", "Roslyn");
                 propertyOverrides.Add("CscToolPath", localRoslynPath);
                 propertyOverrides.Add("CscToolExe", "csc.exe");
             }
diff --git a/src/OmniSharp.Host/MSBuild/Discovery/Providers/StandAloneInstanceProvider.cs b/src/OmniSharp.Host/MSBuild/Discovery/Providers/StandAloneInstanceProvider.cs
index 07a5537202..e7bf372fdb 100644
--- a/src/OmniSharp.Host/MSBuild/Discovery/Providers/StandAloneInstanceProvider.cs
+++ b/src/OmniSharp.Host/MSBuild/Discovery/Providers/StandAloneInstanceProvider.cs
@@ -82,13 +82,21 @@ private static bool TryGetMonoXBuildPath(out string path)
             }
 
             var monoXBuild15DirPath = Path.Combine(monoXBuildDirPath, "15.0");
-            if (!Directory.Exists(monoXBuild15DirPath))
+            if (Directory.Exists(monoXBuild15DirPath))
             {
-                return false;
+                path = monoXBuildDirPath;
+                return true;
             }
 
-            path = monoXBuildDirPath;
-            return true;
+
+            var monoXBuildCurrentDirPath = Path.Combine(monoXBuildDirPath, "Current");
+            if (Directory.Exists(monoXBuildCurrentDirPath))
+            {
+                path = monoXBuildDirPath;
+                return true;
+            }
+
+            return false;
         }
 
         private static bool TryGetMonoXBuildFrameworksPath(out string path)

From aa74e50fa050a2782b53d8ccc034ea88242a218d Mon Sep 17 00:00:00 2001
From: Ravi Chande <ravi@endarch.org>
Date: Fri, 5 Apr 2019 09:51:01 -0700
Subject: [PATCH 18/27] flailing

---
 build.cake                                               | 9 ++++-----
 src/OmniSharp.Abstractions/OmniSharp.Abstractions.csproj | 3 ++-
 src/OmniSharp.Cake/OmniSharp.Cake.csproj                 | 2 +-
 .../OmniSharp.DotNet.ProjectModel.csproj                 | 2 +-
 src/OmniSharp.DotNet/DotNetProjectSystem.cs              | 4 ++--
 src/OmniSharp.DotNet/OmniSharp.DotNet.csproj             | 2 +-
 src/OmniSharp.DotNetTest/OmniSharp.DotNetTest.csproj     | 2 +-
 src/OmniSharp.Host/OmniSharp.Host.csproj                 | 2 +-
 src/OmniSharp.Http.Driver/OmniSharp.Http.Driver.csproj   | 2 +-
 src/OmniSharp.Http/OmniSharp.Http.csproj                 | 2 +-
 .../OmniSharp.LanguageServerProtocol.csproj              | 2 +-
 src/OmniSharp.MSBuild/OmniSharp.MSBuild.csproj           | 2 +-
 src/OmniSharp.Plugins/OmniSharp.Plugins.csproj           | 2 +-
 .../OmniSharp.Roslyn.CSharp.csproj                       | 2 +-
 src/OmniSharp.Roslyn/OmniSharp.Roslyn.csproj             | 2 +-
 src/OmniSharp.Script/OmniSharp.Script.csproj             | 2 +-
 src/OmniSharp.Shared/OmniSharp.Shared.csproj             | 2 +-
 src/OmniSharp.Stdio.Driver/OmniSharp.Stdio.Driver.csproj | 2 +-
 src/OmniSharp.Stdio/OmniSharp.Stdio.csproj               | 2 +-
 tests/OmniSharp.Cake.Tests/OmniSharp.Cake.Tests.csproj   | 2 +-
 .../OmniSharp.DotNet.Tests/OmniSharp.DotNet.Tests.csproj | 2 +-
 .../OmniSharp.DotNetTest.Tests.csproj                    | 2 +-
 tests/OmniSharp.Http.Tests/OmniSharp.Http.Tests.csproj   | 2 +-
 .../OmniSharp.MSBuild.Tests.csproj                       | 3 ++-
 .../OmniSharp.Roslyn.CSharp.Tests.csproj                 | 2 +-
 .../OmniSharp.Script.Tests/OmniSharp.Script.Tests.csproj | 2 +-
 tests/OmniSharp.Stdio.Tests/OmniSharp.Stdio.Tests.csproj | 2 +-
 tests/OmniSharp.Tests/OmniSharp.Tests.csproj             | 2 +-
 tests/TestUtility/TestUtility.csproj                     | 2 +-
 29 files changed, 35 insertions(+), 34 deletions(-)

diff --git a/build.cake b/build.cake
index d133e6e924..d5dd10f3d9 100644
--- a/build.cake
+++ b/build.cake
@@ -276,7 +276,7 @@ Task("CreateMSBuildFolder")
         var msbuildSourceFolder = CombinePaths(env.Folders.Tools, "Microsoft.Build.Runtime", "contentFiles", "any", "net472");
         DirectoryHelper.Copy(msbuildSourceFolder, msbuildCurrentBinTargetFolder, copySubDirectories: false);
 
-        var msbuild15SourceFolder = CombinePaths(msbuildSourceFolder, "current");
+        var msbuild15SourceFolder = CombinePaths(msbuildSourceFolder, "Current");
         DirectoryHelper.Copy(msbuild15SourceFolder, msbuildCurrentTargetFolder);
 
         Information("Copying MSBuild libraries...");
@@ -636,8 +636,7 @@ Task("Test")
         foreach (var testProject in buildPlan.TestProjects)
         {
             PrintBlankLine();
-
-            var instanceFolder = CombinePaths(env.Folders.Bin, configuration, testProject, "net461");
+            var instanceFolder = CombinePaths(env.Folders.Bin, configuration, testProject, "net472");
 
             // Copy xunit executable to test folder to solve path errors
             var xunitToolsFolder = CombinePaths(env.Folders.Tools, "xunit.runner.console", "tools", "net452");
@@ -651,7 +650,7 @@ Task("Test")
             if (Platform.Current.IsWindows)
             {
                 Run(xunitInstancePath, arguments, instanceFolder)
-                    .ExceptionOnError($"Test {testProject} failed for net461");
+                    .ExceptionOnError($"Test {testProject} failed for net472");
             }
             else
             {
@@ -664,7 +663,7 @@ Task("Test")
                 // By default, the run script launches OmniSharp. To launch our Mono runtime
                 // with xUnit rather than OmniSharp, we pass '--no-omnisharp'
                 Run(runScript, $"--no-omnisharp \"{xunitInstancePath}\" {arguments}", instanceFolder)
-                    .ExceptionOnError($"Test {testProject} failed for net461");
+                    .ExceptionOnError($"Test {testProject} failed for net472");
             }
         }
     }
diff --git a/src/OmniSharp.Abstractions/OmniSharp.Abstractions.csproj b/src/OmniSharp.Abstractions/OmniSharp.Abstractions.csproj
index 898109ffd8..06a1cde847 100644
--- a/src/OmniSharp.Abstractions/OmniSharp.Abstractions.csproj
+++ b/src/OmniSharp.Abstractions/OmniSharp.Abstractions.csproj
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>net461</TargetFramework>
+    <TargetFramework>net472</TargetFramework>
     <PlatformTarget>AnyCPU</PlatformTarget>
     <RootNamespace>OmniSharp</RootNamespace>
   </PropertyGroup>
@@ -14,6 +14,7 @@
     <PackageReference Include="System.Collections.Immutable" />
     <PackageReference Include="System.Composition" />
     <PackageReference Include="System.ValueTuple" />
+    <PackageReference Include="SQLitePCLRaw.bundle_green" PrivateAssets="all" />
   </ItemGroup>
 
 </Project>
diff --git a/src/OmniSharp.Cake/OmniSharp.Cake.csproj b/src/OmniSharp.Cake/OmniSharp.Cake.csproj
index 693df59cc4..2b8a8ab0b7 100644
--- a/src/OmniSharp.Cake/OmniSharp.Cake.csproj
+++ b/src/OmniSharp.Cake/OmniSharp.Cake.csproj
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>net461</TargetFramework>
+    <TargetFramework>net472</TargetFramework>
     <PlatformTarget>AnyCPU</PlatformTarget>
   </PropertyGroup>
 
diff --git a/src/OmniSharp.DotNet.ProjectModel/OmniSharp.DotNet.ProjectModel.csproj b/src/OmniSharp.DotNet.ProjectModel/OmniSharp.DotNet.ProjectModel.csproj
index 84c452c302..e8b0ba3cf4 100644
--- a/src/OmniSharp.DotNet.ProjectModel/OmniSharp.DotNet.ProjectModel.csproj
+++ b/src/OmniSharp.DotNet.ProjectModel/OmniSharp.DotNet.ProjectModel.csproj
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>net461</TargetFramework>
+    <TargetFramework>net472</TargetFramework>
   </PropertyGroup>
 
   <ItemGroup>
diff --git a/src/OmniSharp.DotNet/DotNetProjectSystem.cs b/src/OmniSharp.DotNet/DotNetProjectSystem.cs
index 796deda7dc..de4ed7ad5b 100644
--- a/src/OmniSharp.DotNet/DotNetProjectSystem.cs
+++ b/src/OmniSharp.DotNet/DotNetProjectSystem.cs
@@ -202,7 +202,7 @@ private void RemoveProject(ProjectId projectId)
         private void UpdateFileReferences(ProjectState state, IEnumerable<string> fileReferences)
         {
             var metadataReferences = new List<MetadataReference>();
-            var fileReferencesToRemove = state.FileMetadataReferences.Keys.ToHashSet();
+            var fileReferencesToRemove = OmniSharp.DotNet.Extensions.EnumerableExtensions.ToHashSet(state.FileMetadataReferences.Keys);
 
             foreach (var fileReference in fileReferences)
             {
@@ -245,7 +245,7 @@ private void UpdateFileReferences(ProjectState state, IEnumerable<string> fileRe
         private void UpdateProjectReferences(ProjectState state, IEnumerable<ProjectDescription> projectReferencesLatest)
         {
             var projectReferences = new List<ProjectReference>();
-            var projectReferencesToRemove = state.ProjectReferences.Keys.ToHashSet();
+            var projectReferencesToRemove = OmniSharp.DotNet.Extensions.EnumerableExtensions.ToHashSet(state.ProjectReferences.Keys);
 
             foreach (var description in projectReferencesLatest)
             {
diff --git a/src/OmniSharp.DotNet/OmniSharp.DotNet.csproj b/src/OmniSharp.DotNet/OmniSharp.DotNet.csproj
index 5cb6a1084a..9afe8ff0f0 100644
--- a/src/OmniSharp.DotNet/OmniSharp.DotNet.csproj
+++ b/src/OmniSharp.DotNet/OmniSharp.DotNet.csproj
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>net461</TargetFramework>
+    <TargetFramework>net472</TargetFramework>
     <PlatformTarget>AnyCPU</PlatformTarget>
   </PropertyGroup>
 
diff --git a/src/OmniSharp.DotNetTest/OmniSharp.DotNetTest.csproj b/src/OmniSharp.DotNetTest/OmniSharp.DotNetTest.csproj
index e43aff29ee..c9780d59a5 100644
--- a/src/OmniSharp.DotNetTest/OmniSharp.DotNetTest.csproj
+++ b/src/OmniSharp.DotNetTest/OmniSharp.DotNetTest.csproj
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>net461</TargetFramework>
+    <TargetFramework>net472</TargetFramework>
     <PlatformTarget>AnyCPU</PlatformTarget>
   </PropertyGroup>
 
diff --git a/src/OmniSharp.Host/OmniSharp.Host.csproj b/src/OmniSharp.Host/OmniSharp.Host.csproj
index 33bfa336bb..9fe7c927b0 100644
--- a/src/OmniSharp.Host/OmniSharp.Host.csproj
+++ b/src/OmniSharp.Host/OmniSharp.Host.csproj
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>net461</TargetFramework>
+    <TargetFramework>net472</TargetFramework>
     <PlatformTarget>AnyCPU</PlatformTarget>
     <RootNamespace>OmniSharp</RootNamespace>
   </PropertyGroup>
diff --git a/src/OmniSharp.Http.Driver/OmniSharp.Http.Driver.csproj b/src/OmniSharp.Http.Driver/OmniSharp.Http.Driver.csproj
index bf73b902b3..877ab80556 100644
--- a/src/OmniSharp.Http.Driver/OmniSharp.Http.Driver.csproj
+++ b/src/OmniSharp.Http.Driver/OmniSharp.Http.Driver.csproj
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
     <PropertyGroup>
-        <TargetFramework>net461</TargetFramework>
+        <TargetFramework>net472</TargetFramework>
         <PlatformTarget>AnyCPU</PlatformTarget>
         <AssemblyName>OmniSharp</AssemblyName>
         <OutputType>Exe</OutputType>
diff --git a/src/OmniSharp.Http/OmniSharp.Http.csproj b/src/OmniSharp.Http/OmniSharp.Http.csproj
index 6b9657883b..da04c5c9a5 100644
--- a/src/OmniSharp.Http/OmniSharp.Http.csproj
+++ b/src/OmniSharp.Http/OmniSharp.Http.csproj
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
     <PropertyGroup>
-        <TargetFramework>net461</TargetFramework>
+        <TargetFramework>net472</TargetFramework>
         <PlatformTarget>AnyCPU</PlatformTarget>
     </PropertyGroup>
 
diff --git a/src/OmniSharp.LanguageServerProtocol/OmniSharp.LanguageServerProtocol.csproj b/src/OmniSharp.LanguageServerProtocol/OmniSharp.LanguageServerProtocol.csproj
index 5874c16a7e..06cf962902 100644
--- a/src/OmniSharp.LanguageServerProtocol/OmniSharp.LanguageServerProtocol.csproj
+++ b/src/OmniSharp.LanguageServerProtocol/OmniSharp.LanguageServerProtocol.csproj
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
     <PropertyGroup>
-        <TargetFramework>net461</TargetFramework>
+        <TargetFramework>net472</TargetFramework>
         <PlatformTarget>AnyCPU</PlatformTarget>
         <AssemblyName>OmniSharp.LanguageServerProtocol</AssemblyName>
         <PreserveCompilationContext>true</PreserveCompilationContext>
diff --git a/src/OmniSharp.MSBuild/OmniSharp.MSBuild.csproj b/src/OmniSharp.MSBuild/OmniSharp.MSBuild.csproj
index ba615c0801..297b526bc4 100644
--- a/src/OmniSharp.MSBuild/OmniSharp.MSBuild.csproj
+++ b/src/OmniSharp.MSBuild/OmniSharp.MSBuild.csproj
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>net461</TargetFramework>
+    <TargetFramework>net472</TargetFramework>
     <PlatformTarget>AnyCPU</PlatformTarget>
   </PropertyGroup>
 
diff --git a/src/OmniSharp.Plugins/OmniSharp.Plugins.csproj b/src/OmniSharp.Plugins/OmniSharp.Plugins.csproj
index 3d6f5ffec2..aa0ecda69b 100644
--- a/src/OmniSharp.Plugins/OmniSharp.Plugins.csproj
+++ b/src/OmniSharp.Plugins/OmniSharp.Plugins.csproj
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>net461</TargetFramework>
+    <TargetFramework>net472</TargetFramework>
     <PlatformTarget>AnyCPU</PlatformTarget>
   </PropertyGroup>
 
diff --git a/src/OmniSharp.Roslyn.CSharp/OmniSharp.Roslyn.CSharp.csproj b/src/OmniSharp.Roslyn.CSharp/OmniSharp.Roslyn.CSharp.csproj
index 1f05661ac5..2e82640829 100644
--- a/src/OmniSharp.Roslyn.CSharp/OmniSharp.Roslyn.CSharp.csproj
+++ b/src/OmniSharp.Roslyn.CSharp/OmniSharp.Roslyn.CSharp.csproj
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>net461</TargetFramework>
+    <TargetFramework>net472</TargetFramework>
     <PlatformTarget>AnyCPU</PlatformTarget>
   </PropertyGroup>
 
diff --git a/src/OmniSharp.Roslyn/OmniSharp.Roslyn.csproj b/src/OmniSharp.Roslyn/OmniSharp.Roslyn.csproj
index 03b646a616..30b6786db7 100644
--- a/src/OmniSharp.Roslyn/OmniSharp.Roslyn.csproj
+++ b/src/OmniSharp.Roslyn/OmniSharp.Roslyn.csproj
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>net461</TargetFramework>
+    <TargetFramework>net472</TargetFramework>
     <PlatformTarget>AnyCPU</PlatformTarget>
   </PropertyGroup>
 
diff --git a/src/OmniSharp.Script/OmniSharp.Script.csproj b/src/OmniSharp.Script/OmniSharp.Script.csproj
index 9cd969131d..77af0346e3 100644
--- a/src/OmniSharp.Script/OmniSharp.Script.csproj
+++ b/src/OmniSharp.Script/OmniSharp.Script.csproj
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>net461</TargetFramework>
+    <TargetFramework>net472</TargetFramework>
     <PlatformTarget>AnyCPU</PlatformTarget>
   </PropertyGroup>
 
diff --git a/src/OmniSharp.Shared/OmniSharp.Shared.csproj b/src/OmniSharp.Shared/OmniSharp.Shared.csproj
index 0756f4b88c..4e305f381b 100644
--- a/src/OmniSharp.Shared/OmniSharp.Shared.csproj
+++ b/src/OmniSharp.Shared/OmniSharp.Shared.csproj
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
     <PropertyGroup>
-        <TargetFramework>net461</TargetFramework>
+        <TargetFramework>net472</TargetFramework>
         <PlatformTarget>AnyCPU</PlatformTarget>
         <RootNamespace>OmniSharp</RootNamespace>
     </PropertyGroup>
diff --git a/src/OmniSharp.Stdio.Driver/OmniSharp.Stdio.Driver.csproj b/src/OmniSharp.Stdio.Driver/OmniSharp.Stdio.Driver.csproj
index 9de1a5d94b..387ea727f6 100644
--- a/src/OmniSharp.Stdio.Driver/OmniSharp.Stdio.Driver.csproj
+++ b/src/OmniSharp.Stdio.Driver/OmniSharp.Stdio.Driver.csproj
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
     <PropertyGroup>
-        <TargetFramework>net461</TargetFramework>
+        <TargetFramework>net472</TargetFramework>
         <PlatformTarget>AnyCPU</PlatformTarget>
         <AssemblyName>OmniSharp</AssemblyName>
         <OutputType>Exe</OutputType>
diff --git a/src/OmniSharp.Stdio/OmniSharp.Stdio.csproj b/src/OmniSharp.Stdio/OmniSharp.Stdio.csproj
index 29ee1a386c..9036f89416 100644
--- a/src/OmniSharp.Stdio/OmniSharp.Stdio.csproj
+++ b/src/OmniSharp.Stdio/OmniSharp.Stdio.csproj
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
     <PropertyGroup>
-        <TargetFramework>net461</TargetFramework>
+        <TargetFramework>net472</TargetFramework>
         <PlatformTarget>AnyCPU</PlatformTarget>
     </PropertyGroup>
 
diff --git a/tests/OmniSharp.Cake.Tests/OmniSharp.Cake.Tests.csproj b/tests/OmniSharp.Cake.Tests/OmniSharp.Cake.Tests.csproj
index b670ea1c84..31bcf1f207 100644
--- a/tests/OmniSharp.Cake.Tests/OmniSharp.Cake.Tests.csproj
+++ b/tests/OmniSharp.Cake.Tests/OmniSharp.Cake.Tests.csproj
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>net461</TargetFramework>
+    <TargetFramework>net472</TargetFramework>
     <PlatformTarget>AnyCPU</PlatformTarget>
     <GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>
   </PropertyGroup>
diff --git a/tests/OmniSharp.DotNet.Tests/OmniSharp.DotNet.Tests.csproj b/tests/OmniSharp.DotNet.Tests/OmniSharp.DotNet.Tests.csproj
index 6a79ab08f3..2cf054d46f 100644
--- a/tests/OmniSharp.DotNet.Tests/OmniSharp.DotNet.Tests.csproj
+++ b/tests/OmniSharp.DotNet.Tests/OmniSharp.DotNet.Tests.csproj
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>net461</TargetFramework>
+    <TargetFramework>net472</TargetFramework>
     <PlatformTarget>AnyCPU</PlatformTarget>
     <GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>
   </PropertyGroup>
diff --git a/tests/OmniSharp.DotNetTest.Tests/OmniSharp.DotNetTest.Tests.csproj b/tests/OmniSharp.DotNetTest.Tests/OmniSharp.DotNetTest.Tests.csproj
index ef730bf896..44e808708c 100644
--- a/tests/OmniSharp.DotNetTest.Tests/OmniSharp.DotNetTest.Tests.csproj
+++ b/tests/OmniSharp.DotNetTest.Tests/OmniSharp.DotNetTest.Tests.csproj
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>net461</TargetFramework>
+    <TargetFramework>net472</TargetFramework>
     <PlatformTarget>AnyCPU</PlatformTarget>
     <GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>
   </PropertyGroup>
diff --git a/tests/OmniSharp.Http.Tests/OmniSharp.Http.Tests.csproj b/tests/OmniSharp.Http.Tests/OmniSharp.Http.Tests.csproj
index abc22b3b19..7dfe23a38a 100644
--- a/tests/OmniSharp.Http.Tests/OmniSharp.Http.Tests.csproj
+++ b/tests/OmniSharp.Http.Tests/OmniSharp.Http.Tests.csproj
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>net461</TargetFramework>
+    <TargetFramework>net472</TargetFramework>
     <PlatformTarget>AnyCPU</PlatformTarget>
     <GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>
   </PropertyGroup>
diff --git a/tests/OmniSharp.MSBuild.Tests/OmniSharp.MSBuild.Tests.csproj b/tests/OmniSharp.MSBuild.Tests/OmniSharp.MSBuild.Tests.csproj
index a47e7851ac..2b99eaa540 100644
--- a/tests/OmniSharp.MSBuild.Tests/OmniSharp.MSBuild.Tests.csproj
+++ b/tests/OmniSharp.MSBuild.Tests/OmniSharp.MSBuild.Tests.csproj
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>net461</TargetFramework>
+    <TargetFramework>net472</TargetFramework>
     <PlatformTarget>AnyCPU</PlatformTarget>
     <GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>
   </PropertyGroup>
@@ -20,6 +20,7 @@
     <PackageReference Include="xunit.runner.visualstudio" />
     <PackageReference Include="xunit" />
     <PackageReference Include="Microsoft.Build" ExcludeAssets="Runtime" PrivateAssets="all" />
+    <PackageReference Include="SQLitePCLRaw.bundle_green" PrivateAssets="all" />
   </ItemGroup>
 
   <ItemGroup>
diff --git a/tests/OmniSharp.Roslyn.CSharp.Tests/OmniSharp.Roslyn.CSharp.Tests.csproj b/tests/OmniSharp.Roslyn.CSharp.Tests/OmniSharp.Roslyn.CSharp.Tests.csproj
index a74b44fe43..4669ac59f6 100644
--- a/tests/OmniSharp.Roslyn.CSharp.Tests/OmniSharp.Roslyn.CSharp.Tests.csproj
+++ b/tests/OmniSharp.Roslyn.CSharp.Tests/OmniSharp.Roslyn.CSharp.Tests.csproj
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>net461</TargetFramework>
+    <TargetFramework>net472</TargetFramework>
     <PlatformTarget>AnyCPU</PlatformTarget>
     <GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>
   </PropertyGroup>
diff --git a/tests/OmniSharp.Script.Tests/OmniSharp.Script.Tests.csproj b/tests/OmniSharp.Script.Tests/OmniSharp.Script.Tests.csproj
index 0f95d05d27..647c2757f3 100644
--- a/tests/OmniSharp.Script.Tests/OmniSharp.Script.Tests.csproj
+++ b/tests/OmniSharp.Script.Tests/OmniSharp.Script.Tests.csproj
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>net461</TargetFramework>
+    <TargetFramework>net472</TargetFramework>
     <PlatformTarget>AnyCPU</PlatformTarget>
     <GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>
   </PropertyGroup>
diff --git a/tests/OmniSharp.Stdio.Tests/OmniSharp.Stdio.Tests.csproj b/tests/OmniSharp.Stdio.Tests/OmniSharp.Stdio.Tests.csproj
index a16901f153..dff959ae7f 100644
--- a/tests/OmniSharp.Stdio.Tests/OmniSharp.Stdio.Tests.csproj
+++ b/tests/OmniSharp.Stdio.Tests/OmniSharp.Stdio.Tests.csproj
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>net461</TargetFramework>
+    <TargetFramework>net472</TargetFramework>
     <PlatformTarget>AnyCPU</PlatformTarget>
     <GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>
   </PropertyGroup>
diff --git a/tests/OmniSharp.Tests/OmniSharp.Tests.csproj b/tests/OmniSharp.Tests/OmniSharp.Tests.csproj
index 07a93cdf72..cebaf4de5f 100644
--- a/tests/OmniSharp.Tests/OmniSharp.Tests.csproj
+++ b/tests/OmniSharp.Tests/OmniSharp.Tests.csproj
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>net461</TargetFramework>
+    <TargetFramework>net472</TargetFramework>
     <PlatformTarget>AnyCPU</PlatformTarget>
     <GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>
   </PropertyGroup>
diff --git a/tests/TestUtility/TestUtility.csproj b/tests/TestUtility/TestUtility.csproj
index 5828ebd8df..70a5b3a7e7 100644
--- a/tests/TestUtility/TestUtility.csproj
+++ b/tests/TestUtility/TestUtility.csproj
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>net461</TargetFramework>
+    <TargetFramework>net472</TargetFramework>
     <PlatformTarget>AnyCPU</PlatformTarget>
   </PropertyGroup>
 

From 99ae4e0696e9c2063d1155a38acca161b89d593c Mon Sep 17 00:00:00 2001
From: Ravi Chande <rchande@microsoft.com>
Date: Fri, 5 Apr 2019 11:02:02 -0700
Subject: [PATCH 19/27] Create 15.0 folder in .msbuild

---
 build.cake | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/build.cake b/build.cake
index d5dd10f3d9..e6111e1331 100644
--- a/build.cake
+++ b/build.cake
@@ -406,6 +406,12 @@ Task("CreateMSBuildFolder")
         source: CombinePaths(env.Folders.Tools, "SQLitePCLRaw.bundle_green", "lib", "net45", "SQLitePCLRaw.batteries_green.dll"),
         destination: CombinePaths(msbuildCurrentBinTargetFolder, "SQLitePCLRaw.batteries_green.dll"),
         overwrite: true);
+
+    var msbuild15TargetFolder = CombinePaths(env.Folders.MSBuild, "15.0");
+    if (!Platform.Current.IsWindows)
+    {
+        DirectoryHelper.Copy(msbuildCurrentTargetFolder, msbuild15TargetFolder);
+    }
 });
 
 /// <summary>

From 27fcb148c6ffc9a6509e6d435cd9ec3827f53057 Mon Sep 17 00:00:00 2001
From: Ravi Chande <rchande@microsoft.com>
Date: Fri, 5 Apr 2019 11:12:01 -0700
Subject: [PATCH 20/27] 472

---
 build.cake | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/build.cake b/build.cake
index e6111e1331..2023131d50 100644
--- a/build.cake
+++ b/build.cake
@@ -725,7 +725,7 @@ string PublishMonoBuild(string project, BuildEnvironment env, BuildPlan plan, st
 
     var outputFolder = CombinePaths(env.Folders.ArtifactsPublish, project, "mono");
 
-    var buildFolder = CombinePaths(env.Folders.Bin, configuration, project, "net461");
+    var buildFolder = CombinePaths(env.Folders.Bin, configuration, project, "net472");
 
     CopyMonoBuild(env, buildFolder, outputFolder);
 

From ed63f7a6cb25380962ef43fcdcc5cdedc278f264 Mon Sep 17 00:00:00 2001
From: Ravi Chande <rchande@microsoft.com>
Date: Fri, 5 Apr 2019 11:58:24 -0700
Subject: [PATCH 21/27] Fix binding redirects

---
 build/Packages.props                  | 2 +-
 src/OmniSharp.Stdio.Driver/app.config | 4 ++++
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/build/Packages.props b/build/Packages.props
index 6d4a0be752..3e45db4fef 100644
--- a/build/Packages.props
+++ b/build/Packages.props
@@ -67,7 +67,7 @@
     <PackageReference Update="System.ComponentModel.Composition" Version="4.5.0" />
     <PackageReference Update="System.Composition" Version="1.0.31" />
     <PackageReference Update="System.Reflection.Metadata" Version="1.4.2" />
-    <PackageReference Update="System.Threading.Tasks.Dataflow" Version="4.6.0" />
+    <PackageReference Update="System.Threading.Tasks.Dataflow" Version="4.9.0" />
     <PackageReference Update="System.ValueTuple" Version="4.4.0" />
 
     <PackageReference Update="System.Reactive" Version="4.1.2" />
diff --git a/src/OmniSharp.Stdio.Driver/app.config b/src/OmniSharp.Stdio.Driver/app.config
index a725124756..c37aa682cc 100644
--- a/src/OmniSharp.Stdio.Driver/app.config
+++ b/src/OmniSharp.Stdio.Driver/app.config
@@ -51,6 +51,10 @@
                 <assemblyIdentity name="System.Composition.TypedParts" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
                 <bindingRedirect oldVersion="0.0.0.0-1.0.31.0" newVersion="1.0.31.0"/>
             </dependentAssembly>
+            <dependentAssembly>
+                <assemblyIdentity name="System.Threading.Tasks.Dataflow" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
+                <bindingRedirect oldVersion="0.0.0.0-4.6.3.0" newVersion="4.6.3.0"/>
+            </dependentAssembly>
         </assemblyBinding>
     </runtime>
 </configuration>

From 72a32f435d9b0fb26aa4de24194d2d6a6b51c55b Mon Sep 17 00:00:00 2001
From: Ravi Chande <rchande@microsoft.com>
Date: Fri, 5 Apr 2019 13:43:23 -0700
Subject: [PATCH 22/27] More binding redirects

---
 src/OmniSharp.Http.Driver/app.config            | 4 ++++
 src/OmniSharp.LanguageServerProtocol/app.config | 4 ++++
 2 files changed, 8 insertions(+)

diff --git a/src/OmniSharp.Http.Driver/app.config b/src/OmniSharp.Http.Driver/app.config
index a725124756..c37aa682cc 100644
--- a/src/OmniSharp.Http.Driver/app.config
+++ b/src/OmniSharp.Http.Driver/app.config
@@ -51,6 +51,10 @@
                 <assemblyIdentity name="System.Composition.TypedParts" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
                 <bindingRedirect oldVersion="0.0.0.0-1.0.31.0" newVersion="1.0.31.0"/>
             </dependentAssembly>
+            <dependentAssembly>
+                <assemblyIdentity name="System.Threading.Tasks.Dataflow" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
+                <bindingRedirect oldVersion="0.0.0.0-4.6.3.0" newVersion="4.6.3.0"/>
+            </dependentAssembly>
         </assemblyBinding>
     </runtime>
 </configuration>
diff --git a/src/OmniSharp.LanguageServerProtocol/app.config b/src/OmniSharp.LanguageServerProtocol/app.config
index 350534c84b..aa81c8885d 100644
--- a/src/OmniSharp.LanguageServerProtocol/app.config
+++ b/src/OmniSharp.LanguageServerProtocol/app.config
@@ -51,6 +51,10 @@
                 <assemblyIdentity name="System.Composition.TypedParts" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
                 <bindingRedirect oldVersion="0.0.0.0-1.0.31.0" newVersion="1.0.31.0"/>
             </dependentAssembly>
+            <dependentAssembly>
+                <assemblyIdentity name="System.Threading.Tasks.Dataflow" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
+                <bindingRedirect oldVersion="0.0.0.0-4.6.3.0" newVersion="4.6.3.0"/>
+            </dependentAssembly>
         </assemblyBinding>
     </runtime>
 </configuration>

From 9ca454f8865a99d25f91f27e11038ec5573bd441 Mon Sep 17 00:00:00 2001
From: Ravi Chande <rchande@microsoft.com>
Date: Fri, 5 Apr 2019 14:04:53 -0700
Subject: [PATCH 23/27] Update OmniSharp.Roslyn.CSharp.Tests.csproj

---
 .../OmniSharp.Roslyn.CSharp.Tests.csproj                         | 1 +
 1 file changed, 1 insertion(+)

diff --git a/tests/OmniSharp.Roslyn.CSharp.Tests/OmniSharp.Roslyn.CSharp.Tests.csproj b/tests/OmniSharp.Roslyn.CSharp.Tests/OmniSharp.Roslyn.CSharp.Tests.csproj
index 4669ac59f6..bb9a8096b3 100644
--- a/tests/OmniSharp.Roslyn.CSharp.Tests/OmniSharp.Roslyn.CSharp.Tests.csproj
+++ b/tests/OmniSharp.Roslyn.CSharp.Tests/OmniSharp.Roslyn.CSharp.Tests.csproj
@@ -19,6 +19,7 @@
     <PackageReference Include="Microsoft.NET.Test.Sdk" />
     <PackageReference Include="xunit.runner.visualstudio" />
     <PackageReference Include="xunit" />
+    <PackageReference Include="SQLitePCLRaw.bundle_green" PrivateAssets="all" />
   </ItemGroup>
 
   <ItemGroup>

From ef09fa64eb1115f4f47cb45a06ad0aa17b843966 Mon Sep 17 00:00:00 2001
From: Ravi Chande <rchande@microsoft.com>
Date: Mon, 8 Apr 2019 07:28:29 -0700
Subject: [PATCH 24/27] Install mono

---
 azure-pipelines.yml                   | 4 +++-
 src/OmniSharp.Http.Driver/app.config  | 8 ++++----
 src/OmniSharp.Stdio.Driver/app.config | 8 ++++----
 tests/app.config                      | 8 ++++----
 4 files changed, 15 insertions(+), 13 deletions(-)

diff --git a/azure-pipelines.yml b/azure-pipelines.yml
index b1a77325c2..ad314e2f88 100644
--- a/azure-pipelines.yml
+++ b/azure-pipelines.yml
@@ -31,7 +31,7 @@ jobs:
       vmImage: "macOS-10.13"
     dependsOn: GitVersion
     variables:
-      MONO_VERSION: 5.16.0
+      MONO_VERSION: 5.18.0
     steps:
       - template: ./.pipelines/init.yml
         parameters:
@@ -41,6 +41,8 @@ jobs:
           NuGetVersion: $(NuGetVersion)
           pushNuget: false
       - script: |
+          curl https://download.mono-project.com/archive/5.18.1/macos-10-universal/MonoFramework-MDK-5.18.1.0.macos10.xamarin.universal.pkg
+          sudo installer -pkg MonoFramework-MDK-5.18.1.0.macos10.xamarin.universal.pkg -target /
           sudo cp -rf /Library/Frameworks/Mono.framework/Versions/$MONO_VERSION/ /Library/Frameworks/Mono.framework/Versions/Current/
           MONOPREFIX=/Library/Frameworks/Mono.framework/Versions/$MONO_VERSION
           echo "##vso[task.setvariable variable=DYLD_FALLBACK_LIBRARY_PATH;]$MONOPREFIX/lib:/lib:/usr/lib:$DYLD_LIBRARY_FALLBACK_PATH"
diff --git a/src/OmniSharp.Http.Driver/app.config b/src/OmniSharp.Http.Driver/app.config
index c37aa682cc..4f4483d2db 100644
--- a/src/OmniSharp.Http.Driver/app.config
+++ b/src/OmniSharp.Http.Driver/app.config
@@ -20,19 +20,19 @@
 
             <dependentAssembly>
                 <assemblyIdentity name="Microsoft.Build.Framework" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
-                <bindingRedirect oldVersion="2.0.0.0-99.0.0.0" newVersion="15.1.0.0"/>
+                <bindingRedirect oldVersion="2.0.0.0-99.0.0.0" newVersion="16.0.0.0"/>
             </dependentAssembly>
             <dependentAssembly>
                 <assemblyIdentity name="Microsoft.Build" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
-                <bindingRedirect oldVersion="2.0.0.0-99.0.0.0" newVersion="15.1.0.0"/>
+                <bindingRedirect oldVersion="2.0.0.0-99.0.0.0" newVersion="16.0.0.0"/>
             </dependentAssembly>
             <dependentAssembly>
                 <assemblyIdentity name="Microsoft.Build.Tasks.Core" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
-                <bindingRedirect oldVersion="2.0.0.0-99.0.0.0" newVersion="15.1.0.0"/>
+                <bindingRedirect oldVersion="2.0.0.0-99.0.0.0" newVersion="16.0.0.0"/>
             </dependentAssembly>
             <dependentAssembly>
                 <assemblyIdentity name="Microsoft.Build.Utilities.Core" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
-                <bindingRedirect oldVersion="2.0.0.0-99.0.0.0" newVersion="15.1.0.0"/>
+                <bindingRedirect oldVersion="2.0.0.0-99.0.0.0" newVersion="16.0.0.0"/>
             </dependentAssembly>
           
             <dependentAssembly>
diff --git a/src/OmniSharp.Stdio.Driver/app.config b/src/OmniSharp.Stdio.Driver/app.config
index c37aa682cc..4f4483d2db 100644
--- a/src/OmniSharp.Stdio.Driver/app.config
+++ b/src/OmniSharp.Stdio.Driver/app.config
@@ -20,19 +20,19 @@
 
             <dependentAssembly>
                 <assemblyIdentity name="Microsoft.Build.Framework" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
-                <bindingRedirect oldVersion="2.0.0.0-99.0.0.0" newVersion="15.1.0.0"/>
+                <bindingRedirect oldVersion="2.0.0.0-99.0.0.0" newVersion="16.0.0.0"/>
             </dependentAssembly>
             <dependentAssembly>
                 <assemblyIdentity name="Microsoft.Build" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
-                <bindingRedirect oldVersion="2.0.0.0-99.0.0.0" newVersion="15.1.0.0"/>
+                <bindingRedirect oldVersion="2.0.0.0-99.0.0.0" newVersion="16.0.0.0"/>
             </dependentAssembly>
             <dependentAssembly>
                 <assemblyIdentity name="Microsoft.Build.Tasks.Core" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
-                <bindingRedirect oldVersion="2.0.0.0-99.0.0.0" newVersion="15.1.0.0"/>
+                <bindingRedirect oldVersion="2.0.0.0-99.0.0.0" newVersion="16.0.0.0"/>
             </dependentAssembly>
             <dependentAssembly>
                 <assemblyIdentity name="Microsoft.Build.Utilities.Core" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
-                <bindingRedirect oldVersion="2.0.0.0-99.0.0.0" newVersion="15.1.0.0"/>
+                <bindingRedirect oldVersion="2.0.0.0-99.0.0.0" newVersion="16.0.0.0"/>
             </dependentAssembly>
           
             <dependentAssembly>
diff --git a/tests/app.config b/tests/app.config
index 45e6a8ef7e..b8e3465774 100644
--- a/tests/app.config
+++ b/tests/app.config
@@ -20,19 +20,19 @@
 
             <dependentAssembly>
                 <assemblyIdentity name="Microsoft.Build.Framework" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
-                <bindingRedirect oldVersion="2.0.0.0-99.0.0.0" newVersion="15.1.0.0"/>
+                <bindingRedirect oldVersion="2.0.0.0-99.0.0.0" newVersion="16.0.0.0"/>
             </dependentAssembly>
             <dependentAssembly>
                 <assemblyIdentity name="Microsoft.Build" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
-                <bindingRedirect oldVersion="2.0.0.0-99.0.0.0" newVersion="15.1.0.0"/>
+                <bindingRedirect oldVersion="2.0.0.0-99.0.0.0" newVersion="16.0.0.0"/>
             </dependentAssembly>
             <dependentAssembly>
                 <assemblyIdentity name="Microsoft.Build.Tasks.Core" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
-                <bindingRedirect oldVersion="2.0.0.0-99.0.0.0" newVersion="15.1.0.0"/>
+                <bindingRedirect oldVersion="2.0.0.0-99.0.0.0" newVersion="16.0.0.0"/>
             </dependentAssembly>
             <dependentAssembly>
                 <assemblyIdentity name="Microsoft.Build.Utilities.Core" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
-                <bindingRedirect oldVersion="2.0.0.0-99.0.0.0" newVersion="15.1.0.0"/>
+                <bindingRedirect oldVersion="2.0.0.0-99.0.0.0" newVersion="16.0.0.0"/>
             </dependentAssembly>
 
             <dependentAssembly>

From 617e21388cc25e3ffaf96e94b321ccb8d1ec8b39 Mon Sep 17 00:00:00 2001
From: Ravi Chande <rchande@Ravis-MacBook-Pro.local>
Date: Mon, 8 Apr 2019 07:33:15 -0700
Subject: [PATCH 25/27] BEtter curling

---
 azure-pipelines.yml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/azure-pipelines.yml b/azure-pipelines.yml
index ad314e2f88..2c0b494aa1 100644
--- a/azure-pipelines.yml
+++ b/azure-pipelines.yml
@@ -41,8 +41,8 @@ jobs:
           NuGetVersion: $(NuGetVersion)
           pushNuget: false
       - script: |
-          curl https://download.mono-project.com/archive/5.18.1/macos-10-universal/MonoFramework-MDK-5.18.1.0.macos10.xamarin.universal.pkg
-          sudo installer -pkg MonoFramework-MDK-5.18.1.0.macos10.xamarin.universal.pkg -target /
+          curl -o mono5.18.pkg https://download.mono-project.com/archive/5.18.1/macos-10-universal/MonoFramework-MDK-5.18.1.0.macos10.xamarin.universal.pkg
+          sudo installer -pkg mono5.18.pkg -target /
           sudo cp -rf /Library/Frameworks/Mono.framework/Versions/$MONO_VERSION/ /Library/Frameworks/Mono.framework/Versions/Current/
           MONOPREFIX=/Library/Frameworks/Mono.framework/Versions/$MONO_VERSION
           echo "##vso[task.setvariable variable=DYLD_FALLBACK_LIBRARY_PATH;]$MONOPREFIX/lib:/lib:/usr/lib:$DYLD_LIBRARY_FALLBACK_PATH"

From 07eddb7d69e80704bfbc44f59a5f2379cb87ca29 Mon Sep 17 00:00:00 2001
From: Ravi Chande <rchande@Ravis-MacBook-Pro.local>
Date: Mon, 8 Apr 2019 07:39:49 -0700
Subject: [PATCH 26/27] .1

---
 azure-pipelines.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/azure-pipelines.yml b/azure-pipelines.yml
index 2c0b494aa1..74a936b87e 100644
--- a/azure-pipelines.yml
+++ b/azure-pipelines.yml
@@ -31,7 +31,7 @@ jobs:
       vmImage: "macOS-10.13"
     dependsOn: GitVersion
     variables:
-      MONO_VERSION: 5.18.0
+      MONO_VERSION: 5.18.1
     steps:
       - template: ./.pipelines/init.yml
         parameters:

From 1949e380e853aeeb3e1358d1350fab4b2a41dbda Mon Sep 17 00:00:00 2001
From: Ravi Chande <rchande@microsoft.com>
Date: Mon, 8 Apr 2019 08:18:07 -0700
Subject: [PATCH 27/27] apparently versions are still 15.1?

---
 src/OmniSharp.Http.Driver/app.config  | 8 ++++----
 src/OmniSharp.Stdio.Driver/app.config | 8 ++++----
 tests/app.config                      | 8 ++++----
 3 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/src/OmniSharp.Http.Driver/app.config b/src/OmniSharp.Http.Driver/app.config
index 4f4483d2db..c37aa682cc 100644
--- a/src/OmniSharp.Http.Driver/app.config
+++ b/src/OmniSharp.Http.Driver/app.config
@@ -20,19 +20,19 @@
 
             <dependentAssembly>
                 <assemblyIdentity name="Microsoft.Build.Framework" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
-                <bindingRedirect oldVersion="2.0.0.0-99.0.0.0" newVersion="16.0.0.0"/>
+                <bindingRedirect oldVersion="2.0.0.0-99.0.0.0" newVersion="15.1.0.0"/>
             </dependentAssembly>
             <dependentAssembly>
                 <assemblyIdentity name="Microsoft.Build" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
-                <bindingRedirect oldVersion="2.0.0.0-99.0.0.0" newVersion="16.0.0.0"/>
+                <bindingRedirect oldVersion="2.0.0.0-99.0.0.0" newVersion="15.1.0.0"/>
             </dependentAssembly>
             <dependentAssembly>
                 <assemblyIdentity name="Microsoft.Build.Tasks.Core" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
-                <bindingRedirect oldVersion="2.0.0.0-99.0.0.0" newVersion="16.0.0.0"/>
+                <bindingRedirect oldVersion="2.0.0.0-99.0.0.0" newVersion="15.1.0.0"/>
             </dependentAssembly>
             <dependentAssembly>
                 <assemblyIdentity name="Microsoft.Build.Utilities.Core" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
-                <bindingRedirect oldVersion="2.0.0.0-99.0.0.0" newVersion="16.0.0.0"/>
+                <bindingRedirect oldVersion="2.0.0.0-99.0.0.0" newVersion="15.1.0.0"/>
             </dependentAssembly>
           
             <dependentAssembly>
diff --git a/src/OmniSharp.Stdio.Driver/app.config b/src/OmniSharp.Stdio.Driver/app.config
index 4f4483d2db..c37aa682cc 100644
--- a/src/OmniSharp.Stdio.Driver/app.config
+++ b/src/OmniSharp.Stdio.Driver/app.config
@@ -20,19 +20,19 @@
 
             <dependentAssembly>
                 <assemblyIdentity name="Microsoft.Build.Framework" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
-                <bindingRedirect oldVersion="2.0.0.0-99.0.0.0" newVersion="16.0.0.0"/>
+                <bindingRedirect oldVersion="2.0.0.0-99.0.0.0" newVersion="15.1.0.0"/>
             </dependentAssembly>
             <dependentAssembly>
                 <assemblyIdentity name="Microsoft.Build" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
-                <bindingRedirect oldVersion="2.0.0.0-99.0.0.0" newVersion="16.0.0.0"/>
+                <bindingRedirect oldVersion="2.0.0.0-99.0.0.0" newVersion="15.1.0.0"/>
             </dependentAssembly>
             <dependentAssembly>
                 <assemblyIdentity name="Microsoft.Build.Tasks.Core" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
-                <bindingRedirect oldVersion="2.0.0.0-99.0.0.0" newVersion="16.0.0.0"/>
+                <bindingRedirect oldVersion="2.0.0.0-99.0.0.0" newVersion="15.1.0.0"/>
             </dependentAssembly>
             <dependentAssembly>
                 <assemblyIdentity name="Microsoft.Build.Utilities.Core" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
-                <bindingRedirect oldVersion="2.0.0.0-99.0.0.0" newVersion="16.0.0.0"/>
+                <bindingRedirect oldVersion="2.0.0.0-99.0.0.0" newVersion="15.1.0.0"/>
             </dependentAssembly>
           
             <dependentAssembly>
diff --git a/tests/app.config b/tests/app.config
index b8e3465774..45e6a8ef7e 100644
--- a/tests/app.config
+++ b/tests/app.config
@@ -20,19 +20,19 @@
 
             <dependentAssembly>
                 <assemblyIdentity name="Microsoft.Build.Framework" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
-                <bindingRedirect oldVersion="2.0.0.0-99.0.0.0" newVersion="16.0.0.0"/>
+                <bindingRedirect oldVersion="2.0.0.0-99.0.0.0" newVersion="15.1.0.0"/>
             </dependentAssembly>
             <dependentAssembly>
                 <assemblyIdentity name="Microsoft.Build" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
-                <bindingRedirect oldVersion="2.0.0.0-99.0.0.0" newVersion="16.0.0.0"/>
+                <bindingRedirect oldVersion="2.0.0.0-99.0.0.0" newVersion="15.1.0.0"/>
             </dependentAssembly>
             <dependentAssembly>
                 <assemblyIdentity name="Microsoft.Build.Tasks.Core" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
-                <bindingRedirect oldVersion="2.0.0.0-99.0.0.0" newVersion="16.0.0.0"/>
+                <bindingRedirect oldVersion="2.0.0.0-99.0.0.0" newVersion="15.1.0.0"/>
             </dependentAssembly>
             <dependentAssembly>
                 <assemblyIdentity name="Microsoft.Build.Utilities.Core" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
-                <bindingRedirect oldVersion="2.0.0.0-99.0.0.0" newVersion="16.0.0.0"/>
+                <bindingRedirect oldVersion="2.0.0.0-99.0.0.0" newVersion="15.1.0.0"/>
             </dependentAssembly>
 
             <dependentAssembly>