diff --git a/build/targets/PackageVersions.props b/build/targets/PackageVersions.props
index ffe1d55cd1b..a849537ed02 100644
--- a/build/targets/PackageVersions.props
+++ b/build/targets/PackageVersions.props
@@ -19,7 +19,7 @@
15.6.85
$(MicrosoftBuildOverallPackagesVersion)
$(MicrosoftBuildOverallPackagesVersion)
- $(MicrosoftBuildOverallPackagesVersion)
+ $(MicrosoftBuildOverallPackagesVersion)
$(MicrosoftBuildOverallPackagesVersion)
1.0.1
@@ -35,6 +35,7 @@
8.0.50727
15.0.26201
8.0.50727
+ 2.3.6152103
14.3.25407
15.0.26201
15.0.26201
@@ -61,9 +62,11 @@
1.0.30
1.1.0-roslyn-62714-01
8.0.0-alpha
+ 1.0.0
9.0.1
3.5.0
0.2.0-beta-000081
+
diff --git a/vsintegration/Vsix/VisualFSharpFull/Source.extension.vsixmanifest b/vsintegration/Vsix/VisualFSharpFull/Source.extension.vsixmanifest
index bbc80709606..26436755087 100644
--- a/vsintegration/Vsix/VisualFSharpFull/Source.extension.vsixmanifest
+++ b/vsintegration/Vsix/VisualFSharpFull/Source.extension.vsixmanifest
@@ -44,7 +44,7 @@
-
+
diff --git a/vsintegration/Vsix/VisualFSharpFull/VisualFSharpFull.csproj b/vsintegration/Vsix/VisualFSharpFull/VisualFSharpFull.csproj
index f4b6f6aed91..bea8f3a8313 100644
--- a/vsintegration/Vsix/VisualFSharpFull/VisualFSharpFull.csproj
+++ b/vsintegration/Vsix/VisualFSharpFull/VisualFSharpFull.csproj
@@ -33,9 +33,21 @@
packages\System.ValueTuple.4.4.0.nupkg
true
+
+ PreserveNewest
+ FSharp.Data.TypeProviders.dll
+ true
+
+
+ {702A7979-BCF9-4C41-853E-3ADFC9897890}
+ FSharp.Build
+ BuiltProjectOutputGroup%3bGetCopyToOutputDirectoryItems%3b
+ DebugSymbolsProjectOutputGroup%3b
+ True
+
{649FA588-F02E-457C-9FCF-87E46407481E}
FSharp.Compiler.Interactive.Settings
@@ -78,6 +90,13 @@
DebugSymbolsProjectOutputGroup%3b
True
+
+ {C94C257C-3C0A-4858-B5D8-D746498D1F08}
+ fsc
+ BuiltProjectOutputGroup%3bGetCopyToOutputDirectoryItems%3b
+ DebugSymbolsProjectOutputGroup%3b
+ True
+
{65e0e82a-eace-4787-8994-888674c2fe87}
FSharp.Editor
@@ -193,6 +212,11 @@
+
+
+
+
+
diff --git a/vsintegration/src/FSharp.Editor/Build/SetGlobalPropertiesForSdkProjects.fs b/vsintegration/src/FSharp.Editor/Build/SetGlobalPropertiesForSdkProjects.fs
new file mode 100644
index 00000000000..a7360b36df8
--- /dev/null
+++ b/vsintegration/src/FSharp.Editor/Build/SetGlobalPropertiesForSdkProjects.fs
@@ -0,0 +1,31 @@
+// Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information.
+
+namespace Microsoft.VisualStudio.FSharp.Editor
+
+open System.Collections.Immutable
+open System.ComponentModel.Composition
+open System.IO
+open System.Reflection
+open System.Threading
+open System.Threading.Tasks
+open Microsoft.VisualStudio.ProjectSystem
+open Microsoft.VisualStudio.ProjectSystem.Build
+
+// We can't use well-known constants here because `string + string` isn't a valid constant expression in F#.
+[]
+[]
+type internal SetGlobalPropertiesForSdkProjects
+ []
+ (
+ projectService: IProjectService
+ ) =
+ inherit StaticGlobalPropertiesProviderBase(projectService.Services)
+
+ override __.GetGlobalPropertiesAsync(_cancellationToken: CancellationToken): Task> =
+ let editorDirectory = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location)
+ [ "FSharpPropsShim", "Microsoft.FSharp.NetSdk.props"
+ "FSharpTargetsShim", "Microsoft.FSharp.NetSdk.targets"
+ "FSharpOverridesTargetsShim", "Microsoft.FSharp.Overrides.NetSdk.targets" ]
+ |> List.map (fun (key, value) -> (key, Path.Combine(editorDirectory, value)))
+ |> List.fold (fun (map:ImmutableDictionary) (key, value) -> map.Add(key, value)) (Empty.PropertiesMap)
+ |> Task.FromResult>
diff --git a/vsintegration/src/FSharp.Editor/FSharp.Editor.fsproj b/vsintegration/src/FSharp.Editor/FSharp.Editor.fsproj
index 208c0870c91..d5a1a38a56e 100644
--- a/vsintegration/src/FSharp.Editor/FSharp.Editor.fsproj
+++ b/vsintegration/src/FSharp.Editor/FSharp.Editor.fsproj
@@ -97,6 +97,7 @@
+
@@ -139,6 +140,7 @@
+
diff --git a/vsintegration/src/FSharp.ProjectSystem.Base/Project/Utilities.cs b/vsintegration/src/FSharp.ProjectSystem.Base/Project/Utilities.cs
index d725e493327..74a717d5a3b 100644
--- a/vsintegration/src/FSharp.ProjectSystem.Base/Project/Utilities.cs
+++ b/vsintegration/src/FSharp.ProjectSystem.Base/Project/Utilities.cs
@@ -742,6 +742,8 @@ public static Microsoft.Build.Evaluation.Project InitializeMsBuildProject(Micros
buildProject.IsBuildEnabled = true;
}
+ buildProject.SetProperty("FSharpTargetsPath", Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "Microsoft.FSharp.targets"));
+
return buildProject;
}
diff --git a/vsintegration/tests/UnitTests/VisualFSharp.UnitTests.fsproj b/vsintegration/tests/UnitTests/VisualFSharp.UnitTests.fsproj
index 36d863b3588..09d4f9b18fe 100644
--- a/vsintegration/tests/UnitTests/VisualFSharp.UnitTests.fsproj
+++ b/vsintegration/tests/UnitTests/VisualFSharp.UnitTests.fsproj
@@ -178,7 +178,7 @@
-
+