diff --git a/fcs/Directory.Build.props b/fcs/Directory.Build.props
index 596b06c0716..50e4c3e67b5 100644
--- a/fcs/Directory.Build.props
+++ b/fcs/Directory.Build.props
@@ -23,6 +23,16 @@
+ $(MSBuildThisFileDirectory)..\src
+ 22.0.3
+ --version:$(VersionPrefix)
+ false
+
+
+ $(FSharpSourcesRoot)\..\packages\FSharp.Compiler.Tools.4.1.27\tools
+ fsi.exe
$(ArtifactsBinDir)\FSharp.Build\Proto\net472
+ 4.6.2
+ net461
diff --git a/fcs/FSharp.Compiler.Service.MSBuild.v12/FSharp.Compiler.Service.MSBuild.v12.fsproj b/fcs/FSharp.Compiler.Service.MSBuild.v12/FSharp.Compiler.Service.MSBuild.v12.fsproj
index 20e1f29af35..9f7b3d20b29 100644
--- a/fcs/FSharp.Compiler.Service.MSBuild.v12/FSharp.Compiler.Service.MSBuild.v12.fsproj
+++ b/fcs/FSharp.Compiler.Service.MSBuild.v12/FSharp.Compiler.Service.MSBuild.v12.fsproj
@@ -1,11 +1,7 @@
-
- $(MSBuildProjectDirectory)\..\..\src
-
-
- net461
+ $(FcsTargetNetFxFramework)
true
$(DefineConstants);CROSS_PLATFORM_COMPILER
$(DefineConstants);ENABLE_MONO_SUPPORT
@@ -28,7 +24,7 @@
-
+
diff --git a/fcs/FSharp.Compiler.Service.ProjectCracker/FSharp.Compiler.Service.ProjectCracker.fsproj b/fcs/FSharp.Compiler.Service.ProjectCracker/FSharp.Compiler.Service.ProjectCracker.fsproj
index 648f66924df..a9cb30ba0f7 100644
--- a/fcs/FSharp.Compiler.Service.ProjectCracker/FSharp.Compiler.Service.ProjectCracker.fsproj
+++ b/fcs/FSharp.Compiler.Service.ProjectCracker/FSharp.Compiler.Service.ProjectCracker.fsproj
@@ -1,8 +1,7 @@
-
- net461
+ $(FcsTargetNetFxFramework)
true
@@ -20,14 +19,14 @@
ProjectCrackerOptions.fs
-
-
-
+
+
+
-
+
\ No newline at end of file
diff --git a/fcs/FSharp.Compiler.Service.ProjectCrackerTool/FSharp.Compiler.Service.ProjectCracker.targets b/fcs/FSharp.Compiler.Service.ProjectCrackerTool/FSharp.Compiler.Service.ProjectCracker.targets
index bd1c93e7979..ed01293adaf 100644
--- a/fcs/FSharp.Compiler.Service.ProjectCrackerTool/FSharp.Compiler.Service.ProjectCracker.targets
+++ b/fcs/FSharp.Compiler.Service.ProjectCrackerTool/FSharp.Compiler.Service.ProjectCracker.targets
@@ -1,7 +1,7 @@
-
-
+
+
diff --git a/fcs/FSharp.Compiler.Service.ProjectCrackerTool/FSharp.Compiler.Service.ProjectCrackerTool.fsproj b/fcs/FSharp.Compiler.Service.ProjectCrackerTool/FSharp.Compiler.Service.ProjectCrackerTool.fsproj
index 3beb0e1f996..19789a96299 100644
--- a/fcs/FSharp.Compiler.Service.ProjectCrackerTool/FSharp.Compiler.Service.ProjectCrackerTool.fsproj
+++ b/fcs/FSharp.Compiler.Service.ProjectCrackerTool/FSharp.Compiler.Service.ProjectCrackerTool.fsproj
@@ -1,12 +1,8 @@
-
- $(MSBuildProjectDirectory)\..\..\src
-
-
Exe
- net461
+ $(FcsTargetNetFxFramework)
true
$(DefineConstants);CROSS_PLATFORM_COMPILER
$(DefineConstants);ENABLE_MONO_SUPPORT
@@ -23,7 +19,7 @@
-
+
diff --git a/fcs/FSharp.Compiler.Service.Tests/CSharp_Analysis/CSharp_Analysis.csproj b/fcs/FSharp.Compiler.Service.Tests/CSharp_Analysis/CSharp_Analysis.csproj
index 30d3c96317f..534a1435415 100644
--- a/fcs/FSharp.Compiler.Service.Tests/CSharp_Analysis/CSharp_Analysis.csproj
+++ b/fcs/FSharp.Compiler.Service.Tests/CSharp_Analysis/CSharp_Analysis.csproj
@@ -1,7 +1,7 @@
- net461;netstandard2.0
+ $(FcsTargetNetFxFramework);netstandard2.0
false
$(NoWarn);0067;1591
diff --git a/fcs/FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.Tests.fsproj b/fcs/FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.Tests.fsproj
index c6d2243856a..1f7ffbf6d55 100644
--- a/fcs/FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.Tests.fsproj
+++ b/fcs/FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.Tests.fsproj
@@ -1,11 +1,7 @@
-
- $(MSBuildProjectDirectory)\..\..\src
-
-
- net461;netcoreapp2.0
+ $(FcsTargetNetFxFramework);netcoreapp2.0
true
4.1.19
$(NoWarn);44;75;
@@ -80,7 +76,7 @@
-
+
@@ -88,7 +84,7 @@
-
+
diff --git a/fcs/FSharp.Compiler.Service/FSharp.Compiler.Service.fsproj b/fcs/FSharp.Compiler.Service/FSharp.Compiler.Service.fsproj
index dcdf91eef4a..68983105861 100644
--- a/fcs/FSharp.Compiler.Service/FSharp.Compiler.Service.fsproj
+++ b/fcs/FSharp.Compiler.Service/FSharp.Compiler.Service.fsproj
@@ -1,12 +1,8 @@
-
- $(MSBuildProjectDirectory)\..\..\src
-
-
-
- net461;netstandard2.0
+
+ $(FcsTargetNetFxFramework);netstandard2.0
true
$(DefineConstants);COMPILER_SERVICE_AS_DLL
$(DefineConstants);COMPILER
@@ -638,7 +634,7 @@
-
+
@@ -650,7 +646,7 @@
-
+
diff --git a/fcs/README.md b/fcs/README.md
index ac97222a3c6..f0126f369c8 100644
--- a/fcs/README.md
+++ b/fcs/README.md
@@ -28,7 +28,7 @@ There are subtle differences between FSharp.Compiler.Service and FSharp.Compiler
FCS uses its own version number sequence for assemblies and packages, approximately following SemVer rules.
To update the version number a global replace through fcs\... is currently needed, e.g.
- fcs.props
+ Directory.Build.props
nuget/FSharp.Compiler.Service.nuspec
nuget/FSharp.Compiler.Service.MSBuild.v12.nuspec
nuget/FSharp.Compiler.Service.ProjectCracker.nuspec
diff --git a/fcs/fcs.props b/fcs/fcs.props
deleted file mode 100644
index 207d1f8085b..00000000000
--- a/fcs/fcs.props
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
- 22.0.3
- --version:$(VersionPrefix)
- false
-
-
- $(FSharpSourcesRoot)\..\packages\FSharp.Compiler.Tools.4.1.27\tools
- fsi.exe
-
-
\ No newline at end of file
diff --git a/fcs/samples/EditorService/EditorService.fsproj b/fcs/samples/EditorService/EditorService.fsproj
index 25795d9299c..d71d6dc2913 100644
--- a/fcs/samples/EditorService/EditorService.fsproj
+++ b/fcs/samples/EditorService/EditorService.fsproj
@@ -1,8 +1,7 @@
-
- net461;netcoreapp2.0
+ $(FcsTargetNetFxFramework);netcoreapp2.0
true
Exe
false
@@ -12,11 +11,11 @@
-
+
-
+
diff --git a/fcs/samples/FscExe/FscExe.fsproj b/fcs/samples/FscExe/FscExe.fsproj
index a160f690d2f..97553e41249 100644
--- a/fcs/samples/FscExe/FscExe.fsproj
+++ b/fcs/samples/FscExe/FscExe.fsproj
@@ -1,8 +1,7 @@
-
- net461
+ $(FcsTargetNetFxFramework)
true
Exe
false
@@ -14,10 +13,10 @@
-
+
-
+
diff --git a/fcs/samples/FsiExe/FsiExe.fsproj b/fcs/samples/FsiExe/FsiExe.fsproj
index 4ce18ab142c..94a2534c0e2 100644
--- a/fcs/samples/FsiExe/FsiExe.fsproj
+++ b/fcs/samples/FsiExe/FsiExe.fsproj
@@ -1,8 +1,7 @@
-
- net461
+ $(FcsTargetNetFxFramework)
true
Exe
false
@@ -16,10 +15,10 @@
-
+
-
+
diff --git a/fcs/samples/InteractiveService/InteractiveService.fsproj b/fcs/samples/InteractiveService/InteractiveService.fsproj
index 75686578f21..bd834961496 100644
--- a/fcs/samples/InteractiveService/InteractiveService.fsproj
+++ b/fcs/samples/InteractiveService/InteractiveService.fsproj
@@ -1,8 +1,7 @@
-
- net461
+ $(FcsTargetNetFxFramework)
true
Exe
false
@@ -12,10 +11,10 @@
-
+
-
+
diff --git a/fcs/samples/Tokenizer/Tokenizer.fsproj b/fcs/samples/Tokenizer/Tokenizer.fsproj
index 75686578f21..bd834961496 100644
--- a/fcs/samples/Tokenizer/Tokenizer.fsproj
+++ b/fcs/samples/Tokenizer/Tokenizer.fsproj
@@ -1,8 +1,7 @@
-
- net461
+ $(FcsTargetNetFxFramework)
true
Exe
false
@@ -12,10 +11,10 @@
-
+
-
+
diff --git a/fcs/samples/UntypedTree/UntypedTree.fsproj b/fcs/samples/UntypedTree/UntypedTree.fsproj
index 75686578f21..bd834961496 100644
--- a/fcs/samples/UntypedTree/UntypedTree.fsproj
+++ b/fcs/samples/UntypedTree/UntypedTree.fsproj
@@ -1,8 +1,7 @@
-
- net461
+ $(FcsTargetNetFxFramework)
true
Exe
false
@@ -12,10 +11,10 @@
-
+
-
+