diff --git a/FSharpBuild.Directory.Build.targets b/FSharpBuild.Directory.Build.targets
index 1d9828726b9..e032f972c22 100644
--- a/FSharpBuild.Directory.Build.targets
+++ b/FSharpBuild.Directory.Build.targets
@@ -4,23 +4,59 @@
-
- $(CompileDependsOn);CopyAndSubstituteTextFiles
-
-
+ Outputs="@(CopyAndSubstituteText->'$(IntermediateOutputPath)%(Filename)%(Extension)')"
+ BeforeTargets="BeforeBuild">
+
+ <__TargetFilePath>@(CopyAndSubstituteText->'$(IntermediateOutputPath)%(Filename)%(Extension)')
+ <__TargetFileName>@(CopyAndSubstituteText->'%(Filename)%(Extension)')
+
<_ReplacementText>$([System.IO.File]::ReadAllText('%(CopyAndSubstituteText.FullPath)'))
<_ReplacementText Condition="'%(CopyAndSubstituteText.Pattern1)' != ''">$(_ReplacementText.Replace('%(CopyAndSubstituteText.Pattern1)', '%(CopyAndSubstituteText.Replacement1)'))
<_ReplacementText Condition="'%(CopyAndSubstituteText.Pattern2)' != ''">$(_ReplacementText.Replace('%(CopyAndSubstituteText.Pattern2)', '%(CopyAndSubstituteText.Replacement2)'))
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_BuildPropertyLines Remove="@(_BuildPropertyLines)" />
+ <_BuildPropertyLines Include="// <auto-generated >" />
+ <_BuildPropertyLines Include="// <Generated by the FSharp WriteCodeFragment class./>" />
+ <_BuildPropertyLines Include="// </auto-generated/>" />
+ <_BuildPropertyLines Include="//" />
+ <_BuildPropertyLines Include="module internal FSharp.BuildProperties" />
+ <_BuildPropertyLines Include="let fsProductVersion = "$(FSPRODUCTVERSION)"" />
+ <_BuildPropertyLines Include="let fsLanguageVersion = "$(FSLANGUAGEVERSION)"" />
+
+
+
+
+
-
-
-
+
+
+
+
diff --git a/eng/Versions.props b/eng/Versions.props
index b7706f695e1..40d00b05a95 100644
--- a/eng/Versions.props
+++ b/eng/Versions.props
@@ -12,10 +12,15 @@
beta
- 4.6
+ 4.6
+ $(FSLanguageVersion)
$(FSCoreMajorVersion).3
$(FSCoreMajorVersion).0
$(FSCoreVersionPrefix).0
+
+ 4.6.2
+
+ $(FSCorePackageVersion)-$(PreReleaseVersionLabel).*
10.4
@@ -184,4 +189,4 @@
1.0.0-beta2-dev3
5.22.2.1
-
+
\ No newline at end of file
diff --git a/fcs/Directory.Build.targets b/fcs/Directory.Build.targets
index bb5b23d29d0..ea3d9bd8c42 100644
--- a/fcs/Directory.Build.targets
+++ b/fcs/Directory.Build.targets
@@ -1,3 +1,58 @@
-
+
+
+
+
+ <__TargetFilePath>@(CopyAndSubstituteText->'$(IntermediateOutputPath)%(Filename)%(Extension)')
+ <__TargetFileName>@(CopyAndSubstituteText->'%(Filename)%(Extension)')
+
+ <_ReplacementText>$([System.IO.File]::ReadAllText('%(CopyAndSubstituteText.FullPath)'))
+ <_ReplacementText Condition="'%(CopyAndSubstituteText.Pattern1)' != ''">$(_ReplacementText.Replace('%(CopyAndSubstituteText.Pattern1)', '%(CopyAndSubstituteText.Replacement1)'))
+ <_ReplacementText Condition="'%(CopyAndSubstituteText.Pattern2)' != ''">$(_ReplacementText.Replace('%(CopyAndSubstituteText.Pattern2)', '%(CopyAndSubstituteText.Replacement2)'))
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_BuildPropertyLines Remove="@(_BuildPropertyLines)" />
+ <_BuildPropertyLines Include="// <auto-generated >" />
+ <_BuildPropertyLines Include="// <Generated by the FSharp WriteCodeFragment class./>" />
+ <_BuildPropertyLines Include="// </auto-generated/>" />
+ <_BuildPropertyLines Include="//" />
+ <_BuildPropertyLines Include="module internal FSharp.BuildProperties" />
+ <_BuildPropertyLines Include="let fsProductVersion = "$(FSPRODUCTVERSION)"" />
+ <_BuildPropertyLines Include="let fsLanguageVersion = "$(FSLANGUAGEVERSION)"" />
+
+
+
+
+
+
+
+
+
+
+
+
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 1f7ffbf6d55..9f16ede65d4 100644
--- a/fcs/FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.Tests.fsproj
+++ b/fcs/FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.Tests.fsproj
@@ -73,7 +73,10 @@
Program.fs
-
+
+ {{FSCoreVersion}}
+ $(FSCoreVersion)
+
diff --git a/fcs/FSharp.Compiler.Service/FSharp.Compiler.Service.fsproj b/fcs/FSharp.Compiler.Service/FSharp.Compiler.Service.fsproj
index 81db7f54c59..134a3ca745d 100644
--- a/fcs/FSharp.Compiler.Service/FSharp.Compiler.Service.fsproj
+++ b/fcs/FSharp.Compiler.Service/FSharp.Compiler.Service.fsproj
@@ -8,6 +8,7 @@
$(DefineConstants);COMPILER
$(DefineConstants);ENABLE_MONO_SUPPORT
$(DefineConstants);NO_STRONG_NAMES
+ $(DefineConstants);LOCALIZATION_FSCOMP
$(TargetFramework)\
$(TargetFramework)\
$(OtherFlags) /warnon:1182
diff --git a/src/fsharp/FSComp.txt b/src/fsharp/FSComp.txt
index c28343c01bc..ee2b41f2e9d 100644
--- a/src/fsharp/FSComp.txt
+++ b/src/fsharp/FSComp.txt
@@ -1462,3 +1462,4 @@ notAFunctionButMaybeDeclaration,"This value is not a function and cannot be appl
3300,chkInvalidFunctionParameterType,"The parameter '%s' has an invalid type '%s'. This is not permitted by the rules of Common IL."
3301,chkInvalidFunctionReturnType,"The function or method has an invalid return type '%s'. This is not permitted by the rules of Common IL."
useSdkRefs,"Use reference assemblies for .NET framework references when available (Enabled by default)."
+fSharpBannerVersion,"%s for F# %s"
diff --git a/src/fsharp/FSharp.Build/FSBuild.txt b/src/fsharp/FSharp.Build/FSBuild.txt
index 10fdedb2151..47d1ee7431d 100644
--- a/src/fsharp/FSharp.Build/FSBuild.txt
+++ b/src/fsharp/FSharp.Build/FSBuild.txt
@@ -1,2 +1,3 @@
# FSharp.Build resource strings
-toolpathUnknown,"ToolPath is unknown; specify the path to the tool."
\ No newline at end of file
+toolpathUnknown,"ToolPath is unknown; specify the path to the tool."
+fSharpBannerVersion,"%s for F# %s"
diff --git a/src/fsharp/FSharp.Build/FSharp.Build.fsproj b/src/fsharp/FSharp.Build/FSharp.Build.fsproj
index c236fbd864e..ef4d013dc1f 100644
--- a/src/fsharp/FSharp.Build/FSharp.Build.fsproj
+++ b/src/fsharp/FSharp.Build/FSharp.Build.fsproj
@@ -11,6 +11,7 @@
true
$(OtherFlags) --maxerrors:20 --extraoptimizationloops:1
true
+ $(DefineConstants);LOCALIZATION_FSBUILD
@@ -27,8 +28,14 @@
-
+
+ Microsoft.FSharp.NetSdk.props
+ {{FSharpCoreShippedPackageVersion}}
+ $(FSharpCoreShippedPackageVersion)
+ {{FSharpCorePreviewPackageVersion}}
+ $(FSharpCorePreviewPackageVersion)
+
diff --git a/src/fsharp/FSharp.Build/Microsoft.FSharp.NetSdk.props b/src/fsharp/FSharp.Build/Microsoft.FSharp.NetSdk.props
index 2d07d58ce69..1b40e6675ed 100644
--- a/src/fsharp/FSharp.Build/Microsoft.FSharp.NetSdk.props
+++ b/src/fsharp/FSharp.Build/Microsoft.FSharp.NetSdk.props
@@ -74,7 +74,8 @@ WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and
4.4.0
- 4.6.2
+ {{FSharpCoreShippedPackageVersion}}
+ {{FSharpCorePreviewPackageVersion}}
$(DefaultValueTuplePackageVersion)
$(DefaultFSharpCorePackageVersion)
diff --git a/src/fsharp/FSharp.Build/Microsoft.FSharp.NetSdk.targets b/src/fsharp/FSharp.Build/Microsoft.FSharp.NetSdk.targets
index 0e4aab34d77..282166c98d7 100644
--- a/src/fsharp/FSharp.Build/Microsoft.FSharp.NetSdk.targets
+++ b/src/fsharp/FSharp.Build/Microsoft.FSharp.NetSdk.targets
@@ -52,6 +52,12 @@ WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and
$(TargetsForTfmSpecificContentInPackage);PackageFSharpDesignTimeTools
+
+
+ $(DefaultFSharpCorePreviewPackageVersion)
+ $(RestoreSources); https://dotnet.myget.org/F/fsharp/api/v3/index.json
+
+
fsharp41
diff --git a/src/fsharp/FSharp.Build/xlf/FSBuild.txt.cs.xlf b/src/fsharp/FSharp.Build/xlf/FSBuild.txt.cs.xlf
index 374f1770bbb..64e44dc099e 100644
--- a/src/fsharp/FSharp.Build/xlf/FSBuild.txt.cs.xlf
+++ b/src/fsharp/FSharp.Build/xlf/FSBuild.txt.cs.xlf
@@ -2,6 +2,11 @@
+
+ {0} for F# {1}
+ {0} for F# {1}
+
+
ToolPath is unknown; specify the path to the tool.
Parametr ToolPath není známý. Zadejte cestu k nástroji.
diff --git a/src/fsharp/FSharp.Build/xlf/FSBuild.txt.de.xlf b/src/fsharp/FSharp.Build/xlf/FSBuild.txt.de.xlf
index c5a6cb42c9f..1865fb58fea 100644
--- a/src/fsharp/FSharp.Build/xlf/FSBuild.txt.de.xlf
+++ b/src/fsharp/FSharp.Build/xlf/FSBuild.txt.de.xlf
@@ -2,6 +2,11 @@
+
+ {0} for F# {1}
+ {0} for F# {1}
+
+
ToolPath is unknown; specify the path to the tool.
ToolPath unbekannt. Geben Sie den Pfad zum Tool an.
diff --git a/src/fsharp/FSharp.Build/xlf/FSBuild.txt.es.xlf b/src/fsharp/FSharp.Build/xlf/FSBuild.txt.es.xlf
index 4791cd16b2c..05929de6032 100644
--- a/src/fsharp/FSharp.Build/xlf/FSBuild.txt.es.xlf
+++ b/src/fsharp/FSharp.Build/xlf/FSBuild.txt.es.xlf
@@ -2,6 +2,11 @@
+
+ {0} for F# {1}
+ {0} for F# {1}
+
+
ToolPath is unknown; specify the path to the tool.
ToolPath se desconoce; especifique la ruta de acceso a la herramienta.
diff --git a/src/fsharp/FSharp.Build/xlf/FSBuild.txt.fr.xlf b/src/fsharp/FSharp.Build/xlf/FSBuild.txt.fr.xlf
index 79ddfd7ab24..22d534392f1 100644
--- a/src/fsharp/FSharp.Build/xlf/FSBuild.txt.fr.xlf
+++ b/src/fsharp/FSharp.Build/xlf/FSBuild.txt.fr.xlf
@@ -2,6 +2,11 @@
+
+ {0} for F# {1}
+ {0} for F# {1}
+
+
ToolPath is unknown; specify the path to the tool.
ToolPath est inconnu, spécifiez le chemin de l'outil.
diff --git a/src/fsharp/FSharp.Build/xlf/FSBuild.txt.it.xlf b/src/fsharp/FSharp.Build/xlf/FSBuild.txt.it.xlf
index a7dd116bb44..2e707f25086 100644
--- a/src/fsharp/FSharp.Build/xlf/FSBuild.txt.it.xlf
+++ b/src/fsharp/FSharp.Build/xlf/FSBuild.txt.it.xlf
@@ -2,6 +2,11 @@
+
+ {0} for F# {1}
+ {0} for F# {1}
+
+
ToolPath is unknown; specify the path to the tool.
Il valore di ToolPath è sconosciuto. Specificare il percorso dello strumento.
diff --git a/src/fsharp/FSharp.Build/xlf/FSBuild.txt.ja.xlf b/src/fsharp/FSharp.Build/xlf/FSBuild.txt.ja.xlf
index e26503cb96f..627dc44db2d 100644
--- a/src/fsharp/FSharp.Build/xlf/FSBuild.txt.ja.xlf
+++ b/src/fsharp/FSharp.Build/xlf/FSBuild.txt.ja.xlf
@@ -2,6 +2,11 @@
+
+ {0} for F# {1}
+ {0} for F# {1}
+
+
ToolPath is unknown; specify the path to the tool.
ToolPath が不明です。ツールンパスを指定します。
diff --git a/src/fsharp/FSharp.Build/xlf/FSBuild.txt.ko.xlf b/src/fsharp/FSharp.Build/xlf/FSBuild.txt.ko.xlf
index 4c141658672..f337b0ad289 100644
--- a/src/fsharp/FSharp.Build/xlf/FSBuild.txt.ko.xlf
+++ b/src/fsharp/FSharp.Build/xlf/FSBuild.txt.ko.xlf
@@ -2,6 +2,11 @@
+
+ {0} for F# {1}
+ {0} for F# {1}
+
+
ToolPath is unknown; specify the path to the tool.
ToolPath를 알 수 없습니다. 도구 경로를 지정하세요.
diff --git a/src/fsharp/FSharp.Build/xlf/FSBuild.txt.pl.xlf b/src/fsharp/FSharp.Build/xlf/FSBuild.txt.pl.xlf
index b7734b58a75..f88076689ac 100644
--- a/src/fsharp/FSharp.Build/xlf/FSBuild.txt.pl.xlf
+++ b/src/fsharp/FSharp.Build/xlf/FSBuild.txt.pl.xlf
@@ -2,6 +2,11 @@
+
+ {0} for F# {1}
+ {0} for F# {1}
+
+
ToolPath is unknown; specify the path to the tool.
Właściwość ToolPath jest nieznana. Określ ścieżkę do narzędzia.
diff --git a/src/fsharp/FSharp.Build/xlf/FSBuild.txt.pt-BR.xlf b/src/fsharp/FSharp.Build/xlf/FSBuild.txt.pt-BR.xlf
index 865c593fd07..e6c5b3c6011 100644
--- a/src/fsharp/FSharp.Build/xlf/FSBuild.txt.pt-BR.xlf
+++ b/src/fsharp/FSharp.Build/xlf/FSBuild.txt.pt-BR.xlf
@@ -2,6 +2,11 @@
+
+ {0} for F# {1}
+ {0} for F# {1}
+
+
ToolPath is unknown; specify the path to the tool.
ToolPath desconhecido. Especifique o caminho para a ferramenta.
diff --git a/src/fsharp/FSharp.Build/xlf/FSBuild.txt.ru.xlf b/src/fsharp/FSharp.Build/xlf/FSBuild.txt.ru.xlf
index b1fef639ee0..b84d44d49d4 100644
--- a/src/fsharp/FSharp.Build/xlf/FSBuild.txt.ru.xlf
+++ b/src/fsharp/FSharp.Build/xlf/FSBuild.txt.ru.xlf
@@ -2,6 +2,11 @@
+
+ {0} for F# {1}
+ {0} for F# {1}
+
+
ToolPath is unknown; specify the path to the tool.
Путь к инструменту (ToolPath) неизвестен, укажите путь к инструменту.
diff --git a/src/fsharp/FSharp.Build/xlf/FSBuild.txt.tr.xlf b/src/fsharp/FSharp.Build/xlf/FSBuild.txt.tr.xlf
index 4dd43b35531..02194a2720b 100644
--- a/src/fsharp/FSharp.Build/xlf/FSBuild.txt.tr.xlf
+++ b/src/fsharp/FSharp.Build/xlf/FSBuild.txt.tr.xlf
@@ -2,6 +2,11 @@
+
+ {0} for F# {1}
+ {0} for F# {1}
+
+
ToolPath is unknown; specify the path to the tool.
ToolPath bilinmiyor; aracın yolunu belirtin.
diff --git a/src/fsharp/FSharp.Build/xlf/FSBuild.txt.zh-Hans.xlf b/src/fsharp/FSharp.Build/xlf/FSBuild.txt.zh-Hans.xlf
index bf5016a3685..12ae0131cbd 100644
--- a/src/fsharp/FSharp.Build/xlf/FSBuild.txt.zh-Hans.xlf
+++ b/src/fsharp/FSharp.Build/xlf/FSBuild.txt.zh-Hans.xlf
@@ -2,6 +2,11 @@
+
+ {0} for F# {1}
+ {0} for F# {1}
+
+
ToolPath is unknown; specify the path to the tool.
ToolPath 未知;请指定工具的路径。
diff --git a/src/fsharp/FSharp.Build/xlf/FSBuild.txt.zh-Hant.xlf b/src/fsharp/FSharp.Build/xlf/FSBuild.txt.zh-Hant.xlf
index 0e30a5cfeca..c18392ba1dc 100644
--- a/src/fsharp/FSharp.Build/xlf/FSBuild.txt.zh-Hant.xlf
+++ b/src/fsharp/FSharp.Build/xlf/FSBuild.txt.zh-Hant.xlf
@@ -2,6 +2,11 @@
+
+ {0} for F# {1}
+ {0} for F# {1}
+
+
ToolPath is unknown; specify the path to the tool.
ToolPath 未知; 請指定工具的路徑。
diff --git a/src/fsharp/FSharp.Compiler.Private/FSharp.Compiler.Private.fsproj b/src/fsharp/FSharp.Compiler.Private/FSharp.Compiler.Private.fsproj
index 0bc20b90467..ebef5fb040b 100644
--- a/src/fsharp/FSharp.Compiler.Private/FSharp.Compiler.Private.fsproj
+++ b/src/fsharp/FSharp.Compiler.Private/FSharp.Compiler.Private.fsproj
@@ -11,6 +11,7 @@
true
$(DefineConstants);COMPILER
$(DefineConstants);MSBUILD_AT_LEAST_15
+ $(DefineConstants);LOCALIZATION_FCOMP
$(OtherFlags) --warnon:1182 --maxerrors:20 --extraoptimizationloops:1
true
diff --git a/src/fsharp/FSharp.Core/Testing.FSharp.Core.nuspec b/src/fsharp/FSharp.Core/Testing.FSharp.Core.nuspec
deleted file mode 100644
index 746986fc7a3..00000000000
--- a/src/fsharp/FSharp.Core/Testing.FSharp.Core.nuspec
+++ /dev/null
@@ -1,49 +0,0 @@
-
-
-
- Testing.FSharp.Core
-
- .NET Core compatible version of the fsharp core library FSharp.Core.dll
- Supported Platforms: - .NET Core (netstandard1.6)
-
- en-US
- true
- $version$
- $authors$
- $licenseUrl$
- $projectUrl$
- $tags$
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/fsharp/fsc/app.config b/src/fsharp/fsc/App.config
similarity index 87%
rename from src/fsharp/fsc/app.config
rename to src/fsharp/fsc/App.config
index 68fff88101e..3e0f05bbf95 100644
--- a/src/fsharp/fsc/app.config
+++ b/src/fsharp/fsc/App.config
@@ -6,7 +6,7 @@
-
+
diff --git a/src/fsharp/fsc/fsc.fsproj b/src/fsharp/fsc/fsc.fsproj
index 9cec3fb3140..8e5dce90af9 100644
--- a/src/fsharp/fsc/fsc.fsproj
+++ b/src/fsharp/fsc/fsc.fsproj
@@ -21,11 +21,14 @@
fscmain.fs
-
default.win32manifest
PreserveNewest
+
+ {{FSCoreVersion}}
+ $(FSCoreVersion)
+
diff --git a/src/fsharp/fsi/app.config b/src/fsharp/fsi/App.config
similarity index 86%
rename from src/fsharp/fsi/app.config
rename to src/fsharp/fsi/App.config
index 818ebc93b43..43f1fdd57ed 100644
--- a/src/fsharp/fsi/app.config
+++ b/src/fsharp/fsi/App.config
@@ -5,7 +5,7 @@
-
+
diff --git a/src/fsharp/fsi/fsi.fsproj b/src/fsharp/fsi/fsi.fsproj
index 4b92a354abe..d091baf9f93 100644
--- a/src/fsharp/fsi/fsi.fsproj
+++ b/src/fsharp/fsi/fsi.fsproj
@@ -22,7 +22,10 @@
-
+
+ {{FSCoreVersion}}
+ $(FSCoreVersion)
+
diff --git a/src/fsharp/fsiAnyCpu/app.config b/src/fsharp/fsiAnyCpu/App.config
similarity index 87%
rename from src/fsharp/fsiAnyCpu/app.config
rename to src/fsharp/fsiAnyCpu/App.config
index 6e8f1eb9084..af303c8db16 100644
--- a/src/fsharp/fsiAnyCpu/app.config
+++ b/src/fsharp/fsiAnyCpu/App.config
@@ -6,7 +6,7 @@
-
+
diff --git a/src/fsharp/fsiAnyCpu/fsiAnyCpu.fsproj b/src/fsharp/fsiAnyCpu/fsiAnyCpu.fsproj
index dbe31f6ec2a..cbd4f7103a2 100644
--- a/src/fsharp/fsiAnyCpu/fsiAnyCpu.fsproj
+++ b/src/fsharp/fsiAnyCpu/fsiAnyCpu.fsproj
@@ -22,7 +22,10 @@
-
+
+ {{FSCoreVersion}}
+ $(FSCoreVersion)
+
diff --git a/src/fsharp/xlf/FSComp.txt.cs.xlf b/src/fsharp/xlf/FSComp.txt.cs.xlf
index 23ea06f75a8..b3d508d0825 100644
--- a/src/fsharp/xlf/FSComp.txt.cs.xlf
+++ b/src/fsharp/xlf/FSComp.txt.cs.xlf
@@ -2,6 +2,11 @@
+
+ {0} for F# {1}
+ {0} for F# {1}
+
+
The namespace '{0}' is not defined.
Není definovaný obor názvů {0}.
diff --git a/src/fsharp/xlf/FSComp.txt.de.xlf b/src/fsharp/xlf/FSComp.txt.de.xlf
index 7c13cf3c311..41c117c7854 100644
--- a/src/fsharp/xlf/FSComp.txt.de.xlf
+++ b/src/fsharp/xlf/FSComp.txt.de.xlf
@@ -2,6 +2,11 @@
+
+ {0} for F# {1}
+ {0} for F# {1}
+
+
The namespace '{0}' is not defined.
Der Namespace "{0}" ist nicht definiert.
diff --git a/src/fsharp/xlf/FSComp.txt.es.xlf b/src/fsharp/xlf/FSComp.txt.es.xlf
index f3c85065ce9..0afc48bb2c6 100644
--- a/src/fsharp/xlf/FSComp.txt.es.xlf
+++ b/src/fsharp/xlf/FSComp.txt.es.xlf
@@ -2,6 +2,11 @@
+
+ {0} for F# {1}
+ {0} for F# {1}
+
+
The namespace '{0}' is not defined.
El espacio de nombres "{0}" no está definido.
@@ -109,7 +114,7 @@
All branches of a pattern match expression must return values of the same type as the first branch, which here is '{0}'. This branch returns a value of type '{1}'.
- Todas las ramas de una expresión de coincidencia de patrón deben devolver valores del mismo tipo. La primera rama devolvió un valor de tipo "{0}", pero esta rama devolvió un valor de tipo "\{1 \}".
+ All branches of a pattern match expression must return values of the same type as the first branch, which here is '{0}'. This branch returns a value of type '{1}'.
diff --git a/src/fsharp/xlf/FSComp.txt.fr.xlf b/src/fsharp/xlf/FSComp.txt.fr.xlf
index f7a5bc43329..32d85d1e78a 100644
--- a/src/fsharp/xlf/FSComp.txt.fr.xlf
+++ b/src/fsharp/xlf/FSComp.txt.fr.xlf
@@ -2,6 +2,11 @@
+
+ {0} for F# {1}
+ {0} for F# {1}
+
+
The namespace '{0}' is not defined.
L'espace de noms '{0}' n'est pas défini.
diff --git a/src/fsharp/xlf/FSComp.txt.it.xlf b/src/fsharp/xlf/FSComp.txt.it.xlf
index 8e4eccbd9cd..a7e0a7b48d7 100644
--- a/src/fsharp/xlf/FSComp.txt.it.xlf
+++ b/src/fsharp/xlf/FSComp.txt.it.xlf
@@ -2,6 +2,11 @@
+
+ {0} for F# {1}
+ {0} for F# {1}
+
+
The namespace '{0}' is not defined.
Lo spazio dei nomi '{0}' non è definito.
diff --git a/src/fsharp/xlf/FSComp.txt.ja.xlf b/src/fsharp/xlf/FSComp.txt.ja.xlf
index b49ebd63d94..328322d38cc 100644
--- a/src/fsharp/xlf/FSComp.txt.ja.xlf
+++ b/src/fsharp/xlf/FSComp.txt.ja.xlf
@@ -2,6 +2,11 @@
+
+ {0} for F# {1}
+ {0} for F# {1}
+
+
The namespace '{0}' is not defined.
名前空間 '{0}' が定義されていません。
diff --git a/src/fsharp/xlf/FSComp.txt.ko.xlf b/src/fsharp/xlf/FSComp.txt.ko.xlf
index 4f106b57958..720db8bff68 100644
--- a/src/fsharp/xlf/FSComp.txt.ko.xlf
+++ b/src/fsharp/xlf/FSComp.txt.ko.xlf
@@ -2,6 +2,11 @@
+
+ {0} for F# {1}
+ {0} for F# {1}
+
+
The namespace '{0}' is not defined.
'{0}' 네임스페이스가 정의되지 않았습니다.
diff --git a/src/fsharp/xlf/FSComp.txt.pl.xlf b/src/fsharp/xlf/FSComp.txt.pl.xlf
index 15ac9b912c6..ef4db0d67c1 100644
--- a/src/fsharp/xlf/FSComp.txt.pl.xlf
+++ b/src/fsharp/xlf/FSComp.txt.pl.xlf
@@ -2,6 +2,11 @@
+
+ {0} for F# {1}
+ {0} for F# {1}
+
+
The namespace '{0}' is not defined.
Nie zdefiniowano przestrzeni nazw „{0}”.
diff --git a/src/fsharp/xlf/FSComp.txt.pt-BR.xlf b/src/fsharp/xlf/FSComp.txt.pt-BR.xlf
index 1d50b7356cf..504db8484b2 100644
--- a/src/fsharp/xlf/FSComp.txt.pt-BR.xlf
+++ b/src/fsharp/xlf/FSComp.txt.pt-BR.xlf
@@ -2,6 +2,11 @@
+
+ {0} for F# {1}
+ {0} for F# {1}
+
+
The namespace '{0}' is not defined.
O namespace '{0}' não está definido.
diff --git a/src/fsharp/xlf/FSComp.txt.ru.xlf b/src/fsharp/xlf/FSComp.txt.ru.xlf
index 5e54c71aa4d..978ab1c59e9 100644
--- a/src/fsharp/xlf/FSComp.txt.ru.xlf
+++ b/src/fsharp/xlf/FSComp.txt.ru.xlf
@@ -2,6 +2,11 @@
+
+ {0} for F# {1}
+ {0} for F# {1}
+
+
The namespace '{0}' is not defined.
Пространство имен "{0}" не определено.
diff --git a/src/fsharp/xlf/FSComp.txt.tr.xlf b/src/fsharp/xlf/FSComp.txt.tr.xlf
index c3f580ec6b4..2e884168dd5 100644
--- a/src/fsharp/xlf/FSComp.txt.tr.xlf
+++ b/src/fsharp/xlf/FSComp.txt.tr.xlf
@@ -2,6 +2,11 @@
+
+ {0} for F# {1}
+ {0} for F# {1}
+
+
The namespace '{0}' is not defined.
'{0}' ad alanı tanımlı değil.
diff --git a/src/fsharp/xlf/FSComp.txt.zh-Hans.xlf b/src/fsharp/xlf/FSComp.txt.zh-Hans.xlf
index 99e41ca6b93..e87d047a133 100644
--- a/src/fsharp/xlf/FSComp.txt.zh-Hans.xlf
+++ b/src/fsharp/xlf/FSComp.txt.zh-Hans.xlf
@@ -2,6 +2,11 @@
+
+ {0} for F# {1}
+ {0} for F# {1}
+
+
The namespace '{0}' is not defined.
未定义命名空间“{0}”。
diff --git a/src/fsharp/xlf/FSComp.txt.zh-Hant.xlf b/src/fsharp/xlf/FSComp.txt.zh-Hant.xlf
index 70b7a400f45..98ed811142c 100644
--- a/src/fsharp/xlf/FSComp.txt.zh-Hant.xlf
+++ b/src/fsharp/xlf/FSComp.txt.zh-Hant.xlf
@@ -2,6 +2,11 @@
+
+ {0} for F# {1}
+ {0} for F# {1}
+
+
The namespace '{0}' is not defined.
未定義命名空間 '{0}'。
diff --git a/src/utils/CompilerLocationUtils.fs b/src/utils/CompilerLocationUtils.fs
index 84a0dfbfd4b..41de8bb911c 100644
--- a/src/utils/CompilerLocationUtils.fs
+++ b/src/utils/CompilerLocationUtils.fs
@@ -12,7 +12,15 @@ open System.Runtime.InteropServices
module internal FSharpEnvironment =
/// The F# version reported in the banner
- let FSharpBannerVersion = "10.4.0 for F# 4.6"
+#if LOCALIZATION_FSBUILD
+ let FSharpBannerVersion = FSBuild.SR.fSharpBannerVersion(FSharp.BuildProperties.fsProductVersion, FSharp.BuildProperties.fsLanguageVersion)
+#else
+#if LOCALIZATION_FSCOMP
+ let FSharpBannerVersion = FSComp.SR.fSharpBannerVersion(FSharp.BuildProperties.fsProductVersion, FSharp.BuildProperties.fsLanguageVersion)
+#else
+ let FSharpBannerVersion = sprintf "%s for F# %s" (FSharp.BuildProperties.fsProductVersion) (FSharp.BuildProperties.fsLanguageVersion)
+#endif
+#endif
let versionOf<'t> =
#if FX_RESHAPED_REFLECTION
diff --git a/vsintegration/src/FSharp.ProjectSystem.PropertyPages/Resources/xlf/Microsoft.VisualStudio.Editors.Designer.cs.xlf b/vsintegration/src/FSharp.ProjectSystem.PropertyPages/Resources/xlf/Microsoft.VisualStudio.Editors.Designer.cs.xlf
index 96c40e377d2..34d3f8e9398 100644
--- a/vsintegration/src/FSharp.ProjectSystem.PropertyPages/Resources/xlf/Microsoft.VisualStudio.Editors.Designer.cs.xlf
+++ b/vsintegration/src/FSharp.ProjectSystem.PropertyPages/Resources/xlf/Microsoft.VisualStudio.Editors.Designer.cs.xlf
@@ -1828,7 +1828,7 @@ CONSIDER: get this from CodeDom
{0} x {1}
- {0} x {1}
+ {0} x {1}
Format string for showing a graphic's size
# {0} = width (as an integer)
diff --git a/vsintegration/src/FSharp.ProjectSystem.PropertyPages/Resources/xlf/Microsoft.VisualStudio.Editors.Designer.de.xlf b/vsintegration/src/FSharp.ProjectSystem.PropertyPages/Resources/xlf/Microsoft.VisualStudio.Editors.Designer.de.xlf
index 5af40395147..65b4328fdc2 100644
--- a/vsintegration/src/FSharp.ProjectSystem.PropertyPages/Resources/xlf/Microsoft.VisualStudio.Editors.Designer.de.xlf
+++ b/vsintegration/src/FSharp.ProjectSystem.PropertyPages/Resources/xlf/Microsoft.VisualStudio.Editors.Designer.de.xlf
@@ -1828,7 +1828,7 @@ CONSIDER: get this from CodeDom
{0} x {1}
- {0} x {1}
+ {0} x {1}
Format string for showing a graphic's size
# {0} = width (as an integer)
diff --git a/vsintegration/src/FSharp.ProjectSystem.PropertyPages/Resources/xlf/Microsoft.VisualStudio.Editors.Designer.es.xlf b/vsintegration/src/FSharp.ProjectSystem.PropertyPages/Resources/xlf/Microsoft.VisualStudio.Editors.Designer.es.xlf
index 40d73cd4e8b..e6d3f880327 100644
--- a/vsintegration/src/FSharp.ProjectSystem.PropertyPages/Resources/xlf/Microsoft.VisualStudio.Editors.Designer.es.xlf
+++ b/vsintegration/src/FSharp.ProjectSystem.PropertyPages/Resources/xlf/Microsoft.VisualStudio.Editors.Designer.es.xlf
@@ -1828,7 +1828,7 @@ CONSIDER: get this from CodeDom
{0} x {1}
- {0} x {1}
+ {0} x {1}
Format string for showing a graphic's size
# {0} = width (as an integer)
diff --git a/vsintegration/src/FSharp.ProjectSystem.PropertyPages/Resources/xlf/Microsoft.VisualStudio.Editors.Designer.fr.xlf b/vsintegration/src/FSharp.ProjectSystem.PropertyPages/Resources/xlf/Microsoft.VisualStudio.Editors.Designer.fr.xlf
index 83a941758ad..d6eb96345c5 100644
--- a/vsintegration/src/FSharp.ProjectSystem.PropertyPages/Resources/xlf/Microsoft.VisualStudio.Editors.Designer.fr.xlf
+++ b/vsintegration/src/FSharp.ProjectSystem.PropertyPages/Resources/xlf/Microsoft.VisualStudio.Editors.Designer.fr.xlf
@@ -1828,7 +1828,7 @@ CONSIDER: get this from CodeDom
{0} x {1}
- {0} x {1}
+ {0} x {1}
Format string for showing a graphic's size
# {0} = width (as an integer)
diff --git a/vsintegration/src/FSharp.ProjectSystem.PropertyPages/Resources/xlf/Microsoft.VisualStudio.Editors.Designer.it.xlf b/vsintegration/src/FSharp.ProjectSystem.PropertyPages/Resources/xlf/Microsoft.VisualStudio.Editors.Designer.it.xlf
index fd7d41daa5b..44ff0d0304d 100644
--- a/vsintegration/src/FSharp.ProjectSystem.PropertyPages/Resources/xlf/Microsoft.VisualStudio.Editors.Designer.it.xlf
+++ b/vsintegration/src/FSharp.ProjectSystem.PropertyPages/Resources/xlf/Microsoft.VisualStudio.Editors.Designer.it.xlf
@@ -1828,7 +1828,7 @@ CONSIDER: get this from CodeDom
{0} x {1}
- {0} x {1}
+ {0} x {1}
Format string for showing a graphic's size
# {0} = width (as an integer)
diff --git a/vsintegration/src/FSharp.ProjectSystem.PropertyPages/Resources/xlf/Microsoft.VisualStudio.Editors.Designer.ja.xlf b/vsintegration/src/FSharp.ProjectSystem.PropertyPages/Resources/xlf/Microsoft.VisualStudio.Editors.Designer.ja.xlf
index cd4de3e846c..b40e0489413 100644
--- a/vsintegration/src/FSharp.ProjectSystem.PropertyPages/Resources/xlf/Microsoft.VisualStudio.Editors.Designer.ja.xlf
+++ b/vsintegration/src/FSharp.ProjectSystem.PropertyPages/Resources/xlf/Microsoft.VisualStudio.Editors.Designer.ja.xlf
@@ -1828,7 +1828,7 @@ CONSIDER: get this from CodeDom
{0} x {1}
- {0} x {1}
+ {0} x {1}
Format string for showing a graphic's size
# {0} = width (as an integer)
diff --git a/vsintegration/src/FSharp.ProjectSystem.PropertyPages/Resources/xlf/Microsoft.VisualStudio.Editors.Designer.ko.xlf b/vsintegration/src/FSharp.ProjectSystem.PropertyPages/Resources/xlf/Microsoft.VisualStudio.Editors.Designer.ko.xlf
index 8951b09f127..c8b592b4d37 100644
--- a/vsintegration/src/FSharp.ProjectSystem.PropertyPages/Resources/xlf/Microsoft.VisualStudio.Editors.Designer.ko.xlf
+++ b/vsintegration/src/FSharp.ProjectSystem.PropertyPages/Resources/xlf/Microsoft.VisualStudio.Editors.Designer.ko.xlf
@@ -1828,7 +1828,7 @@ CONSIDER: get this from CodeDom
{0} x {1}
- {0} x {1}
+ {0} x {1}
Format string for showing a graphic's size
# {0} = width (as an integer)
diff --git a/vsintegration/src/FSharp.ProjectSystem.PropertyPages/Resources/xlf/Microsoft.VisualStudio.Editors.Designer.pl.xlf b/vsintegration/src/FSharp.ProjectSystem.PropertyPages/Resources/xlf/Microsoft.VisualStudio.Editors.Designer.pl.xlf
index e75adbf3699..a1396dd274e 100644
--- a/vsintegration/src/FSharp.ProjectSystem.PropertyPages/Resources/xlf/Microsoft.VisualStudio.Editors.Designer.pl.xlf
+++ b/vsintegration/src/FSharp.ProjectSystem.PropertyPages/Resources/xlf/Microsoft.VisualStudio.Editors.Designer.pl.xlf
@@ -1828,7 +1828,7 @@ CONSIDER: get this from CodeDom
{0} x {1}
- {0} x {1}
+ {0} x {1}
Format string for showing a graphic's size
# {0} = width (as an integer)
diff --git a/vsintegration/src/FSharp.ProjectSystem.PropertyPages/Resources/xlf/Microsoft.VisualStudio.Editors.Designer.pt-BR.xlf b/vsintegration/src/FSharp.ProjectSystem.PropertyPages/Resources/xlf/Microsoft.VisualStudio.Editors.Designer.pt-BR.xlf
index 3cd57027203..3e8a1693485 100644
--- a/vsintegration/src/FSharp.ProjectSystem.PropertyPages/Resources/xlf/Microsoft.VisualStudio.Editors.Designer.pt-BR.xlf
+++ b/vsintegration/src/FSharp.ProjectSystem.PropertyPages/Resources/xlf/Microsoft.VisualStudio.Editors.Designer.pt-BR.xlf
@@ -1828,7 +1828,7 @@ CONSIDER: get this from CodeDom
{0} x {1}
- {0} x {1}
+ {0} x {1}
Format string for showing a graphic's size
# {0} = width (as an integer)
diff --git a/vsintegration/src/FSharp.ProjectSystem.PropertyPages/Resources/xlf/Microsoft.VisualStudio.Editors.Designer.ru.xlf b/vsintegration/src/FSharp.ProjectSystem.PropertyPages/Resources/xlf/Microsoft.VisualStudio.Editors.Designer.ru.xlf
index 94a58397fe8..2b5303d91de 100644
--- a/vsintegration/src/FSharp.ProjectSystem.PropertyPages/Resources/xlf/Microsoft.VisualStudio.Editors.Designer.ru.xlf
+++ b/vsintegration/src/FSharp.ProjectSystem.PropertyPages/Resources/xlf/Microsoft.VisualStudio.Editors.Designer.ru.xlf
@@ -1828,7 +1828,7 @@ CONSIDER: get this from CodeDom
{0} x {1}
- {0} x {1}
+ {0} x {1}
Format string for showing a graphic's size
# {0} = width (as an integer)
diff --git a/vsintegration/src/FSharp.ProjectSystem.PropertyPages/Resources/xlf/Microsoft.VisualStudio.Editors.Designer.tr.xlf b/vsintegration/src/FSharp.ProjectSystem.PropertyPages/Resources/xlf/Microsoft.VisualStudio.Editors.Designer.tr.xlf
index 84703a61bdb..b6029ff9b5b 100644
--- a/vsintegration/src/FSharp.ProjectSystem.PropertyPages/Resources/xlf/Microsoft.VisualStudio.Editors.Designer.tr.xlf
+++ b/vsintegration/src/FSharp.ProjectSystem.PropertyPages/Resources/xlf/Microsoft.VisualStudio.Editors.Designer.tr.xlf
@@ -1828,7 +1828,7 @@ CONSIDER: get this from CodeDom
{0} x {1}
- {0} x {1}
+ {0} x {1}
Format string for showing a graphic's size
# {0} = width (as an integer)
diff --git a/vsintegration/src/FSharp.ProjectSystem.PropertyPages/Resources/xlf/Microsoft.VisualStudio.Editors.Designer.zh-Hans.xlf b/vsintegration/src/FSharp.ProjectSystem.PropertyPages/Resources/xlf/Microsoft.VisualStudio.Editors.Designer.zh-Hans.xlf
index ccdc1a19394..7296c365e67 100644
--- a/vsintegration/src/FSharp.ProjectSystem.PropertyPages/Resources/xlf/Microsoft.VisualStudio.Editors.Designer.zh-Hans.xlf
+++ b/vsintegration/src/FSharp.ProjectSystem.PropertyPages/Resources/xlf/Microsoft.VisualStudio.Editors.Designer.zh-Hans.xlf
@@ -1828,7 +1828,7 @@ CONSIDER: get this from CodeDom
{0} x {1}
- {0} x {1}
+ {0} x {1}
Format string for showing a graphic's size
# {0} = width (as an integer)
diff --git a/vsintegration/src/FSharp.ProjectSystem.PropertyPages/Resources/xlf/Microsoft.VisualStudio.Editors.Designer.zh-Hant.xlf b/vsintegration/src/FSharp.ProjectSystem.PropertyPages/Resources/xlf/Microsoft.VisualStudio.Editors.Designer.zh-Hant.xlf
index 11c81c6df1c..16b7339b2a4 100644
--- a/vsintegration/src/FSharp.ProjectSystem.PropertyPages/Resources/xlf/Microsoft.VisualStudio.Editors.Designer.zh-Hant.xlf
+++ b/vsintegration/src/FSharp.ProjectSystem.PropertyPages/Resources/xlf/Microsoft.VisualStudio.Editors.Designer.zh-Hant.xlf
@@ -1828,7 +1828,7 @@ CONSIDER: get this from CodeDom
{0} x {1}
- {0} x {1}
+ {0} x {1}
Format string for showing a graphic's size
# {0} = width (as an integer)
diff --git a/vsintegration/tests/UnitTests/App.config b/vsintegration/tests/UnitTests/App.config
index 768fbe1d137..6df63308b27 100644
--- a/vsintegration/tests/UnitTests/App.config
+++ b/vsintegration/tests/UnitTests/App.config
@@ -40,7 +40,7 @@
-
+
diff --git a/vsintegration/tests/UnitTests/VisualFSharp.UnitTests.fsproj b/vsintegration/tests/UnitTests/VisualFSharp.UnitTests.fsproj
index e67623fd9fc..e7adc88e631 100644
--- a/vsintegration/tests/UnitTests/VisualFSharp.UnitTests.fsproj
+++ b/vsintegration/tests/UnitTests/VisualFSharp.UnitTests.fsproj
@@ -165,12 +165,10 @@
Roslyn\DocumentHighlightsServiceTests.fs
-
-
- PreserveNewest
-
-
-
+
+ {{FSCoreVersion}}
+ $(FSCoreVersion)
+