diff --git a/.gitignore b/.gitignore
index 1c0ff437d77..93d939ecd89 100644
--- a/.gitignore
+++ b/.gitignore
@@ -102,3 +102,4 @@ tests/fsharp/core/array/dont.run.peverify
tests/fsharp/core/innerpoly/dont.run.peverify
tests/fsharp/typecheck/sigs/neg94-pre.dll
times
+/tests/fsharpqa/testenv/bin/System.ValueTuple.dll
diff --git a/src/FSharpSource.Settings.targets b/src/FSharpSource.Settings.targets
index 455357f0a2c..861333ccc71 100644
--- a/src/FSharpSource.Settings.targets
+++ b/src/FSharpSource.Settings.targets
@@ -16,7 +16,6 @@
$(MSBuildThisFileDirectory)..\Tools\
$(ToolsDir)net45\
- false
false
diff --git a/src/fsharp/FSharp.LanguageService.Compiler/FSharp.LanguageService.Compiler.fsproj b/src/fsharp/FSharp.LanguageService.Compiler/FSharp.LanguageService.Compiler.fsproj
index 4ebc45999ce..d3e9642414c 100644
--- a/src/fsharp/FSharp.LanguageService.Compiler/FSharp.LanguageService.Compiler.fsproj
+++ b/src/fsharp/FSharp.LanguageService.Compiler/FSharp.LanguageService.Compiler.fsproj
@@ -593,7 +593,6 @@
..\..\..\packages\System.Reflection.Metadata.1.4.1-beta-24227-04\lib\portable-net45+win8\System.Reflection.Metadata.dll
..\..\..\packages\System.Collections.Immutable.1.2.0\lib\portable-net45+win8+wp8+wpa81\System.Collections.Immutable.dll
..\..\..\packages\System.ValueTuple.4.0.0-rc3-24212-01\lib\netstandard1.1\System.ValueTuple.dll
- ..\..\..\packages\System.ValueTuple.4.0.0-rc3-24212-01\lib\netstandard1.1\\System.ValueTuple.dll
{DED3BBD7-53F4-428A-8C9F-27968E768605}
FSharp.Core
diff --git a/vsintegration/ProjectTemplates/ConsoleProject/ConsoleProject.csproj b/vsintegration/ProjectTemplates/ConsoleProject/ConsoleProject.csproj
index 599064f2d15..de7fec4d010 100644
--- a/vsintegration/ProjectTemplates/ConsoleProject/ConsoleProject.csproj
+++ b/vsintegration/ProjectTemplates/ConsoleProject/ConsoleProject.csproj
@@ -18,13 +18,14 @@
false
false
false
+ {604F0DAA-2D33-48DD-B162-EDF0B672803D}
Debug
net40
$(FSharpSourcesRoot)\..\$(Configuration)\$(TargetFramework)\bin\$(TemplateCategory)\$(AssemblyName)
-
+
@@ -41,25 +42,25 @@
false
-
+
-
+
-
+
-
+
-
+
-
+
diff --git a/vsintegration/ProjectTemplates/ConsoleProject/Template/ConsoleApplication.fsproj b/vsintegration/ProjectTemplates/ConsoleProject/Template/ConsoleApplication.fsproj
index 2200bd4f253..317a72c7faa 100644
--- a/vsintegration/ProjectTemplates/ConsoleProject/Template/ConsoleApplication.fsproj
+++ b/vsintegration/ProjectTemplates/ConsoleProject/Template/ConsoleApplication.fsproj
@@ -60,7 +60,6 @@
-
diff --git a/vsintegration/ProjectTemplates/ConsoleProject/Template/ConsoleApplication.vstemplate b/vsintegration/ProjectTemplates/ConsoleProject/Template/ConsoleApplication.vstemplate
index 3c023acf6a0..551be0d35b9 100644
--- a/vsintegration/ProjectTemplates/ConsoleProject/Template/ConsoleApplication.vstemplate
+++ b/vsintegration/ProjectTemplates/ConsoleProject/Template/ConsoleApplication.vstemplate
@@ -17,8 +17,16 @@
AssemblyInfo.fs
Program.fs
- packages.config
App.config
+
+ NuGet.VisualStudio.Interop, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+ NuGet.VisualStudio.TemplateWizard
+
+
+
+
+
+
diff --git a/vsintegration/ProjectTemplates/ConsoleProject/Template/packages.config b/vsintegration/ProjectTemplates/ConsoleProject/Template/packages.config
deleted file mode 100644
index 2688d2bafb3..00000000000
--- a/vsintegration/ProjectTemplates/ConsoleProject/Template/packages.config
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/vsintegration/ProjectTemplates/LibraryProject/LibraryProject.csproj b/vsintegration/ProjectTemplates/LibraryProject/LibraryProject.csproj
index c71088687a8..a597d5696b3 100644
--- a/vsintegration/ProjectTemplates/LibraryProject/LibraryProject.csproj
+++ b/vsintegration/ProjectTemplates/LibraryProject/LibraryProject.csproj
@@ -18,13 +18,14 @@
false
false
false
+ {01678CDA-A11F-4DEE-9344-2EDF91CF1AE7}
Debug
net40
$(FSharpSourcesRoot)\..\$(Configuration)\$(TargetFramework)\bin\$(TemplateCategory)\$(AssemblyName)
-
+
@@ -45,21 +46,20 @@
-
+
-
-
+
-
+
diff --git a/vsintegration/ProjectTemplates/LibraryProject/Template/Library.fsproj b/vsintegration/ProjectTemplates/LibraryProject/Template/Library.fsproj
index 6bcaa3bec86..ff9efeec96c 100644
--- a/vsintegration/ProjectTemplates/LibraryProject/Template/Library.fsproj
+++ b/vsintegration/ProjectTemplates/LibraryProject/Template/Library.fsproj
@@ -56,7 +56,6 @@
-
diff --git a/vsintegration/ProjectTemplates/LibraryProject/Template/Library.vstemplate b/vsintegration/ProjectTemplates/LibraryProject/Template/Library.vstemplate
index d351e7034b4..b7cb22cfc8f 100644
--- a/vsintegration/ProjectTemplates/LibraryProject/Template/Library.vstemplate
+++ b/vsintegration/ProjectTemplates/LibraryProject/Template/Library.vstemplate
@@ -17,8 +17,16 @@
AssemblyInfo.fs
Library1.fs
- packages.config
Script.fsx
+
+ NuGet.VisualStudio.Interop, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+ NuGet.VisualStudio.TemplateWizard
+
+
+
+
+
+
diff --git a/vsintegration/ProjectTemplates/LibraryProject/Template/packages.config b/vsintegration/ProjectTemplates/LibraryProject/Template/packages.config
deleted file mode 100644
index 2688d2bafb3..00000000000
--- a/vsintegration/ProjectTemplates/LibraryProject/Template/packages.config
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/vsintegration/ProjectTemplates/NetCore259Project/NetCore259Project.csproj b/vsintegration/ProjectTemplates/NetCore259Project/NetCore259Project.csproj
index 28ef29bb455..28876312729 100644
--- a/vsintegration/ProjectTemplates/NetCore259Project/NetCore259Project.csproj
+++ b/vsintegration/ProjectTemplates/NetCore259Project/NetCore259Project.csproj
@@ -18,15 +18,16 @@
false
false
false
+ {D9D95330-3626-4199-B7AF-17B8E4AF6D87}
Debug
net40
$(FSharpSourcesRoot)\..\$(Configuration)\$(TargetFramework)\bin\$(TemplateCategory)\$(AssemblyName)
-
+
-
+
$(FSharpSourcesRoot)\..\loc\lcl\{Lang}\$(TemplateCategory)\$(AssemblyName)\AssemblyInfo.fs.lcl
@@ -41,25 +42,26 @@
false
-
+
-
+
-
+
-
+
-
-
+
+
+
-
+
diff --git a/vsintegration/ProjectTemplates/NetCore259Project/Template/NETCore259PortableLibrary.vstemplate b/vsintegration/ProjectTemplates/NetCore259Project/Template/NETCore259PortableLibrary.vstemplate
index 787127b74fa..8220c57fc7c 100644
--- a/vsintegration/ProjectTemplates/NetCore259Project/Template/NETCore259PortableLibrary.vstemplate
+++ b/vsintegration/ProjectTemplates/NetCore259Project/Template/NETCore259PortableLibrary.vstemplate
@@ -17,8 +17,16 @@
AssemblyInfo.fs
PortableLibrary1.fs
- packages.config
Script.fsx
+
+ NuGet.VisualStudio.Interop, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+ NuGet.VisualStudio.TemplateWizard
+
+
+
+
+
+
diff --git a/vsintegration/ProjectTemplates/NetCore259Project/Template/PortableLibrary.fsproj b/vsintegration/ProjectTemplates/NetCore259Project/Template/PortableLibrary.fsproj
index 84f5a353b2d..90d6e69e3ba 100644
--- a/vsintegration/ProjectTemplates/NetCore259Project/Template/PortableLibrary.fsproj
+++ b/vsintegration/ProjectTemplates/NetCore259Project/Template/PortableLibrary.fsproj
@@ -48,7 +48,6 @@
-
diff --git a/vsintegration/ProjectTemplates/NetCore259Project/Template/packages.config b/vsintegration/ProjectTemplates/NetCore259Project/Template/packages.config
deleted file mode 100644
index 2688d2bafb3..00000000000
--- a/vsintegration/ProjectTemplates/NetCore259Project/Template/packages.config
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/vsintegration/ProjectTemplates/NetCore78Project/NetCore78Project.csproj b/vsintegration/ProjectTemplates/NetCore78Project/NetCore78Project.csproj
index 0bacc77498a..7a7633063db 100644
--- a/vsintegration/ProjectTemplates/NetCore78Project/NetCore78Project.csproj
+++ b/vsintegration/ProjectTemplates/NetCore78Project/NetCore78Project.csproj
@@ -18,15 +18,14 @@
false
false
false
+ {1A8DBF70-4178-4AE3-AF5F-39DDD5692210}
Debug
net40
$(FSharpSourcesRoot)\..\$(Configuration)\$(TargetFramework)\bin\$(TemplateCategory)\$(AssemblyName)
-
-
$(FSharpSourcesRoot)\..\loc\lcl\{Lang}\$(TemplateCategory)\$(AssemblyName)\AssemblyInfo.fs.lcl
@@ -41,25 +40,19 @@
false
-
-
-
-
-
-
diff --git a/vsintegration/ProjectTemplates/NetCore78Project/Template/NETCore78PortableLibrary.vstemplate b/vsintegration/ProjectTemplates/NetCore78Project/Template/NETCore78PortableLibrary.vstemplate
index db0143565ca..0b745c7b8cb 100644
--- a/vsintegration/ProjectTemplates/NetCore78Project/Template/NETCore78PortableLibrary.vstemplate
+++ b/vsintegration/ProjectTemplates/NetCore78Project/Template/NETCore78PortableLibrary.vstemplate
@@ -17,8 +17,16 @@
AssemblyInfo.fs
PortableLibrary1.fs
- packages.config
Script.fsx
+
+ NuGet.VisualStudio.Interop, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+ NuGet.VisualStudio.TemplateWizard
+
+
+
+
+
+
diff --git a/vsintegration/ProjectTemplates/NetCore78Project/Template/PortableLibrary.fsproj b/vsintegration/ProjectTemplates/NetCore78Project/Template/PortableLibrary.fsproj
index 372c6b5a616..01fdf785813 100644
--- a/vsintegration/ProjectTemplates/NetCore78Project/Template/PortableLibrary.fsproj
+++ b/vsintegration/ProjectTemplates/NetCore78Project/Template/PortableLibrary.fsproj
@@ -48,7 +48,6 @@
-
diff --git a/vsintegration/ProjectTemplates/NetCore78Project/Template/packages.config b/vsintegration/ProjectTemplates/NetCore78Project/Template/packages.config
deleted file mode 100644
index 2688d2bafb3..00000000000
--- a/vsintegration/ProjectTemplates/NetCore78Project/Template/packages.config
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/vsintegration/ProjectTemplates/NetCoreProject/NetCoreProject.csproj b/vsintegration/ProjectTemplates/NetCoreProject/NetCoreProject.csproj
index 6bcefea0501..67aa95e4a27 100644
--- a/vsintegration/ProjectTemplates/NetCoreProject/NetCoreProject.csproj
+++ b/vsintegration/ProjectTemplates/NetCoreProject/NetCoreProject.csproj
@@ -18,6 +18,7 @@
false
false
false
+ {5B739CF3-1116-4EB4-B598-6C16BEA81CE5}
Debug
@@ -41,25 +42,25 @@
false
-
+
-
+
-
+
-
+
-
+
-
+
diff --git a/vsintegration/ProjectTemplates/NetCoreProject/Template/NETCore7PortableLibrary.vstemplate b/vsintegration/ProjectTemplates/NetCoreProject/Template/NETCore7PortableLibrary.vstemplate
index b228ccb0c16..ae8d8078b7b 100644
--- a/vsintegration/ProjectTemplates/NetCoreProject/Template/NETCore7PortableLibrary.vstemplate
+++ b/vsintegration/ProjectTemplates/NetCoreProject/Template/NETCore7PortableLibrary.vstemplate
@@ -18,7 +18,15 @@
AssemblyInfo.fs
PortableLibrary1.fs
Script.fsx
- packages.config
+
+ NuGet.VisualStudio.Interop, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+ NuGet.VisualStudio.TemplateWizard
+
+
+
+
+
+
diff --git a/vsintegration/ProjectTemplates/NetCoreProject/Template/PortableLibrary.fsproj b/vsintegration/ProjectTemplates/NetCoreProject/Template/PortableLibrary.fsproj
index ecf71f26e49..25f938ab49b 100644
--- a/vsintegration/ProjectTemplates/NetCoreProject/Template/PortableLibrary.fsproj
+++ b/vsintegration/ProjectTemplates/NetCoreProject/Template/PortableLibrary.fsproj
@@ -48,7 +48,6 @@
-
diff --git a/vsintegration/ProjectTemplates/NetCoreProject/Template/packages.config b/vsintegration/ProjectTemplates/NetCoreProject/Template/packages.config
deleted file mode 100644
index 2688d2bafb3..00000000000
--- a/vsintegration/ProjectTemplates/NetCoreProject/Template/packages.config
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/vsintegration/ProjectTemplates/PortableLibraryProject/PortableLibraryProject.csproj b/vsintegration/ProjectTemplates/PortableLibraryProject/PortableLibraryProject.csproj
index 82f33cc8ac3..3e7af2e1883 100644
--- a/vsintegration/ProjectTemplates/PortableLibraryProject/PortableLibraryProject.csproj
+++ b/vsintegration/ProjectTemplates/PortableLibraryProject/PortableLibraryProject.csproj
@@ -18,15 +18,16 @@
false
false
false
+ {DB374A0C-7560-479F-9B21-D37C81F7624F}
Debug
net40
$(FSharpSourcesRoot)\..\$(Configuration)\$(TargetFramework)\bin\$(TemplateCategory)\$(AssemblyName)
-
+
-
+
$(FSharpSourcesRoot)\..\loc\lcl\{Lang}\$(TemplateCategory)\$(AssemblyName)\AssemblyInfo.fs.lcl
@@ -41,25 +42,19 @@
false
-
-
-
-
-
-
diff --git a/vsintegration/ProjectTemplates/PortableLibraryProject/Template/PortableLibrary.fsproj b/vsintegration/ProjectTemplates/PortableLibraryProject/Template/PortableLibrary.fsproj
index dba3e128719..b518ed976ab 100644
--- a/vsintegration/ProjectTemplates/PortableLibraryProject/Template/PortableLibrary.fsproj
+++ b/vsintegration/ProjectTemplates/PortableLibraryProject/Template/PortableLibrary.fsproj
@@ -47,7 +47,6 @@
-
diff --git a/vsintegration/ProjectTemplates/PortableLibraryProject/Template/PortableLibrary.vstemplate b/vsintegration/ProjectTemplates/PortableLibraryProject/Template/PortableLibrary.vstemplate
index ef42699a0f4..ee93c441b3e 100644
--- a/vsintegration/ProjectTemplates/PortableLibraryProject/Template/PortableLibrary.vstemplate
+++ b/vsintegration/ProjectTemplates/PortableLibraryProject/Template/PortableLibrary.vstemplate
@@ -18,7 +18,15 @@
AssemblyInfo.fs
PortableLibrary1.fs
Script.fsx
- packages.config
+
+ NuGet.VisualStudio.Interop, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+ NuGet.VisualStudio.TemplateWizard
+
+
+
+
+
+
diff --git a/vsintegration/ProjectTemplates/PortableLibraryProject/Template/packages.config b/vsintegration/ProjectTemplates/PortableLibraryProject/Template/packages.config
deleted file mode 100644
index 2688d2bafb3..00000000000
--- a/vsintegration/ProjectTemplates/PortableLibraryProject/Template/packages.config
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/vsintegration/ProjectTemplates/TutorialProject/Template/Tutorial.fsproj b/vsintegration/ProjectTemplates/TutorialProject/Template/Tutorial.fsproj
index d2e6ae15561..4756fa4f31a 100644
--- a/vsintegration/ProjectTemplates/TutorialProject/Template/Tutorial.fsproj
+++ b/vsintegration/ProjectTemplates/TutorialProject/Template/Tutorial.fsproj
@@ -62,7 +62,6 @@
-
11
diff --git a/vsintegration/ProjectTemplates/TutorialProject/Template/Tutorial.vstemplate b/vsintegration/ProjectTemplates/TutorialProject/Template/Tutorial.vstemplate
index e02b29b756d..9c2abf06b09 100644
--- a/vsintegration/ProjectTemplates/TutorialProject/Template/Tutorial.vstemplate
+++ b/vsintegration/ProjectTemplates/TutorialProject/Template/Tutorial.vstemplate
@@ -16,7 +16,15 @@
Tutorial.fsx
- packages.config
+
+ NuGet.VisualStudio.Interop, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+ NuGet.VisualStudio.TemplateWizard
+
+
+
+
+
+
diff --git a/vsintegration/ProjectTemplates/TutorialProject/Template/packages.config b/vsintegration/ProjectTemplates/TutorialProject/Template/packages.config
deleted file mode 100644
index 2688d2bafb3..00000000000
--- a/vsintegration/ProjectTemplates/TutorialProject/Template/packages.config
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/vsintegration/ProjectTemplates/TutorialProject/TutorialProject.csproj b/vsintegration/ProjectTemplates/TutorialProject/TutorialProject.csproj
index 15caced7cac..455092ce3f6 100644
--- a/vsintegration/ProjectTemplates/TutorialProject/TutorialProject.csproj
+++ b/vsintegration/ProjectTemplates/TutorialProject/TutorialProject.csproj
@@ -18,15 +18,16 @@
false
false
false
+ {2FACEE44-48BD-40B5-A2EE-B54A0C9BB7C4}
Debug
net40
$(FSharpSourcesRoot)\..\$(Configuration)\$(TargetFramework)\bin\$(TemplateCategory)\$(AssemblyName)
-
+
-
+
$(FSharpSourcesRoot)\..\loc\lcl\{Lang}\$(TemplateCategory)\$(AssemblyName)\Tutorial.fsx.lcl
@@ -35,23 +36,23 @@
false
-
+
-
+
-
+
-
+
-
+
-
+
diff --git a/vsintegration/Vsix/VisualFSharpDesktop/VisualFSharpDesktop.csproj b/vsintegration/Vsix/VisualFSharpDesktop/VisualFSharpDesktop.csproj
index 07d2503b425..1134d65b237 100644
--- a/vsintegration/Vsix/VisualFSharpDesktop/VisualFSharpDesktop.csproj
+++ b/vsintegration/Vsix/VisualFSharpDesktop/VisualFSharpDesktop.csproj
@@ -53,6 +53,7 @@
$(RootBinPath)
15.4.1.0
cs
+ false
Program
@@ -81,6 +82,11 @@
PreserveNewest
true
+
+ PreserveNewest
+ packages\System.ValueTuple.4.0.0-rc3-24212-01.nupkg
+ true
+
diff --git a/vsintegration/Vsix/VisualFSharpFull/Source.extension.vsixmanifest b/vsintegration/Vsix/VisualFSharpFull/Source.extension.vsixmanifest
index 959a6417827..adcdc42044a 100644
--- a/vsintegration/Vsix/VisualFSharpFull/Source.extension.vsixmanifest
+++ b/vsintegration/Vsix/VisualFSharpFull/Source.extension.vsixmanifest
@@ -51,8 +51,7 @@
-
-
+
diff --git a/vsintegration/Vsix/VisualFSharpFull/VisualFSharpFull.csproj b/vsintegration/Vsix/VisualFSharpFull/VisualFSharpFull.csproj
index 53619bb7d8a..4dc33bf9c08 100644
--- a/vsintegration/Vsix/VisualFSharpFull/VisualFSharpFull.csproj
+++ b/vsintegration/Vsix/VisualFSharpFull/VisualFSharpFull.csproj
@@ -53,6 +53,7 @@
$(RootBinPath)
15.4.1.0
cs
+ false
Program
@@ -81,6 +82,11 @@
PreserveNewest
true
+
+ PreserveNewest
+ packages\System.ValueTuple.4.0.0-rc3-24212-01.nupkg
+ true
+
diff --git a/vsintegration/Vsix/VisualFSharpOpenSource/VisualFSharpOpenSource.csproj b/vsintegration/Vsix/VisualFSharpOpenSource/VisualFSharpOpenSource.csproj
index 5b0cf6abe64..fc59ee859ee 100644
--- a/vsintegration/Vsix/VisualFSharpOpenSource/VisualFSharpOpenSource.csproj
+++ b/vsintegration/Vsix/VisualFSharpOpenSource/VisualFSharpOpenSource.csproj
@@ -81,6 +81,11 @@
PreserveNewest
true
+
+ PreserveNewest
+ packages\System.ValueTuple.4.0.0-rc3-24212-01.nupkg
+ true
+
diff --git a/vsintegration/Vsix/VisualFSharpWeb/VisualFSharpWeb.csproj b/vsintegration/Vsix/VisualFSharpWeb/VisualFSharpWeb.csproj
index 5d8c12373f2..9b57ea66e8a 100644
--- a/vsintegration/Vsix/VisualFSharpWeb/VisualFSharpWeb.csproj
+++ b/vsintegration/Vsix/VisualFSharpWeb/VisualFSharpWeb.csproj
@@ -53,6 +53,7 @@
$(RootBinPath)
15.4.1.0
cs
+ false
Program
@@ -81,6 +82,11 @@
PreserveNewest
true
+
+ PreserveNewest
+ packages\System.ValueTuple.4.0.0-rc3-24212-01.nupkg
+ true
+