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 @@ - +