From 4d09dd480e988254e51df328b8962c87be16248b Mon Sep 17 00:00:00 2001 From: Don Syme Date: Tue, 1 Dec 2020 15:41:24 +0000 Subject: [PATCH 01/12] add check for system assemblies completion --- src/fsharp/DotNetFrameworkDependencies.fs | 156 ++++++++++++++++++++++ tests/service/ScriptOptionsTests.fs | 22 ++- 2 files changed, 177 insertions(+), 1 deletion(-) diff --git a/src/fsharp/DotNetFrameworkDependencies.fs b/src/fsharp/DotNetFrameworkDependencies.fs index 0fcb0e6d9b8..01a8555aaec 100644 --- a/src/fsharp/DotNetFrameworkDependencies.fs +++ b/src/fsharp/DotNetFrameworkDependencies.fs @@ -468,6 +468,162 @@ module internal FSharp.Compiler.DotNetFrameworkDependencies yield "System.Threading.Tasks.Extensions" yield "System.Xml.ReaderWriter" yield "System.Xml.XDocument" + + // .NET 5.0 list + yield "System.Numerics" + yield "netstandard" + yield "Microsoft.CSharp" + yield "Microsoft.VisualBasic.Core" + yield "Microsoft.VisualBasic" + yield "Microsoft.Win32.Primitives" + yield "mscorlib" + yield "netstandard" + yield "System.AppContext" + yield "System.Buffers" + yield "System.Collections.Concurrent" + yield "System.Collections" + yield "System.Collections.Immutable" + yield "System.Collections.NonGeneric" + yield "System.Collections.Specialized" + yield "System.ComponentModel.Annotations" + yield "System.ComponentModel.DataAnnotations" + yield "System.ComponentModel" + yield "System.ComponentModel.EventBasedAsync" + yield "System.ComponentModel.Primitives" + yield "System.ComponentModel.TypeConverter" + yield "System.Configuration" + yield "System.Console" + yield "System.Core" + yield "System.Data.Common" + yield "System.Data.DataSetExtensions" + yield "System.Data" + yield "System.Diagnostics.Contracts" + yield "System.Diagnostics.Debug" + yield "System.Diagnostics.DiagnosticSource" + yield "System.Diagnostics.FileVersionInfo" + yield "System.Diagnostics.Process" + yield "System.Diagnostics.StackTrace" + yield "System.Diagnostics.TextWriterTraceListener" + yield "System.Diagnostics.Tools" + yield "System.Diagnostics.TraceSource" + yield "System.Diagnostics.Tracing" + yield "System" + yield "System.Drawing" + yield "System.Drawing.Primitives" + yield "System.Dynamic.Runtime" + yield "System.Formats.Asn1" + yield "System.Globalization.Calendars" + yield "System.Globalization" + yield "System.Globalization.Extensions" + yield "System.IO.Compression.Brotli" + yield "System.IO.Compression" + yield "System.IO.Compression.FileSystem" + yield "System.IO.Compression.ZipFile" + yield "System.IO" + yield "System.IO.FileSystem" + yield "System.IO.FileSystem.DriveInfo" + yield "System.IO.FileSystem.Primitives" + yield "System.IO.FileSystem.Watcher" + yield "System.IO.IsolatedStorage" + yield "System.IO.MemoryMappedFiles" + yield "System.IO.Pipes" + yield "System.IO.UnmanagedMemoryStream" + yield "System.Linq" + yield "System.Linq.Expressions" + yield "System.Linq.Parallel" + yield "System.Linq.Queryable" + yield "System.Memory" + yield "System.Net" + yield "System.Net.Http" + yield "System.Net.Http.Json" + yield "System.Net.HttpListener" + yield "System.Net.Mail" + yield "System.Net.NameResolution" + yield "System.Net.NetworkInformation" + yield "System.Net.Ping" + yield "System.Net.Primitives" + yield "System.Net.Requests" + yield "System.Net.Security" + yield "System.Net.ServicePoint" + yield "System.Net.Sockets" + yield "System.Net.WebClient" + yield "System.Net.WebHeaderCollection" + yield "System.Net.WebProxy" + yield "System.Net.WebSockets.Client" + yield "System.Net.WebSockets" + yield "System.Numerics" + yield "System.Numerics.Vectors" + yield "System.ObjectModel" + yield "System.Reflection.DispatchProxy" + yield "System.Reflection" + yield "System.Reflection.Emit" + yield "System.Reflection.Emit.ILGeneration" + yield "System.Reflection.Emit.Lightweight" + yield "System.Reflection.Extensions" + yield "System.Reflection.Metadata" + yield "System.Reflection.Primitives" + yield "System.Reflection.TypeExtensions" + yield "System.Resources.Reader" + yield "System.Resources.ResourceManager" + yield "System.Resources.Writer" + yield "System.Runtime.CompilerServices.Unsafe" + yield "System.Runtime.CompilerServices.VisualC" + yield "System.Runtime" + yield "System.Runtime.Extensions" + yield "System.Runtime.Handles" + yield "System.Runtime.InteropServices" + yield "System.Runtime.InteropServices.RuntimeInformation" + yield "System.Runtime.Intrinsics" + yield "System.Runtime.Loader" + yield "System.Runtime.Numerics" + yield "System.Runtime.Serialization" + yield "System.Runtime.Serialization.Formatters" + yield "System.Runtime.Serialization.Json" + yield "System.Runtime.Serialization.Primitives" + yield "System.Runtime.Serialization.Xml" + yield "System.Security.Claims" + yield "System.Security.Cryptography.Algorithms" + yield "System.Security.Cryptography.Csp" + yield "System.Security.Cryptography.Encoding" + yield "System.Security.Cryptography.Primitives" + yield "System.Security.Cryptography.X509Certificates" + yield "System.Security" + yield "System.Security.Principal" + yield "System.Security.SecureString" + yield "System.ServiceModel.Web" + yield "System.ServiceProcess" + yield "System.Text.Encoding.CodePages" + yield "System.Text.Encoding" + yield "System.Text.Encoding.Extensions" + yield "System.Text.Encodings.Web" + yield "System.Text.Json" + yield "System.Text.RegularExpressions" + yield "System.Threading.Channels" + yield "System.Threading" + yield "System.Threading.Overlapped" + yield "System.Threading.Tasks.Dataflow" + yield "System.Threading.Tasks" + yield "System.Threading.Tasks.Extensions" + yield "System.Threading.Tasks.Parallel" + yield "System.Threading.Thread" + yield "System.Threading.ThreadPool" + yield "System.Threading.Timer" + yield "System.Transactions" + yield "System.Transactions.Local" + yield "System.ValueTuple" + yield "System.Web" + yield "System.Web.HttpUtility" + yield "System.Windows" + yield "System.Xml" + yield "System.Xml.Linq" + yield "System.Xml.ReaderWriter" + yield "System.Xml.Serialization" + yield "System.Xml.XDocument" + yield "System.Xml.XmlDocument" + yield "System.Xml.XmlSerializer" + yield "System.Xml.XPath" + yield "System.Xml.XPath.XDocument" + yield "WindowsBase" ] // The set of references entered into the TcConfigBuilder for scripts prior to computing the load closure. diff --git a/tests/service/ScriptOptionsTests.fs b/tests/service/ScriptOptionsTests.fs index f89a861f110..1d7f8dda69f 100644 --- a/tests/service/ScriptOptionsTests.fs +++ b/tests/service/ScriptOptionsTests.fs @@ -31,4 +31,24 @@ let ``can generate options for different frameworks regardless of execution envi |> Async.RunSynchronously match errors with | [] -> () - | errors -> failwithf "Error while parsing script with assumeDotNetFramework:%b, useSdkRefs:%b, and otherFlags:%A:\n%A" assumeNetFx useSdk flags errors \ No newline at end of file + | errors -> failwithf "Error while parsing script with assumeDotNetFramework:%b, useSdkRefs:%b, and otherFlags:%A:\n%A" assumeNetFx useSdk flags errors + +[] +[] +[] +let ``all default assembly references are system assemblies``(assumeNetFx, useSdk, flags) = + let path = Path.GetTempPath() + let file = Path.GetTempFileName() + let tempFile = Path.Combine(path, file) + let (options, errors) = + checker.GetProjectOptionsFromScript(tempFile, SourceText.ofString scriptSource, assumeDotNetFramework = assumeNetFx, useSdkRefs = useSdk, otherFlags = flags) + |> Async.RunSynchronously + match errors with + | [] -> () + | errors -> failwithf "Error while parsing script with assumeDotNetFramework:%b, useSdkRefs:%b, and otherFlags:%A:\n%A" assumeNetFx useSdk flags errors + for r in options.OtherOptions do + if r.StartsWith("-r:") then + let ref = Path.GetFullPath(r.[3..]) + let baseName = Path.GetFileNameWithoutExtension(ref) + if not (FSharp.Compiler.DotNetFrameworkDependencies.systemAssemblies.Contains(baseName)) then + failwithf "expected FSharp.Compiler.DotNetFrameworkDependencies.systemAssemblies to contain '%s' because '%s' is a default reference for a script, (assumeNetFx, useSdk, flags) = %A" baseName ref (assumeNetFx, useSdk, flags) \ No newline at end of file From 7db7c58b7f9a1ec6c41aeecc793974e612139599 Mon Sep 17 00:00:00 2001 From: Don Syme Date: Tue, 1 Dec 2020 15:59:56 +0000 Subject: [PATCH 02/12] add check for system assemblies completion --- src/fsharp/DotNetFrameworkDependencies.fs | 156 ++++++++++++++++++ .../FSharp.Compiler.Service.Tests.fsproj | 3 + tests/service/ScriptOptionsTests.fs | 5 +- 3 files changed, 163 insertions(+), 1 deletion(-) diff --git a/src/fsharp/DotNetFrameworkDependencies.fs b/src/fsharp/DotNetFrameworkDependencies.fs index 01a8555aaec..188299ee150 100644 --- a/src/fsharp/DotNetFrameworkDependencies.fs +++ b/src/fsharp/DotNetFrameworkDependencies.fs @@ -369,6 +369,9 @@ module internal FSharp.Compiler.DotNetFrameworkDependencies // referenced from TcGlobals must be listed here. let systemAssemblies = HashSet [ + // NOTE: duplicates are ok in this list + + // .NET Framework list yield "mscorlib" yield "netstandard" yield "System.Runtime" @@ -469,6 +472,159 @@ module internal FSharp.Compiler.DotNetFrameworkDependencies yield "System.Xml.ReaderWriter" yield "System.Xml.XDocument" + // .NET Core App 3.1 list + yield "Microsoft.CSharp" + yield "Microsoft.VisualBasic.Core" + yield "Microsoft.VisualBasic" + yield "Microsoft.Win32.Primitives" + yield "mscorlib" + yield "netstandard" + yield "System.AppContext" + yield "System.Buffers" + yield "System.Collections.Concurrent" + yield "System.Collections" + yield "System.Collections.Immutable" + yield "System.Collections.NonGeneric" + yield "System.Collections.Specialized" + yield "System.ComponentModel.Annotations" + yield "System.ComponentModel.DataAnnotations" + yield "System.ComponentModel" + yield "System.ComponentModel.EventBasedAsync" + yield "System.ComponentModel.Primitives" + yield "System.ComponentModel.TypeConverter" + yield "System.Configuration" + yield "System.Console" + yield "System.Core" + yield "System.Data.Common" + yield "System.Data.DataSetExtensions" + yield "System.Data" + yield "System.Diagnostics.Contracts" + yield "System.Diagnostics.Debug" + yield "System.Diagnostics.DiagnosticSource" + yield "System.Diagnostics.FileVersionInfo" + yield "System.Diagnostics.Process" + yield "System.Diagnostics.StackTrace" + yield "System.Diagnostics.TextWriterTraceListener" + yield "System.Diagnostics.Tools" + yield "System.Diagnostics.TraceSource" + yield "System.Diagnostics.Tracing" + yield "System" + yield "System.Drawing" + yield "System.Drawing.Primitives" + yield "System.Dynamic.Runtime" + yield "System.Globalization.Calendars" + yield "System.Globalization" + yield "System.Globalization.Extensions" + yield "System.IO.Compression.Brotli" + yield "System.IO.Compression" + yield "System.IO.Compression.FileSystem" + yield "System.IO.Compression.ZipFile" + yield "System.IO" + yield "System.IO.FileSystem" + yield "System.IO.FileSystem.DriveInfo" + yield "System.IO.FileSystem.Primitives" + yield "System.IO.FileSystem.Watcher" + yield "System.IO.IsolatedStorage" + yield "System.IO.MemoryMappedFiles" + yield "System.IO.Pipes" + yield "System.IO.UnmanagedMemoryStream" + yield "System.Linq" + yield "System.Linq.Expressions" + yield "System.Linq.Parallel" + yield "System.Linq.Queryable" + yield "System.Memory" + yield "System.Net" + yield "System.Net.Http" + yield "System.Net.HttpListener" + yield "System.Net.Mail" + yield "System.Net.NameResolution" + yield "System.Net.NetworkInformation" + yield "System.Net.Ping" + yield "System.Net.Primitives" + yield "System.Net.Requests" + yield "System.Net.Security" + yield "System.Net.ServicePoint" + yield "System.Net.Sockets" + yield "System.Net.WebClient" + yield "System.Net.WebHeaderCollection" + yield "System.Net.WebProxy" + yield "System.Net.WebSockets.Client" + yield "System.Net.WebSockets" + yield "System.Numerics" + yield "System.Numerics.Vectors" + yield "System.ObjectModel" + yield "System.Reflection.DispatchProxy" + yield "System.Reflection" + yield "System.Reflection.Emit" + yield "System.Reflection.Emit.ILGeneration" + yield "System.Reflection.Emit.Lightweight" + yield "System.Reflection.Extensions" + yield "System.Reflection.Metadata" + yield "System.Reflection.Primitives" + yield "System.Reflection.TypeExtensions" + yield "System.Resources.Reader" + yield "System.Resources.ResourceManager" + yield "System.Resources.Writer" + yield "System.Runtime.CompilerServices.Unsafe" + yield "System.Runtime.CompilerServices.VisualC" + yield "System.Runtime" + yield "System.Runtime.Extensions" + yield "System.Runtime.Handles" + yield "System.Runtime.InteropServices" + yield "System.Runtime.InteropServices.RuntimeInformation" + yield "System.Runtime.InteropServices.WindowsRuntime" + yield "System.Runtime.Intrinsics" + yield "System.Runtime.Loader" + yield "System.Runtime.Numerics" + yield "System.Runtime.Serialization" + yield "System.Runtime.Serialization.Formatters" + yield "System.Runtime.Serialization.Json" + yield "System.Runtime.Serialization.Primitives" + yield "System.Runtime.Serialization.Xml" + yield "System.Security.Claims" + yield "System.Security.Cryptography.Algorithms" + yield "System.Security.Cryptography.Csp" + yield "System.Security.Cryptography.Encoding" + yield "System.Security.Cryptography.Primitives" + yield "System.Security.Cryptography.X509Certificates" + yield "System.Security" + yield "System.Security.Principal" + yield "System.Security.SecureString" + yield "System.ServiceModel.Web" + yield "System.ServiceProcess" + yield "System.Text.Encoding.CodePages" + yield "System.Text.Encoding" + yield "System.Text.Encoding.Extensions" + yield "System.Text.Encodings.Web" + yield "System.Text.Json" + yield "System.Text.RegularExpressions" + yield "System.Threading.Channels" + yield "System.Threading" + yield "System.Threading.Overlapped" + yield "System.Threading.Tasks.Dataflow" + yield "System.Threading.Tasks" + yield "System.Threading.Tasks.Extensions" + yield "System.Threading.Tasks.Parallel" + yield "System.Threading.Thread" + yield "System.Threading.ThreadPool" + yield "System.Threading.Timer" + yield "System.Transactions" + yield "System.Transactions.Local" + yield "System.ValueTuple" + yield "System.Web" + yield "System.Web.HttpUtility" + yield "System.Windows" + yield "System.Xml" + yield "System.Xml.Linq" + yield "System.Xml.ReaderWriter" + yield "System.Xml.Serialization" + yield "System.Xml.XDocument" + yield "System.Xml.XmlDocument" + yield "System.Xml.XmlSerializer" + yield "System.Xml.XPath" + yield "System.Xml.XPath.XDocument" + yield "WindowsBase" + // .NET 5.0 list yield "System.Numerics" yield "netstandard" diff --git a/tests/FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.Tests.fsproj b/tests/FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.Tests.fsproj index 7dd3b1872ee..e7d9d79f34d 100644 --- a/tests/FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.Tests.fsproj +++ b/tests/FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.Tests.fsproj @@ -67,6 +67,9 @@ ScriptOptionsTests.fs + + ParserTests.fs + Program.fs diff --git a/tests/service/ScriptOptionsTests.fs b/tests/service/ScriptOptionsTests.fs index 1d7f8dda69f..9ceae471bd4 100644 --- a/tests/service/ScriptOptionsTests.fs +++ b/tests/service/ScriptOptionsTests.fs @@ -51,4 +51,7 @@ let ``all default assembly references are system assemblies``(assumeNetFx, useSd let ref = Path.GetFullPath(r.[3..]) let baseName = Path.GetFileNameWithoutExtension(ref) if not (FSharp.Compiler.DotNetFrameworkDependencies.systemAssemblies.Contains(baseName)) then - failwithf "expected FSharp.Compiler.DotNetFrameworkDependencies.systemAssemblies to contain '%s' because '%s' is a default reference for a script, (assumeNetFx, useSdk, flags) = %A" baseName ref (assumeNetFx, useSdk, flags) \ No newline at end of file + printfn "Failing, printing options from GetProjectOptionsFromScript..." + for opt in options.OtherOptions do + printfn "option: %s" opt + failwithf "expected FSharp.Compiler.DotNetFrameworkDependencies.systemAssemblies to contain '%s' because '%s' is a default reference for a script, (assumeNetFx, useSdk, flags) = %A" baseName ref (assumeNetFx, useSdk, flags) \ No newline at end of file From b685e3cbe4dda93df14403efc83050897f9bb77f Mon Sep 17 00:00:00 2001 From: Don Syme Date: Tue, 1 Dec 2020 16:13:08 +0000 Subject: [PATCH 03/12] add check for system assemblies completion --- src/fsharp/DotNetFrameworkDependencies.fs | 766 +++++++++++----------- 1 file changed, 383 insertions(+), 383 deletions(-) diff --git a/src/fsharp/DotNetFrameworkDependencies.fs b/src/fsharp/DotNetFrameworkDependencies.fs index 188299ee150..2d3954ed55b 100644 --- a/src/fsharp/DotNetFrameworkDependencies.fs +++ b/src/fsharp/DotNetFrameworkDependencies.fs @@ -372,10 +372,10 @@ module internal FSharp.Compiler.DotNetFrameworkDependencies // NOTE: duplicates are ok in this list // .NET Framework list - yield "mscorlib" - yield "netstandard" - yield "System.Runtime" - yield getFSharpCoreLibraryName + "mscorlib" + "netstandard" + "System.Runtime" + getFSharpCoreLibraryName yield "System" yield "System.Xml" @@ -397,389 +397,389 @@ module internal FSharp.Compiler.DotNetFrameworkDependencies yield "System.ValueTuple" // Additions for coreclr and portable profiles - yield "System.Collections" - yield "System.Collections.Concurrent" - yield "System.Console" - yield "System.Diagnostics.Debug" - yield "System.Diagnostics.Tools" - yield "System.Globalization" - yield "System.IO" - yield "System.Linq" - yield "System.Linq.Expressions" - yield "System.Linq.Queryable" - yield "System.Net.Requests" - yield "System.Reflection" - yield "System.Reflection.Emit" - yield "System.Reflection.Emit.ILGeneration" - yield "System.Reflection.Extensions" - yield "System.Resources.ResourceManager" - yield "System.Runtime.Extensions" - yield "System.Runtime.InteropServices" - yield "System.Runtime.InteropServices.PInvoke" - yield "System.Runtime.Numerics" - yield "System.Text.Encoding" - yield "System.Text.Encoding.Extensions" - yield "System.Text.RegularExpressions" - yield "System.Threading" - yield "System.Threading.Tasks" - yield "System.Threading.Tasks.Parallel" - yield "System.Threading.Thread" - yield "System.Threading.ThreadPool" - yield "System.Threading.Timer" - - yield "FSharp.Compiler.Interactive.Settings" - yield "Microsoft.Win32.Registry" - yield "System.Diagnostics.Tracing" - yield "System.Globalization.Calendars" - yield "System.Reflection.Primitives" - yield "System.Runtime.Handles" - yield "Microsoft.Win32.Primitives" - yield "System.IO.FileSystem" - yield "System.Net.Primitives" - yield "System.Net.Sockets" - yield "System.Private.Uri" - yield "System.AppContext" - yield "System.Buffers" - yield "System.Collections.Immutable" - yield "System.Diagnostics.DiagnosticSource" - yield "System.Diagnostics.Process" - yield "System.Diagnostics.TraceSource" - yield "System.Globalization.Extensions" - yield "System.IO.Compression" - yield "System.IO.Compression.ZipFile" - yield "System.IO.FileSystem.Primitives" - yield "System.Net.Http" - yield "System.Net.NameResolution" - yield "System.Net.WebHeaderCollection" - yield "System.ObjectModel" - yield "System.Reflection.Emit.Lightweight" - yield "System.Reflection.Metadata" - yield "System.Reflection.TypeExtensions" - yield "System.Runtime.InteropServices.RuntimeInformation" - yield "System.Runtime.Loader" - yield "System.Security.Claims" - yield "System.Security.Cryptography.Algorithms" - yield "System.Security.Cryptography.Cng" - yield "System.Security.Cryptography.Csp" - yield "System.Security.Cryptography.Encoding" - yield "System.Security.Cryptography.OpenSsl" - yield "System.Security.Cryptography.Primitives" - yield "System.Security.Cryptography.X509Certificates" - yield "System.Security.Principal" - yield "System.Security.Principal.Windows" - yield "System.Threading.Overlapped" - yield "System.Threading.Tasks.Extensions" - yield "System.Xml.ReaderWriter" - yield "System.Xml.XDocument" + "System.Collections" + "System.Collections.Concurrent" + "System.Console" + "System.Diagnostics.Debug" + "System.Diagnostics.Tools" + "System.Globalization" + "System.IO" + "System.Linq" + "System.Linq.Expressions" + "System.Linq.Queryable" + "System.Net.Requests" + "System.Reflection" + "System.Reflection.Emit" + "System.Reflection.Emit.ILGeneration" + "System.Reflection.Extensions" + "System.Resources.ResourceManager" + "System.Runtime.Extensions" + "System.Runtime.InteropServices" + "System.Runtime.InteropServices.PInvoke" + "System.Runtime.Numerics" + "System.Text.Encoding" + "System.Text.Encoding.Extensions" + "System.Text.RegularExpressions" + "System.Threading" + "System.Threading.Tasks" + "System.Threading.Tasks.Parallel" + "System.Threading.Thread" + "System.Threading.ThreadPool" + "System.Threading.Timer" + + "FSharp.Compiler.Interactive.Settings" + "Microsoft.Win32.Registry" + "System.Diagnostics.Tracing" + "System.Globalization.Calendars" + "System.Reflection.Primitives" + "System.Runtime.Handles" + "Microsoft.Win32.Primitives" + "System.IO.FileSystem" + "System.Net.Primitives" + "System.Net.Sockets" + "System.Private.Uri" + "System.AppContext" + "System.Buffers" + "System.Collections.Immutable" + "System.Diagnostics.DiagnosticSource" + "System.Diagnostics.Process" + "System.Diagnostics.TraceSource" + "System.Globalization.Extensions" + "System.IO.Compression" + "System.IO.Compression.ZipFile" + "System.IO.FileSystem.Primitives" + "System.Net.Http" + "System.Net.NameResolution" + "System.Net.WebHeaderCollection" + "System.ObjectModel" + "System.Reflection.Emit.Lightweight" + "System.Reflection.Metadata" + "System.Reflection.TypeExtensions" + "System.Runtime.InteropServices.RuntimeInformation" + "System.Runtime.Loader" + "System.Security.Claims" + "System.Security.Cryptography.Algorithms" + "System.Security.Cryptography.Cng" + "System.Security.Cryptography.Csp" + "System.Security.Cryptography.Encoding" + "System.Security.Cryptography.OpenSsl" + "System.Security.Cryptography.Primitives" + "System.Security.Cryptography.X509Certificates" + "System.Security.Principal" + "System.Security.Principal.Windows" + "System.Threading.Overlapped" + "System.Threading.Tasks.Extensions" + "System.Xml.ReaderWriter" + "System.Xml.XDocument" // .NET Core App 3.1 list - yield "Microsoft.CSharp" - yield "Microsoft.VisualBasic.Core" - yield "Microsoft.VisualBasic" - yield "Microsoft.Win32.Primitives" - yield "mscorlib" - yield "netstandard" - yield "System.AppContext" - yield "System.Buffers" - yield "System.Collections.Concurrent" - yield "System.Collections" - yield "System.Collections.Immutable" - yield "System.Collections.NonGeneric" - yield "System.Collections.Specialized" - yield "System.ComponentModel.Annotations" - yield "System.ComponentModel.DataAnnotations" - yield "System.ComponentModel" - yield "System.ComponentModel.EventBasedAsync" - yield "System.ComponentModel.Primitives" - yield "System.ComponentModel.TypeConverter" - yield "System.Configuration" - yield "System.Console" - yield "System.Core" - yield "System.Data.Common" - yield "System.Data.DataSetExtensions" - yield "System.Data" - yield "System.Diagnostics.Contracts" - yield "System.Diagnostics.Debug" - yield "System.Diagnostics.DiagnosticSource" - yield "System.Diagnostics.FileVersionInfo" - yield "System.Diagnostics.Process" - yield "System.Diagnostics.StackTrace" - yield "System.Diagnostics.TextWriterTraceListener" - yield "System.Diagnostics.Tools" - yield "System.Diagnostics.TraceSource" - yield "System.Diagnostics.Tracing" - yield "System" - yield "System.Drawing" - yield "System.Drawing.Primitives" - yield "System.Dynamic.Runtime" - yield "System.Globalization.Calendars" - yield "System.Globalization" - yield "System.Globalization.Extensions" - yield "System.IO.Compression.Brotli" - yield "System.IO.Compression" - yield "System.IO.Compression.FileSystem" - yield "System.IO.Compression.ZipFile" - yield "System.IO" - yield "System.IO.FileSystem" - yield "System.IO.FileSystem.DriveInfo" - yield "System.IO.FileSystem.Primitives" - yield "System.IO.FileSystem.Watcher" - yield "System.IO.IsolatedStorage" - yield "System.IO.MemoryMappedFiles" - yield "System.IO.Pipes" - yield "System.IO.UnmanagedMemoryStream" - yield "System.Linq" - yield "System.Linq.Expressions" - yield "System.Linq.Parallel" - yield "System.Linq.Queryable" - yield "System.Memory" - yield "System.Net" - yield "System.Net.Http" - yield "System.Net.HttpListener" - yield "System.Net.Mail" - yield "System.Net.NameResolution" - yield "System.Net.NetworkInformation" - yield "System.Net.Ping" - yield "System.Net.Primitives" - yield "System.Net.Requests" - yield "System.Net.Security" - yield "System.Net.ServicePoint" - yield "System.Net.Sockets" - yield "System.Net.WebClient" - yield "System.Net.WebHeaderCollection" - yield "System.Net.WebProxy" - yield "System.Net.WebSockets.Client" - yield "System.Net.WebSockets" - yield "System.Numerics" - yield "System.Numerics.Vectors" - yield "System.ObjectModel" - yield "System.Reflection.DispatchProxy" - yield "System.Reflection" - yield "System.Reflection.Emit" - yield "System.Reflection.Emit.ILGeneration" - yield "System.Reflection.Emit.Lightweight" - yield "System.Reflection.Extensions" - yield "System.Reflection.Metadata" - yield "System.Reflection.Primitives" - yield "System.Reflection.TypeExtensions" - yield "System.Resources.Reader" - yield "System.Resources.ResourceManager" - yield "System.Resources.Writer" - yield "System.Runtime.CompilerServices.Unsafe" - yield "System.Runtime.CompilerServices.VisualC" - yield "System.Runtime" - yield "System.Runtime.Extensions" - yield "System.Runtime.Handles" - yield "System.Runtime.InteropServices" - yield "System.Runtime.InteropServices.RuntimeInformation" - yield "System.Runtime.InteropServices.WindowsRuntime" - yield "System.Runtime.Intrinsics" - yield "System.Runtime.Loader" - yield "System.Runtime.Numerics" - yield "System.Runtime.Serialization" - yield "System.Runtime.Serialization.Formatters" - yield "System.Runtime.Serialization.Json" - yield "System.Runtime.Serialization.Primitives" - yield "System.Runtime.Serialization.Xml" - yield "System.Security.Claims" - yield "System.Security.Cryptography.Algorithms" - yield "System.Security.Cryptography.Csp" - yield "System.Security.Cryptography.Encoding" - yield "System.Security.Cryptography.Primitives" - yield "System.Security.Cryptography.X509Certificates" - yield "System.Security" - yield "System.Security.Principal" - yield "System.Security.SecureString" - yield "System.ServiceModel.Web" - yield "System.ServiceProcess" - yield "System.Text.Encoding.CodePages" - yield "System.Text.Encoding" - yield "System.Text.Encoding.Extensions" - yield "System.Text.Encodings.Web" - yield "System.Text.Json" - yield "System.Text.RegularExpressions" - yield "System.Threading.Channels" - yield "System.Threading" - yield "System.Threading.Overlapped" - yield "System.Threading.Tasks.Dataflow" - yield "System.Threading.Tasks" - yield "System.Threading.Tasks.Extensions" - yield "System.Threading.Tasks.Parallel" - yield "System.Threading.Thread" - yield "System.Threading.ThreadPool" - yield "System.Threading.Timer" - yield "System.Transactions" - yield "System.Transactions.Local" - yield "System.ValueTuple" - yield "System.Web" - yield "System.Web.HttpUtility" - yield "System.Windows" - yield "System.Xml" - yield "System.Xml.Linq" - yield "System.Xml.ReaderWriter" - yield "System.Xml.Serialization" - yield "System.Xml.XDocument" - yield "System.Xml.XmlDocument" - yield "System.Xml.XmlSerializer" - yield "System.Xml.XPath" - yield "System.Xml.XPath.XDocument" - yield "WindowsBase" + "Microsoft.CSharp" + "Microsoft.VisualBasic.Core" + "Microsoft.VisualBasic" + "Microsoft.Win32.Primitives" + "mscorlib" + "netstandard" + "System.AppContext" + "System.Buffers" + "System.Collections.Concurrent" + "System.Collections" + "System.Collections.Immutable" + "System.Collections.NonGeneric" + "System.Collections.Specialized" + "System.ComponentModel.Annotations" + "System.ComponentModel.DataAnnotations" + "System.ComponentModel" + "System.ComponentModel.EventBasedAsync" + "System.ComponentModel.Primitives" + "System.ComponentModel.TypeConverter" + "System.Configuration" + "System.Console" + "System.Core" + "System.Data.Common" + "System.Data.DataSetExtensions" + "System.Data" + "System.Diagnostics.Contracts" + "System.Diagnostics.Debug" + "System.Diagnostics.DiagnosticSource" + "System.Diagnostics.FileVersionInfo" + "System.Diagnostics.Process" + "System.Diagnostics.StackTrace" + "System.Diagnostics.TextWriterTraceListener" + "System.Diagnostics.Tools" + "System.Diagnostics.TraceSource" + "System.Diagnostics.Tracing" + "System" + "System.Drawing" + "System.Drawing.Primitives" + "System.Dynamic.Runtime" + "System.Globalization.Calendars" + "System.Globalization" + "System.Globalization.Extensions" + "System.IO.Compression.Brotli" + "System.IO.Compression" + "System.IO.Compression.FileSystem" + "System.IO.Compression.ZipFile" + "System.IO" + "System.IO.FileSystem" + "System.IO.FileSystem.DriveInfo" + "System.IO.FileSystem.Primitives" + "System.IO.FileSystem.Watcher" + "System.IO.IsolatedStorage" + "System.IO.MemoryMappedFiles" + "System.IO.Pipes" + "System.IO.UnmanagedMemoryStream" + "System.Linq" + "System.Linq.Expressions" + "System.Linq.Parallel" + "System.Linq.Queryable" + "System.Memory" + "System.Net" + "System.Net.Http" + "System.Net.HttpListener" + "System.Net.Mail" + "System.Net.NameResolution" + "System.Net.NetworkInformation" + "System.Net.Ping" + "System.Net.Primitives" + "System.Net.Requests" + "System.Net.Security" + "System.Net.ServicePoint" + "System.Net.Sockets" + "System.Net.WebClient" + "System.Net.WebHeaderCollection" + "System.Net.WebProxy" + "System.Net.WebSockets.Client" + "System.Net.WebSockets" + "System.Numerics" + "System.Numerics.Vectors" + "System.ObjectModel" + "System.Reflection.DispatchProxy" + "System.Reflection" + "System.Reflection.Emit" + "System.Reflection.Emit.ILGeneration" + "System.Reflection.Emit.Lightweight" + "System.Reflection.Extensions" + "System.Reflection.Metadata" + "System.Reflection.Primitives" + "System.Reflection.TypeExtensions" + "System.Resources.Reader" + "System.Resources.ResourceManager" + "System.Resources.Writer" + "System.Runtime.CompilerServices.Unsafe" + "System.Runtime.CompilerServices.VisualC" + "System.Runtime" + "System.Runtime.Extensions" + "System.Runtime.Handles" + "System.Runtime.InteropServices" + "System.Runtime.InteropServices.RuntimeInformation" + "System.Runtime.InteropServices.WindowsRuntime" + "System.Runtime.Intrinsics" + "System.Runtime.Loader" + "System.Runtime.Numerics" + "System.Runtime.Serialization" + "System.Runtime.Serialization.Formatters" + "System.Runtime.Serialization.Json" + "System.Runtime.Serialization.Primitives" + "System.Runtime.Serialization.Xml" + "System.Security.Claims" + "System.Security.Cryptography.Algorithms" + "System.Security.Cryptography.Csp" + "System.Security.Cryptography.Encoding" + "System.Security.Cryptography.Primitives" + "System.Security.Cryptography.X509Certificates" + "System.Security" + "System.Security.Principal" + "System.Security.SecureString" + "System.ServiceModel.Web" + "System.ServiceProcess" + "System.Text.Encoding.CodePages" + "System.Text.Encoding" + "System.Text.Encoding.Extensions" + "System.Text.Encodings.Web" + "System.Text.Json" + "System.Text.RegularExpressions" + "System.Threading.Channels" + "System.Threading" + "System.Threading.Overlapped" + "System.Threading.Tasks.Dataflow" + "System.Threading.Tasks" + "System.Threading.Tasks.Extensions" + "System.Threading.Tasks.Parallel" + "System.Threading.Thread" + "System.Threading.ThreadPool" + "System.Threading.Timer" + "System.Transactions" + "System.Transactions.Local" + "System.ValueTuple" + "System.Web" + "System.Web.HttpUtility" + "System.Windows" + "System.Xml" + "System.Xml.Linq" + "System.Xml.ReaderWriter" + "System.Xml.Serialization" + "System.Xml.XDocument" + "System.Xml.XmlDocument" + "System.Xml.XmlSerializer" + "System.Xml.XPath" + "System.Xml.XPath.XDocument" + "WindowsBase" // .NET 5.0 list - yield "System.Numerics" - yield "netstandard" - yield "Microsoft.CSharp" - yield "Microsoft.VisualBasic.Core" - yield "Microsoft.VisualBasic" - yield "Microsoft.Win32.Primitives" - yield "mscorlib" - yield "netstandard" - yield "System.AppContext" - yield "System.Buffers" - yield "System.Collections.Concurrent" - yield "System.Collections" - yield "System.Collections.Immutable" - yield "System.Collections.NonGeneric" - yield "System.Collections.Specialized" - yield "System.ComponentModel.Annotations" - yield "System.ComponentModel.DataAnnotations" - yield "System.ComponentModel" - yield "System.ComponentModel.EventBasedAsync" - yield "System.ComponentModel.Primitives" - yield "System.ComponentModel.TypeConverter" - yield "System.Configuration" - yield "System.Console" - yield "System.Core" - yield "System.Data.Common" - yield "System.Data.DataSetExtensions" - yield "System.Data" - yield "System.Diagnostics.Contracts" - yield "System.Diagnostics.Debug" - yield "System.Diagnostics.DiagnosticSource" - yield "System.Diagnostics.FileVersionInfo" - yield "System.Diagnostics.Process" - yield "System.Diagnostics.StackTrace" - yield "System.Diagnostics.TextWriterTraceListener" - yield "System.Diagnostics.Tools" - yield "System.Diagnostics.TraceSource" - yield "System.Diagnostics.Tracing" - yield "System" - yield "System.Drawing" - yield "System.Drawing.Primitives" - yield "System.Dynamic.Runtime" - yield "System.Formats.Asn1" - yield "System.Globalization.Calendars" - yield "System.Globalization" - yield "System.Globalization.Extensions" - yield "System.IO.Compression.Brotli" - yield "System.IO.Compression" - yield "System.IO.Compression.FileSystem" - yield "System.IO.Compression.ZipFile" - yield "System.IO" - yield "System.IO.FileSystem" - yield "System.IO.FileSystem.DriveInfo" - yield "System.IO.FileSystem.Primitives" - yield "System.IO.FileSystem.Watcher" - yield "System.IO.IsolatedStorage" - yield "System.IO.MemoryMappedFiles" - yield "System.IO.Pipes" - yield "System.IO.UnmanagedMemoryStream" - yield "System.Linq" - yield "System.Linq.Expressions" - yield "System.Linq.Parallel" - yield "System.Linq.Queryable" - yield "System.Memory" - yield "System.Net" - yield "System.Net.Http" - yield "System.Net.Http.Json" - yield "System.Net.HttpListener" - yield "System.Net.Mail" - yield "System.Net.NameResolution" - yield "System.Net.NetworkInformation" - yield "System.Net.Ping" - yield "System.Net.Primitives" - yield "System.Net.Requests" - yield "System.Net.Security" - yield "System.Net.ServicePoint" - yield "System.Net.Sockets" - yield "System.Net.WebClient" - yield "System.Net.WebHeaderCollection" - yield "System.Net.WebProxy" - yield "System.Net.WebSockets.Client" - yield "System.Net.WebSockets" - yield "System.Numerics" - yield "System.Numerics.Vectors" - yield "System.ObjectModel" - yield "System.Reflection.DispatchProxy" - yield "System.Reflection" - yield "System.Reflection.Emit" - yield "System.Reflection.Emit.ILGeneration" - yield "System.Reflection.Emit.Lightweight" - yield "System.Reflection.Extensions" - yield "System.Reflection.Metadata" - yield "System.Reflection.Primitives" - yield "System.Reflection.TypeExtensions" - yield "System.Resources.Reader" - yield "System.Resources.ResourceManager" - yield "System.Resources.Writer" - yield "System.Runtime.CompilerServices.Unsafe" - yield "System.Runtime.CompilerServices.VisualC" - yield "System.Runtime" - yield "System.Runtime.Extensions" - yield "System.Runtime.Handles" - yield "System.Runtime.InteropServices" - yield "System.Runtime.InteropServices.RuntimeInformation" - yield "System.Runtime.Intrinsics" - yield "System.Runtime.Loader" - yield "System.Runtime.Numerics" - yield "System.Runtime.Serialization" - yield "System.Runtime.Serialization.Formatters" - yield "System.Runtime.Serialization.Json" - yield "System.Runtime.Serialization.Primitives" - yield "System.Runtime.Serialization.Xml" - yield "System.Security.Claims" - yield "System.Security.Cryptography.Algorithms" - yield "System.Security.Cryptography.Csp" - yield "System.Security.Cryptography.Encoding" - yield "System.Security.Cryptography.Primitives" - yield "System.Security.Cryptography.X509Certificates" - yield "System.Security" - yield "System.Security.Principal" - yield "System.Security.SecureString" - yield "System.ServiceModel.Web" - yield "System.ServiceProcess" - yield "System.Text.Encoding.CodePages" - yield "System.Text.Encoding" - yield "System.Text.Encoding.Extensions" - yield "System.Text.Encodings.Web" - yield "System.Text.Json" - yield "System.Text.RegularExpressions" - yield "System.Threading.Channels" - yield "System.Threading" - yield "System.Threading.Overlapped" - yield "System.Threading.Tasks.Dataflow" - yield "System.Threading.Tasks" - yield "System.Threading.Tasks.Extensions" - yield "System.Threading.Tasks.Parallel" - yield "System.Threading.Thread" - yield "System.Threading.ThreadPool" - yield "System.Threading.Timer" - yield "System.Transactions" - yield "System.Transactions.Local" - yield "System.ValueTuple" - yield "System.Web" - yield "System.Web.HttpUtility" - yield "System.Windows" - yield "System.Xml" - yield "System.Xml.Linq" - yield "System.Xml.ReaderWriter" - yield "System.Xml.Serialization" - yield "System.Xml.XDocument" - yield "System.Xml.XmlDocument" - yield "System.Xml.XmlSerializer" - yield "System.Xml.XPath" - yield "System.Xml.XPath.XDocument" - yield "WindowsBase" + "System.Numerics" + "netstandard" + "Microsoft.CSharp" + "Microsoft.VisualBasic.Core" + "Microsoft.VisualBasic" + "Microsoft.Win32.Primitives" + "mscorlib" + "netstandard" + "System.AppContext" + "System.Buffers" + "System.Collections.Concurrent" + "System.Collections" + "System.Collections.Immutable" + "System.Collections.NonGeneric" + "System.Collections.Specialized" + "System.ComponentModel.Annotations" + "System.ComponentModel.DataAnnotations" + "System.ComponentModel" + "System.ComponentModel.EventBasedAsync" + "System.ComponentModel.Primitives" + "System.ComponentModel.TypeConverter" + "System.Configuration" + "System.Console" + "System.Core" + "System.Data.Common" + "System.Data.DataSetExtensions" + "System.Data" + "System.Diagnostics.Contracts" + "System.Diagnostics.Debug" + "System.Diagnostics.DiagnosticSource" + "System.Diagnostics.FileVersionInfo" + "System.Diagnostics.Process" + "System.Diagnostics.StackTrace" + "System.Diagnostics.TextWriterTraceListener" + "System.Diagnostics.Tools" + "System.Diagnostics.TraceSource" + "System.Diagnostics.Tracing" + "System" + "System.Drawing" + "System.Drawing.Primitives" + "System.Dynamic.Runtime" + "System.Formats.Asn1" + "System.Globalization.Calendars" + "System.Globalization" + "System.Globalization.Extensions" + "System.IO.Compression.Brotli" + "System.IO.Compression" + "System.IO.Compression.FileSystem" + "System.IO.Compression.ZipFile" + "System.IO" + "System.IO.FileSystem" + "System.IO.FileSystem.DriveInfo" + "System.IO.FileSystem.Primitives" + "System.IO.FileSystem.Watcher" + "System.IO.IsolatedStorage" + "System.IO.MemoryMappedFiles" + "System.IO.Pipes" + "System.IO.UnmanagedMemoryStream" + "System.Linq" + "System.Linq.Expressions" + "System.Linq.Parallel" + "System.Linq.Queryable" + "System.Memory" + "System.Net" + "System.Net.Http" + "System.Net.Http.Json" + "System.Net.HttpListener" + "System.Net.Mail" + "System.Net.NameResolution" + "System.Net.NetworkInformation" + "System.Net.Ping" + "System.Net.Primitives" + "System.Net.Requests" + "System.Net.Security" + "System.Net.ServicePoint" + "System.Net.Sockets" + "System.Net.WebClient" + "System.Net.WebHeaderCollection" + "System.Net.WebProxy" + "System.Net.WebSockets.Client" + "System.Net.WebSockets" + "System.Numerics" + "System.Numerics.Vectors" + "System.ObjectModel" + "System.Reflection.DispatchProxy" + "System.Reflection" + "System.Reflection.Emit" + "System.Reflection.Emit.ILGeneration" + "System.Reflection.Emit.Lightweight" + "System.Reflection.Extensions" + "System.Reflection.Metadata" + "System.Reflection.Primitives" + "System.Reflection.TypeExtensions" + "System.Resources.Reader" + "System.Resources.ResourceManager" + "System.Resources.Writer" + "System.Runtime.CompilerServices.Unsafe" + "System.Runtime.CompilerServices.VisualC" + "System.Runtime" + "System.Runtime.Extensions" + "System.Runtime.Handles" + "System.Runtime.InteropServices" + "System.Runtime.InteropServices.RuntimeInformation" + "System.Runtime.Intrinsics" + "System.Runtime.Loader" + "System.Runtime.Numerics" + "System.Runtime.Serialization" + "System.Runtime.Serialization.Formatters" + "System.Runtime.Serialization.Json" + "System.Runtime.Serialization.Primitives" + "System.Runtime.Serialization.Xml" + "System.Security.Claims" + "System.Security.Cryptography.Algorithms" + "System.Security.Cryptography.Csp" + "System.Security.Cryptography.Encoding" + "System.Security.Cryptography.Primitives" + "System.Security.Cryptography.X509Certificates" + "System.Security" + "System.Security.Principal" + "System.Security.SecureString" + "System.ServiceModel.Web" + "System.ServiceProcess" + "System.Text.Encoding.CodePages" + "System.Text.Encoding" + "System.Text.Encoding.Extensions" + "System.Text.Encodings.Web" + "System.Text.Json" + "System.Text.RegularExpressions" + "System.Threading.Channels" + "System.Threading" + "System.Threading.Overlapped" + "System.Threading.Tasks.Dataflow" + "System.Threading.Tasks" + "System.Threading.Tasks.Extensions" + "System.Threading.Tasks.Parallel" + "System.Threading.Thread" + "System.Threading.ThreadPool" + "System.Threading.Timer" + "System.Transactions" + "System.Transactions.Local" + "System.ValueTuple" + "System.Web" + "System.Web.HttpUtility" + "System.Windows" + "System.Xml" + "System.Xml.Linq" + "System.Xml.ReaderWriter" + "System.Xml.Serialization" + "System.Xml.XDocument" + "System.Xml.XmlDocument" + "System.Xml.XmlSerializer" + "System.Xml.XPath" + "System.Xml.XPath.XDocument" + "WindowsBase" ] // The set of references entered into the TcConfigBuilder for scripts prior to computing the load closure. From c99e11e1127c48a885526f104fa8a9b8bc2b8b10 Mon Sep 17 00:00:00 2001 From: KevinRansom Date: Wed, 2 Dec 2020 16:01:26 -0800 Subject: [PATCH 04/12] merge issues --- src/fsharp/DotNetFrameworkDependencies.fs | 559 +++++------------- src/fsharp/xlf/FSComp.txt.es.xlf | 2 +- .../FSharp.Compiler.Service.Tests.fsproj | 3 +- 3 files changed, 163 insertions(+), 401 deletions(-) diff --git a/src/fsharp/DotNetFrameworkDependencies.fs b/src/fsharp/DotNetFrameworkDependencies.fs index 2d3954ed55b..2b60f55411f 100644 --- a/src/fsharp/DotNetFrameworkDependencies.fs +++ b/src/fsharp/DotNetFrameworkDependencies.fs @@ -372,414 +372,175 @@ module internal FSharp.Compiler.DotNetFrameworkDependencies // NOTE: duplicates are ok in this list // .NET Framework list - "mscorlib" - "netstandard" - "System.Runtime" - getFSharpCoreLibraryName - + yield "mscorlib" + yield "netstandard" yield "System" - yield "System.Xml" - yield "System.Runtime.Remoting" - yield "System.Runtime.Serialization.Formatters.Soap" + yield getFSharpCoreLibraryName + yield "FSharp.Compiler.Interactive.Settings" + yield "Microsoft.CSharp" + yield "Microsoft.VisualBasic" + yield "Microsoft.VisualBasic.Core" + yield "Microsoft.Win32.Primitives" + yield "Microsoft.Win32.Registry" + yield "System.AppContext" + yield "System.Buffers" + yield "System.Collections" + yield "System.Collections.Concurrent" + yield "System.Collections.Immutable" + yield "System.Collections.NonGeneric" + yield "System.Collections.Specialized" + yield "System.ComponentModel" + yield "System.ComponentModel.Annotations" + yield "System.ComponentModel.DataAnnotations" + yield "System.ComponentModel.EventBasedAsync" + yield "System.ComponentModel.Primitives" + yield "System.ComponentModel.TypeConverter" + yield "System.Console" + yield "System.Core" yield "System.Data" + yield "System.Data.Common" + yield "System.Data.DataSetExtensions" yield "System.Deployment" yield "System.Design" - yield "System.Messaging" + yield "System.Diagnostics.Contracts" + yield "System.Diagnostics.Debug" + yield "System.Diagnostics.DiagnosticSource" + yield "System.Diagnostics.FileVersionInfo" + yield "System.Diagnostics.Process" + yield "System.Diagnostics.StackTrace" + yield "System.Diagnostics.TextWriterTraceListener" + yield "System.Diagnostics.Tools" + yield "System.Diagnostics.TraceSource" + yield "System.Diagnostics.Tracing" yield "System.Drawing" + yield "System.Drawing.Primitives" + yield "System.Dynamic.Runtime" + yield "System.Formats.Asn1" + yield "System.Globalization" + yield "System.Globalization.Calendars" + yield "System.Globalization.Extensions" + yield "System.IO" + yield "System.IO.Compression" + yield "System.IO.Compression.Brotli" + yield "System.IO.Compression.FileSystem" + yield "System.IO.Compression.ZipFile" + yield "System.IO.FileSystem" + yield "System.IO.FileSystem.DriveInfo" + yield "System.IO.FileSystem.Primitives" + yield "System.IO.FileSystem.Watcher" + yield "System.IO.IsolatedStorage" + yield "System.IO.MemoryMappedFiles" + yield "System.IO.Pipes" + yield "System.IO.UnmanagedMemoryStream" + yield "System.Linq" + yield "System.Linq.Expressions" + yield "System.Linq.Expressions" + yield "System.Linq.Parallel" + yield "System.Linq.Queryable" + yield "System.Memory" + yield "System.Messaging" yield "System.Net" + yield "System.Net.Http" + yield "System.Net.Http.Json" + yield "System.Net.HttpListener" + yield "System.Net.Mail" + yield "System.Net.NameResolution" + yield "System.Net.NetworkInformation" + yield "System.Net.Ping" + yield "System.Net.Primitives" + yield "System.Net.Requests" + yield "System.Net.Security" + yield "System.Net.ServicePoint" + yield "System.Net.Sockets" + yield "System.Net.WebClient" + yield "System.Net.WebHeaderCollection" + yield "System.Net.WebProxy" + yield "System.Net.WebSockets" + yield "System.Net.WebSockets.Client" + yield "System.Numerics" + yield "System.Numerics.Vectors" + yield "System.ObjectModel" + yield "System.Observable" + yield "System.Private.Uri" + yield "System.Reflection" + yield "System.Reflection.DispatchProxy" + yield "System.Reflection.Emit" + yield "System.Reflection.Emit.ILGeneration" + yield "System.Reflection.Emit.Lightweight" + yield "System.Reflection.Extensions" + yield "System.Reflection.Metadata" + yield "System.Reflection.Primitives" + yield "System.Reflection.TypeExtensions" + yield "System.Resources.Reader" + yield "System.Resources.ResourceManager" + yield "System.Resources.Writer" + yield "System.Runtime" + yield "System.Runtime.CompilerServices.Unsafe" + yield "System.Runtime.CompilerServices.VisualC" + yield "System.Runtime.Extensions" + yield "System.Runtime.Handles" + yield "System.Runtime.InteropServices" + yield "System.Runtime.InteropServices.PInvoke" + yield "System.Runtime.InteropServices.RuntimeInformation" + yield "System.Runtime.InteropServices.WindowsRuntime" + yield "System.Runtime.Intrinsics" + yield "System.Runtime.Loader" + yield "System.Runtime.Numerics" + yield "System.Runtime.Remoting" + yield "System.Runtime.Serialization" + yield "System.Runtime.Serialization.Formatters" + yield "System.Runtime.Serialization.Formatters.Soap" + yield "System.Runtime.Serialization.Json" + yield "System.Runtime.Serialization.Primitives" + yield "System.Runtime.Serialization.Xml" + yield "System.Security" + yield "System.Security.Claims" + yield "System.Security.Cryptography.Algorithms" + yield "System.Security.Cryptography.Cng" + yield "System.Security.Cryptography.Csp" + yield "System.Security.Cryptography.Encoding" + yield "System.Security.Cryptography.OpenSsl" + yield "System.Security.Cryptography.Primitives" + yield "System.Security.Cryptography.X509Certificates" + yield "System.Security.Principal" + yield "System.Security.Principal.Windows" + yield "System.Security.SecureString" + yield "System.ServiceModel.Web" + yield "System.ServiceProcess" + yield "System.Text.Encoding" + yield "System.Text.Encoding.CodePages" + yield "System.Text.Encoding.Extensions" + yield "System.Text.Encodings.Web" + yield "System.Text.Json" + yield "System.Text.RegularExpressions" + yield "System.Threading" + yield "System.Threading.Channels" + yield "System.Threading.Overlapped" + yield "System.Threading.Tasks" + yield "System.Threading.Tasks.Dataflow" + yield "System.Threading.Tasks.Extensions" + yield "System.Threading.Tasks.Parallel" + yield "System.Threading.Thread" + yield "System.Threading.ThreadPool" + yield "System.Threading.Timer" + yield "System.Transactions" + yield "System.Transactions.Local" + yield "System.ValueTuple" yield "System.Web" + yield "System.Web.HttpUtility" yield "System.Web.Services" + yield "System.Windows" yield "System.Windows.Forms" - yield "System.Core" - yield "System.Runtime" - yield "System.Observable" - yield "System.Numerics" - yield "System.ValueTuple" - - // Additions for coreclr and portable profiles - "System.Collections" - "System.Collections.Concurrent" - "System.Console" - "System.Diagnostics.Debug" - "System.Diagnostics.Tools" - "System.Globalization" - "System.IO" - "System.Linq" - "System.Linq.Expressions" - "System.Linq.Queryable" - "System.Net.Requests" - "System.Reflection" - "System.Reflection.Emit" - "System.Reflection.Emit.ILGeneration" - "System.Reflection.Extensions" - "System.Resources.ResourceManager" - "System.Runtime.Extensions" - "System.Runtime.InteropServices" - "System.Runtime.InteropServices.PInvoke" - "System.Runtime.Numerics" - "System.Text.Encoding" - "System.Text.Encoding.Extensions" - "System.Text.RegularExpressions" - "System.Threading" - "System.Threading.Tasks" - "System.Threading.Tasks.Parallel" - "System.Threading.Thread" - "System.Threading.ThreadPool" - "System.Threading.Timer" - - "FSharp.Compiler.Interactive.Settings" - "Microsoft.Win32.Registry" - "System.Diagnostics.Tracing" - "System.Globalization.Calendars" - "System.Reflection.Primitives" - "System.Runtime.Handles" - "Microsoft.Win32.Primitives" - "System.IO.FileSystem" - "System.Net.Primitives" - "System.Net.Sockets" - "System.Private.Uri" - "System.AppContext" - "System.Buffers" - "System.Collections.Immutable" - "System.Diagnostics.DiagnosticSource" - "System.Diagnostics.Process" - "System.Diagnostics.TraceSource" - "System.Globalization.Extensions" - "System.IO.Compression" - "System.IO.Compression.ZipFile" - "System.IO.FileSystem.Primitives" - "System.Net.Http" - "System.Net.NameResolution" - "System.Net.WebHeaderCollection" - "System.ObjectModel" - "System.Reflection.Emit.Lightweight" - "System.Reflection.Metadata" - "System.Reflection.TypeExtensions" - "System.Runtime.InteropServices.RuntimeInformation" - "System.Runtime.Loader" - "System.Security.Claims" - "System.Security.Cryptography.Algorithms" - "System.Security.Cryptography.Cng" - "System.Security.Cryptography.Csp" - "System.Security.Cryptography.Encoding" - "System.Security.Cryptography.OpenSsl" - "System.Security.Cryptography.Primitives" - "System.Security.Cryptography.X509Certificates" - "System.Security.Principal" - "System.Security.Principal.Windows" - "System.Threading.Overlapped" - "System.Threading.Tasks.Extensions" - "System.Xml.ReaderWriter" - "System.Xml.XDocument" - - // .NET Core App 3.1 list - "Microsoft.CSharp" - "Microsoft.VisualBasic.Core" - "Microsoft.VisualBasic" - "Microsoft.Win32.Primitives" - "mscorlib" - "netstandard" - "System.AppContext" - "System.Buffers" - "System.Collections.Concurrent" - "System.Collections" - "System.Collections.Immutable" - "System.Collections.NonGeneric" - "System.Collections.Specialized" - "System.ComponentModel.Annotations" - "System.ComponentModel.DataAnnotations" - "System.ComponentModel" - "System.ComponentModel.EventBasedAsync" - "System.ComponentModel.Primitives" - "System.ComponentModel.TypeConverter" - "System.Configuration" - "System.Console" - "System.Core" - "System.Data.Common" - "System.Data.DataSetExtensions" - "System.Data" - "System.Diagnostics.Contracts" - "System.Diagnostics.Debug" - "System.Diagnostics.DiagnosticSource" - "System.Diagnostics.FileVersionInfo" - "System.Diagnostics.Process" - "System.Diagnostics.StackTrace" - "System.Diagnostics.TextWriterTraceListener" - "System.Diagnostics.Tools" - "System.Diagnostics.TraceSource" - "System.Diagnostics.Tracing" - "System" - "System.Drawing" - "System.Drawing.Primitives" - "System.Dynamic.Runtime" - "System.Globalization.Calendars" - "System.Globalization" - "System.Globalization.Extensions" - "System.IO.Compression.Brotli" - "System.IO.Compression" - "System.IO.Compression.FileSystem" - "System.IO.Compression.ZipFile" - "System.IO" - "System.IO.FileSystem" - "System.IO.FileSystem.DriveInfo" - "System.IO.FileSystem.Primitives" - "System.IO.FileSystem.Watcher" - "System.IO.IsolatedStorage" - "System.IO.MemoryMappedFiles" - "System.IO.Pipes" - "System.IO.UnmanagedMemoryStream" - "System.Linq" - "System.Linq.Expressions" - "System.Linq.Parallel" - "System.Linq.Queryable" - "System.Memory" - "System.Net" - "System.Net.Http" - "System.Net.HttpListener" - "System.Net.Mail" - "System.Net.NameResolution" - "System.Net.NetworkInformation" - "System.Net.Ping" - "System.Net.Primitives" - "System.Net.Requests" - "System.Net.Security" - "System.Net.ServicePoint" - "System.Net.Sockets" - "System.Net.WebClient" - "System.Net.WebHeaderCollection" - "System.Net.WebProxy" - "System.Net.WebSockets.Client" - "System.Net.WebSockets" - "System.Numerics" - "System.Numerics.Vectors" - "System.ObjectModel" - "System.Reflection.DispatchProxy" - "System.Reflection" - "System.Reflection.Emit" - "System.Reflection.Emit.ILGeneration" - "System.Reflection.Emit.Lightweight" - "System.Reflection.Extensions" - "System.Reflection.Metadata" - "System.Reflection.Primitives" - "System.Reflection.TypeExtensions" - "System.Resources.Reader" - "System.Resources.ResourceManager" - "System.Resources.Writer" - "System.Runtime.CompilerServices.Unsafe" - "System.Runtime.CompilerServices.VisualC" - "System.Runtime" - "System.Runtime.Extensions" - "System.Runtime.Handles" - "System.Runtime.InteropServices" - "System.Runtime.InteropServices.RuntimeInformation" - "System.Runtime.InteropServices.WindowsRuntime" - "System.Runtime.Intrinsics" - "System.Runtime.Loader" - "System.Runtime.Numerics" - "System.Runtime.Serialization" - "System.Runtime.Serialization.Formatters" - "System.Runtime.Serialization.Json" - "System.Runtime.Serialization.Primitives" - "System.Runtime.Serialization.Xml" - "System.Security.Claims" - "System.Security.Cryptography.Algorithms" - "System.Security.Cryptography.Csp" - "System.Security.Cryptography.Encoding" - "System.Security.Cryptography.Primitives" - "System.Security.Cryptography.X509Certificates" - "System.Security" - "System.Security.Principal" - "System.Security.SecureString" - "System.ServiceModel.Web" - "System.ServiceProcess" - "System.Text.Encoding.CodePages" - "System.Text.Encoding" - "System.Text.Encoding.Extensions" - "System.Text.Encodings.Web" - "System.Text.Json" - "System.Text.RegularExpressions" - "System.Threading.Channels" - "System.Threading" - "System.Threading.Overlapped" - "System.Threading.Tasks.Dataflow" - "System.Threading.Tasks" - "System.Threading.Tasks.Extensions" - "System.Threading.Tasks.Parallel" - "System.Threading.Thread" - "System.Threading.ThreadPool" - "System.Threading.Timer" - "System.Transactions" - "System.Transactions.Local" - "System.ValueTuple" - "System.Web" - "System.Web.HttpUtility" - "System.Windows" - "System.Xml" - "System.Xml.Linq" - "System.Xml.ReaderWriter" - "System.Xml.Serialization" - "System.Xml.XDocument" - "System.Xml.XmlDocument" - "System.Xml.XmlSerializer" - "System.Xml.XPath" - "System.Xml.XPath.XDocument" - "WindowsBase" - - // .NET 5.0 list - "System.Numerics" - "netstandard" - "Microsoft.CSharp" - "Microsoft.VisualBasic.Core" - "Microsoft.VisualBasic" - "Microsoft.Win32.Primitives" - "mscorlib" - "netstandard" - "System.AppContext" - "System.Buffers" - "System.Collections.Concurrent" - "System.Collections" - "System.Collections.Immutable" - "System.Collections.NonGeneric" - "System.Collections.Specialized" - "System.ComponentModel.Annotations" - "System.ComponentModel.DataAnnotations" - "System.ComponentModel" - "System.ComponentModel.EventBasedAsync" - "System.ComponentModel.Primitives" - "System.ComponentModel.TypeConverter" - "System.Configuration" - "System.Console" - "System.Core" - "System.Data.Common" - "System.Data.DataSetExtensions" - "System.Data" - "System.Diagnostics.Contracts" - "System.Diagnostics.Debug" - "System.Diagnostics.DiagnosticSource" - "System.Diagnostics.FileVersionInfo" - "System.Diagnostics.Process" - "System.Diagnostics.StackTrace" - "System.Diagnostics.TextWriterTraceListener" - "System.Diagnostics.Tools" - "System.Diagnostics.TraceSource" - "System.Diagnostics.Tracing" - "System" - "System.Drawing" - "System.Drawing.Primitives" - "System.Dynamic.Runtime" - "System.Formats.Asn1" - "System.Globalization.Calendars" - "System.Globalization" - "System.Globalization.Extensions" - "System.IO.Compression.Brotli" - "System.IO.Compression" - "System.IO.Compression.FileSystem" - "System.IO.Compression.ZipFile" - "System.IO" - "System.IO.FileSystem" - "System.IO.FileSystem.DriveInfo" - "System.IO.FileSystem.Primitives" - "System.IO.FileSystem.Watcher" - "System.IO.IsolatedStorage" - "System.IO.MemoryMappedFiles" - "System.IO.Pipes" - "System.IO.UnmanagedMemoryStream" - "System.Linq" - "System.Linq.Expressions" - "System.Linq.Parallel" - "System.Linq.Queryable" - "System.Memory" - "System.Net" - "System.Net.Http" - "System.Net.Http.Json" - "System.Net.HttpListener" - "System.Net.Mail" - "System.Net.NameResolution" - "System.Net.NetworkInformation" - "System.Net.Ping" - "System.Net.Primitives" - "System.Net.Requests" - "System.Net.Security" - "System.Net.ServicePoint" - "System.Net.Sockets" - "System.Net.WebClient" - "System.Net.WebHeaderCollection" - "System.Net.WebProxy" - "System.Net.WebSockets.Client" - "System.Net.WebSockets" - "System.Numerics" - "System.Numerics.Vectors" - "System.ObjectModel" - "System.Reflection.DispatchProxy" - "System.Reflection" - "System.Reflection.Emit" - "System.Reflection.Emit.ILGeneration" - "System.Reflection.Emit.Lightweight" - "System.Reflection.Extensions" - "System.Reflection.Metadata" - "System.Reflection.Primitives" - "System.Reflection.TypeExtensions" - "System.Resources.Reader" - "System.Resources.ResourceManager" - "System.Resources.Writer" - "System.Runtime.CompilerServices.Unsafe" - "System.Runtime.CompilerServices.VisualC" - "System.Runtime" - "System.Runtime.Extensions" - "System.Runtime.Handles" - "System.Runtime.InteropServices" - "System.Runtime.InteropServices.RuntimeInformation" - "System.Runtime.Intrinsics" - "System.Runtime.Loader" - "System.Runtime.Numerics" - "System.Runtime.Serialization" - "System.Runtime.Serialization.Formatters" - "System.Runtime.Serialization.Json" - "System.Runtime.Serialization.Primitives" - "System.Runtime.Serialization.Xml" - "System.Security.Claims" - "System.Security.Cryptography.Algorithms" - "System.Security.Cryptography.Csp" - "System.Security.Cryptography.Encoding" - "System.Security.Cryptography.Primitives" - "System.Security.Cryptography.X509Certificates" - "System.Security" - "System.Security.Principal" - "System.Security.SecureString" - "System.ServiceModel.Web" - "System.ServiceProcess" - "System.Text.Encoding.CodePages" - "System.Text.Encoding" - "System.Text.Encoding.Extensions" - "System.Text.Encodings.Web" - "System.Text.Json" - "System.Text.RegularExpressions" - "System.Threading.Channels" - "System.Threading" - "System.Threading.Overlapped" - "System.Threading.Tasks.Dataflow" - "System.Threading.Tasks" - "System.Threading.Tasks.Extensions" - "System.Threading.Tasks.Parallel" - "System.Threading.Thread" - "System.Threading.ThreadPool" - "System.Threading.Timer" - "System.Transactions" - "System.Transactions.Local" - "System.ValueTuple" - "System.Web" - "System.Web.HttpUtility" - "System.Windows" - "System.Xml" - "System.Xml.Linq" - "System.Xml.ReaderWriter" - "System.Xml.Serialization" - "System.Xml.XDocument" - "System.Xml.XmlDocument" - "System.Xml.XmlSerializer" - "System.Xml.XPath" - "System.Xml.XPath.XDocument" - "WindowsBase" + yield "System.Xml" + yield "System.Xml.Linq" + yield "System.Xml.ReaderWriter" + yield "System.Xml.Serialization" + yield "System.Xml.XDocument" + yield "System.Xml.XmlDocument" + yield "System.Xml.XmlSerializer" + yield "System.Xml.XPath" + yield "System.Xml.XPath.XDocument" + yield "WindowsBase" ] // The set of references entered into the TcConfigBuilder for scripts prior to computing the load closure. diff --git a/src/fsharp/xlf/FSComp.txt.es.xlf b/src/fsharp/xlf/FSComp.txt.es.xlf index c8f934f8ed5..91ef240a031 100644 --- a/src/fsharp/xlf/FSComp.txt.es.xlf +++ b/src/fsharp/xlf/FSComp.txt.es.xlf @@ -494,7 +494,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/tests/FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.Tests.fsproj b/tests/FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.Tests.fsproj index e7d9d79f34d..9fc529525ff 100644 --- a/tests/FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.Tests.fsproj +++ b/tests/FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.Tests.fsproj @@ -67,10 +67,11 @@ ScriptOptionsTests.fs + Program.fs From 93de8a6730d545a0c2682b5db76bbabeccc6ec98 Mon Sep 17 00:00:00 2001 From: "Brett V. Forsgren" Date: Wed, 2 Dec 2020 14:20:59 -0800 Subject: [PATCH 05/12] add FCS release definition links --- INTERNAL.md | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/INTERNAL.md b/INTERNAL.md index 81d5c2ae199..b30446072c2 100644 --- a/INTERNAL.md +++ b/INTERNAL.md @@ -56,13 +56,21 @@ it's a good idea to check the previous link for any old or stalled insertions in ## Less interesting links [FSharp.Core (Official NuGet Release)](https://dev.azure.com/dnceng/internal/_release?_a=releases&definitionId=72). -Uploads the final FSharp.Core package from the specified build to NuGet. This should only be run when we know for +Uploads the final `FSharp.Core` package from the specified build to NuGet. This should only be run when we know for certain which build produced the final offical package. [FSharp.Core (Preview NuGet Release)](https://dev.azure.com/dnceng/internal/_release?_a=releases&definitionId=92). -Uploads the preview FSharp.Core.5.0.0-beta.* package from the specified build to NuGet. This should be run every time +Uploads the preview `FSharp.Core.*-beta.*` package from the specified build to NuGet. This should be run every time a new SDK preview is released. +[FCS (Official NuGet Release)](https://dev.azure.com/dnceng/internal/_release?view=mine&_a=releases&definitionId=99). +Uploads the final `FSharp.Compiler.Service` package from the specified build to NuGet. Only builds from the `release/fcs` +branch can be selected. This should only be run when we're fairly certain that the package is complete. + +[FCS (Preview NuGet Release)](https://dev.azure.com/dnceng/internal/_release?view=mine&_a=releases&definitionId=98). +Uploads the preview `FSharp.Compiler.Service.*-beta.*` package from the specified build to NuGet. Only builds from the +`main` branch can be selected. This can be run whenever we think we're ready to preview a new FCS build. + [Nightly VSIX (main) uploader](https://dev.azure.com/dnceng/internal/_release?_a=releases&definitionId=70). Uploads a package from every build of `main` to the [Nightly VSIX feed](README.md#using-nightly-releases-in-visual-studio). From b150086889fe5e15f96cdb059af9e1f141857212 Mon Sep 17 00:00:00 2001 From: "Kevin Ransom (msft)" Date: Wed, 2 Dec 2020 14:44:45 -0800 Subject: [PATCH 06/12] Fix FSC nuget package dependencies. Use FSharp.Org tool Icon as package icon. (#10588) --- .../FSharp.Compiler.Service.fsproj | 31 +++++++++++++++--- .../FSharp.Compiler.Service.nuspec | 31 +++++++++++++++--- src/fsharp/FSharp.Compiler.Service/logo.png | Bin 0 -> 4357 bytes 3 files changed, 54 insertions(+), 8 deletions(-) create mode 100644 src/fsharp/FSharp.Compiler.Service/logo.png diff --git a/src/fsharp/FSharp.Compiler.Service/FSharp.Compiler.Service.fsproj b/src/fsharp/FSharp.Compiler.Service/FSharp.Compiler.Service.fsproj index b1f2c20fc07..7a8661a39fa 100644 --- a/src/fsharp/FSharp.Compiler.Service/FSharp.Compiler.Service.fsproj +++ b/src/fsharp/FSharp.Compiler.Service/FSharp.Compiler.Service.fsproj @@ -22,12 +22,36 @@ The F# Compiler Services package For F# $(FSLanguageVersion) exposes additional functionality for implementing F# language bindings, additional tools based on the compiler or refactoring tools. The package also includes F# interactive service that can be used for embedding F# scripting into your applications. Contains code from the F# Software Foundation. /blob/main/release-notes.md#FSharp-Compiler-Service-$(FSharpCompilerServiceReleaseNotesVersion) F#, fsharp, interactive, compiler, editor + $(MSBuildThisFileDirectory)logo.png - - - + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -44,7 +68,6 @@ - FSComp.txt diff --git a/src/fsharp/FSharp.Compiler.Service/FSharp.Compiler.Service.nuspec b/src/fsharp/FSharp.Compiler.Service/FSharp.Compiler.Service.nuspec index 981ead516c9..80b698bf220 100644 --- a/src/fsharp/FSharp.Compiler.Service/FSharp.Compiler.Service.nuspec +++ b/src/fsharp/FSharp.Compiler.Service/FSharp.Compiler.Service.nuspec @@ -4,11 +4,34 @@ $CommonMetadataElements$ en-US - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - $CommonFileElements$ diff --git a/src/fsharp/FSharp.Compiler.Service/logo.png b/src/fsharp/FSharp.Compiler.Service/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..9d7b823ec9ab200214508c5d5c5c80c1d4440738 GIT binary patch literal 4357 zcmd^C_ct4k7uC|*Gj^@SD5V2Y+MD$Ve0l6%`c~9UcAglq) z=cCc+&!0aR6ciK|78Vs16&Dwml$4Z~mX?*3VKA8T^74v`ipt8$FJHb?RaI42SJ%|k z)YjJ4)z#J4*EcjYG&VLiH8p+x`n9>axuvD0wYBxzw{LB2ZSC#t9UUFtzkkPKv7Mcr zU0q$>-Q7JsJvbb$x3{;iukXi?AN~FP0|NttgM&juLqC81{PpYC@bK`+$jI;Czeh($ z$HvC~{P{CJK0YxqF*!LoH8nLoJ&niXXJ%$*XJ_Z;<_HAB{QUgF!ouR>;?mL*kw{!# zUS3&QSzTRSTU%RSU*Fi+*xcOw`}gnG*4Fm+_Rh}E?(Xj1-roNH{=vb)zkmM@4-b!y zj*gFyPfkuwPfyRz&d$%zFD@=FFE6jIuCBM@|2!mrWPiFI0i~Oou_p-$UFUzefpaaf zzBbvtUKn}3cD3>HvGjOH;$~^@;`PAgofjYY!J`L~AD2_LuP@Kxr7}d%*Zgnxi3#8( zXUK1$0yc*2X*qujoFMm^)K>ysB9jx@9EA>RlnKd0=TYQ9SQ%XD7zG5@&QmiB+6BxE zeTXGnL;J^<5=w@G`mQ71f%@Fe&rkZag7%Vf*`xby`hSF7Y1yiCIyEe0uDR-t_=ANP z+A_(5i$w)1#ydevn6CAUN6sJLr^YJ!j7ryhihSXlzf zaQ|i=XV%iM$6DzFnpM9sL*HmhKLM!Ma&huNlc-t2!v|{o0B-t*m$wT{$js=AQ1xN) zZ+K$eV)^VX&_tc4hgpIMq6S#*L756Q5~Y8$bBZTFL5`}ki*sI&n_ju=hmb!{3B~WO zgN~|7av`jQ_%n*q?a*kW--u2)Lp7Q*j$8x_7Qau?M}#n1rl+xJ68G~^M*WE2@O#%j z@X^2qgv~OYofolmXc1}DjhKTAS}`VdYQI7_cF)(%?A+~Os+Lk16K}@mB6Vb9m82LS zup&na{EuIU3f55Hi?uvBPnbghtr+8EpsOI7I6A=ceyflkBQoL%##|GS5m_kft04?x z-6w#7FW7n5pdX8N(ilKu^h!8-E;@i|S0azBP#Q(&V!Kd)TUs87hQ0>K5tl=$t4bZP zno%N}9;s>&L@a$htk$Gmr=eGG?YkLnO=V0}efpg2CN*)V(E_aT7*UI`@O?Byr}p(- zi>ua$qg#pxO@uOwIw-n}IFFy&a~k1Ip%8DRt&B!?BDQuN$OS$(`G4obMnlyYV=5^- z;nh{%ayLUMa^zHK!B2&D{U&O7LllxzkrjGijfI1%ckdw=Ft9?RFBrPY18*03SU^}s ztmAxJZjN**NuNyHh=yc*w!5WPIIVrb-u61)hD0xk5TYi>UBJEi?beu~crEh?O^6Ma z!4J({H3zh24Tqi9@s(v-LfWWyqa z(Cvfonbu<;nNgOWPDs};cU}omxhOKO8H9Dc;fiSfd@uzxj!SIGQJ9lB=GS=y&_&!8 z^JgfFT_94At#EUtlHLf;y<91zbx@3S3-{T`TW6>D1e!%l1Dt!1XwLjNnui!9S8VQ&2r!ap$fq@CbJFzC_*yJh*tmm?to@c20M3!>_bPYU}<`xIQ)rzk;K?%5eKmf^0Wi?w`- zF}Jr~RuU7vj7y{c%p4dmcU%PZl{!o7rr7jR#W%pzhPC7?8 z)V8zg9^-Ypv8Yp%r11!a>H^G~k=7FyaQ!oa0dtuDO86)BYpj@9Q2ec;pW>-SHCkat z{D$+-Z*OPFSSCfP?Xg`Ns2;c=`jvsbJ zUZSYJ)3~Pzu6O66kG4bjh?{C8%Y!NLuLv(9nV7s$@$GK_IbTR+*v@_=Zk?M-9>0H)$hf!J-o=%uo z^>WnxK-xMZrM7f!S6Xe%f^X8#K+)Q)=+JNvx;^_Yxz9#(Z8&v5KH@uGrPopTuygeC zM{qDevMR|$vV5#)$x+3*jL*sN@uaqF;072ciF^AHcsJZYSa;+<0ssf4}B9IT*yNN*UNC` z^Evk{1iC<`q8|2`M>}uC7Hh`}z22qoV-nA~yd`2KOfrhZ_R%a>Y&7#2+j#G!25i z=)QejCX-*&gJyDA$>uq;kxh4`yt-JNTUoJH@z<;<#FVo~G-~fiM{R^U{$qPTHx4mJ zU^@ZP!{euH$oJaM#^I~J;I7*CPYfK=c@(ryg?$=ecX{k`x9=A(iTcy_QBm&>&@G^k zX_>z-ixLZB_HVxXD`Tc5J_)yBZm@o6t9+@C7c}(lZ!U2poY+W=CjH}KV!5r%eJVqC z%TAlt7$&nN`KPumX$jPHYlOMy#UR&)JcJS|&y?$NC}=}29!#>=RifOJ=!!3M`jj$+FO}jY!}d7}5W7)v!!P@P z1_N>A=WedR5z1k^h%82lZAC@)IrS#7

`_JCL4E_K8DP`f!J&tudMLi;0D zfai6RrtbI#V-N$WIc>qO9a+3sB`HQhh3a8-f#|5I(F`!mZ=4Sm+gPkSTBRGNLhcIK zMYMxK58tBl>_U6qd#9zd_NF^{6^DM9wMr_Q#k*?FvWK%U62oeS_Onid<-?6-(PJSf~!VJ9TvCa zPrLj_$woXGCb}PfO2)G>(AHBue5$jlXYNlyR8B)5nr5icHoHghnZ=thZwwo$^X@OC7#Aqo_&KWb$(uS zCF227)bbzFSR+Em;(Oo+&zdPYDL(K&)(o?jxrJ-myPN0BvRCY|rJEfLnE%p4)*M~n zo>f>WW3w)@^2NSsDzZM+WFnpX{yp|$yqvS?nDI-V)NJuXa-C4F%`APIIk$@0VHJD( z->O*HZZe@kVI`!8gy7e#Be^v{b(GP1pZLs%%dFvkH;#dM4n8;#H(n1*8);s`f$k!q zHN!FPOnwdRL4t*oE0y+MuSvy7kxq?_=MXv|*&Z$c*B`$v7_gWg)FXXjevqeH9KRQT zljQ_wr}YY^WHysf)PMuXJ4A3>b#c+3+2@EbJ>Qd5-^5ZFc*+X1kYD1^()8?0_z2Dd zWcNnVK?|fV_EC3?tPfT!PEdBG-!CCouVb21(Dpy={g${Ks^bqQQwrH5PkCACr9x&vYre|d6G z^KCsjYci1=MW@eB@Cp}@kb#kmo>=MaVyU34PA^6i7pE_theJ%uoa#TkmY0^#GA?cNU4r?4Xd~JP4Ue@O%0WN#+QuSP$N+<3zylYfs=ZBZvv_1-nBB; z*N$4&0dxnu{i<`OdP~dETVITo1mx)yW*AR_;@Q2$_xE!Zteyh@7Jt0^Q&|onkXQ~W z`4$Cy9p=%et5g}EyMM&W8pc%X3p;)OG=qT{t$ihIf6r>W=k7gM4JtdqS5M@1IHb04 z6R*{KSQtoHbBorbtfeIY2M5|&uJQ!9H_ePz@= u;>9(>=#Ys?Nv~N+cPOZ9%hyE=9tH=}fa>E=2Y~-R)|W3dl`9o3!u|)^{t?{( literal 0 HcmV?d00001 From 305b9fe9b406dc3706a2fae25386d713962daf85 Mon Sep 17 00:00:00 2001 From: KevinRansom Date: Wed, 2 Dec 2020 16:52:35 -0800 Subject: [PATCH 07/12] src/fsharp/DotNetFrameworkDependencies.fs --- src/fsharp/DotNetFrameworkDependencies.fs | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/src/fsharp/DotNetFrameworkDependencies.fs b/src/fsharp/DotNetFrameworkDependencies.fs index 2b60f55411f..f22e47390dd 100644 --- a/src/fsharp/DotNetFrameworkDependencies.fs +++ b/src/fsharp/DotNetFrameworkDependencies.fs @@ -29,7 +29,7 @@ module internal FSharp.Compiler.DotNetFrameworkDependencies location let inline ifEmptyUse alternative filename = if String.IsNullOrWhiteSpace filename then alternative else filename - + let getFSharpCoreLibraryName = "FSharp.Core" let getFsiLibraryName = "FSharp.Compiler.Interactive.Settings" let getDefaultFSharpCoreLocation = Path.Combine(fSharpCompilerLocation, getFSharpCoreLibraryName + ".dll") @@ -62,15 +62,27 @@ module internal FSharp.Compiler.DotNetFrameworkDependencies // packs\Microsoft.NETCore.App.Ref\sdk-version\netcoreappn.n // we will rely on the sdk-version match on the two paths to ensure that we get the product that ships with the // version of the runtime we are executing on - // Use the reference assemblies for the highest netcoreapp tfm that we find in that location. + // Use the reference assemblies for the highest netcoreapp tfm that we find in that location that is + // lower than or equal to the implementation version. + let zeroVersion = Version("0.0.0.0") let version, frameworkRefsPackDirectoryRoot = try - let version = DirectoryInfo(implementationAssemblyDir).Name + let computeVersion version = + match Version.TryParse(version) with + | true, v -> v + | false, _ -> zeroVersion + + let version = computeVersion (DirectoryInfo(implementationAssemblyDir).Name) let microsoftNETCoreAppRef = Path.Combine(implementationAssemblyDir, "../../../packs/Microsoft.NETCore.App.Ref") if Directory.Exists(microsoftNETCoreAppRef) then - Some version, Some microsoftNETCoreAppRef + let directory = DirectoryInfo(microsoftNETCoreAppRef).GetDirectories() + |> Array.map (fun di -> computeVersion di.Name) + |> Array.sort + |> Array.filter(fun v -> v <= version) + |> Array.last + Some (directory.ToString()), Some microsoftNETCoreAppRef else - Some version, None + None, None with | _ -> None, None // Tries to figure out the tfm for the compiler instance. From 434197867233dd5fbe3a12b1aee8bdca4c478d91 Mon Sep 17 00:00:00 2001 From: KevinRansom Date: Wed, 2 Dec 2020 17:10:33 -0800 Subject: [PATCH 08/12] System.Config --- src/fsharp/DotNetFrameworkDependencies.fs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/fsharp/DotNetFrameworkDependencies.fs b/src/fsharp/DotNetFrameworkDependencies.fs index f22e47390dd..8b03f590787 100644 --- a/src/fsharp/DotNetFrameworkDependencies.fs +++ b/src/fsharp/DotNetFrameworkDependencies.fs @@ -407,6 +407,7 @@ module internal FSharp.Compiler.DotNetFrameworkDependencies yield "System.ComponentModel.EventBasedAsync" yield "System.ComponentModel.Primitives" yield "System.ComponentModel.TypeConverter" + yield "System.Configuration" yield "System.Console" yield "System.Core" yield "System.Data" From b6ba6c6809ed63f6c73405ab86d2d6ef15cf7bfe Mon Sep 17 00:00:00 2001 From: KevinRansom Date: Wed, 2 Dec 2020 17:39:35 -0800 Subject: [PATCH 09/12] version --- eng/Versions.props | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eng/Versions.props b/eng/Versions.props index b31763a4870..14265697296 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -24,8 +24,8 @@ $(FSMajorVersion).$(FSMinorVersion).$(FSBuildVersion) $(FSMajorVersion).$(FSMinorVersion).$(FSBuildVersion).$(FSRevisionVersion) 38 - $(FSMinorVersion) - $(FSBuildVersion) + 0 + 1 $(FSRevisionVersion) $(FCSMajorVersion).$(FCSMinorVersion).$(FCSBuildVersion) $(FCSMajorVersion)-$(FCSMinorVersion)-$(FCSBuildVersion) From 127271e522c5d313c9a7f26ccce3b58e23a3846e Mon Sep 17 00:00:00 2001 From: "Kevin Ransom (msft)" Date: Thu, 19 Nov 2020 11:05:16 -0800 Subject: [PATCH 10/12] Update bframework refencing (#10502) --- tests/FSharp.Test.Utilities/CompilerAssert.fs | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/tests/FSharp.Test.Utilities/CompilerAssert.fs b/tests/FSharp.Test.Utilities/CompilerAssert.fs index f50a4783dc7..3e6f721379b 100644 --- a/tests/FSharp.Test.Utilities/CompilerAssert.fs +++ b/tests/FSharp.Test.Utilities/CompilerAssert.fs @@ -117,6 +117,16 @@ type CompilerAssert private () = """ + static let directoryBuildProps = """ + + + true + + + + +""" + static let programFs = """ open System @@ -127,13 +137,15 @@ let main argv = 0""" let mutable output = "" let mutable errors = "" let mutable cleanUp = true - let projectDirectory = Path.Combine(Path.GetTempPath(), "CompilerAssert", Path.GetRandomFileName()) + let pathToTemp = Path.GetFullPath(Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "../../../../Temp")) + let projectDirectory = Path.Combine(pathToTemp, "CompilerAssert", Path.GetRandomFileName()) let pathToFSharpCore = typeof.Assembly.Location try try Directory.CreateDirectory(projectDirectory) |> ignore let projectFileName = Path.Combine(projectDirectory, "ProjectFile.fsproj") let programFsFileName = Path.Combine(projectDirectory, "Program.fs") + let directoryBuildPropsFileName = Path.Combine(projectDirectory, "Directory.Build.props") let frameworkReferencesFileName = Path.Combine(projectDirectory, "FrameworkReferences.txt") #if NETCOREAPP File.WriteAllText(projectFileName, projectFile.Replace("$TARGETFRAMEWORK", "netcoreapp3.1").Replace("$FSHARPCORELOCATION", pathToFSharpCore)) @@ -141,6 +153,7 @@ let main argv = 0""" File.WriteAllText(projectFileName, projectFile.Replace("$TARGETFRAMEWORK", "net472").Replace("$FSHARPCORELOCATION", pathToFSharpCore)) #endif File.WriteAllText(programFsFileName, programFs) + File.WriteAllText(directoryBuildPropsFileName, directoryBuildProps) let pInfo = ProcessStartInfo () pInfo.FileName <- config.DotNetExe @@ -166,7 +179,9 @@ let main argv = 0""" cleanUp <- false printfn "Project directory: %s" projectDirectory printfn "STDOUT: %s" output + File.WriteAllText(Path.Combine(projectDirectory, "project.stdout"), output) printfn "STDERR: %s" errors + File.WriteAllText(Path.Combine(projectDirectory, "project.stderror"), errors) raise (new Exception (sprintf "An error occurred getting netcoreapp references: %A" e)) finally if cleanUp then From 912807cb2630b45fddaf2aad97cf7f07a3db2702 Mon Sep 17 00:00:00 2001 From: Kevin Ransom Date: Thu, 3 Dec 2020 01:14:27 -0800 Subject: [PATCH 11/12] Fix release notes link --- eng/Versions.props | 2 +- .../FSharp.Compiler.Service/FSharp.Compiler.Service.fsproj | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/eng/Versions.props b/eng/Versions.props index 14265697296..507a144f8e0 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -28,7 +28,7 @@ 1 $(FSRevisionVersion) $(FCSMajorVersion).$(FCSMinorVersion).$(FCSBuildVersion) - $(FCSMajorVersion)-$(FCSMinorVersion)-$(FCSBuildVersion) + $(FCSMajorVersion)$(FCSMinorVersion)$(FCSBuildVersion) 4.7.2 diff --git a/src/fsharp/FSharp.Compiler.Service/FSharp.Compiler.Service.fsproj b/src/fsharp/FSharp.Compiler.Service/FSharp.Compiler.Service.fsproj index 7a8661a39fa..10a562e7e21 100644 --- a/src/fsharp/FSharp.Compiler.Service/FSharp.Compiler.Service.fsproj +++ b/src/fsharp/FSharp.Compiler.Service/FSharp.Compiler.Service.fsproj @@ -20,7 +20,7 @@ FSharp.Compiler.Service.nuspec true The F# Compiler Services package For F# $(FSLanguageVersion) exposes additional functionality for implementing F# language bindings, additional tools based on the compiler or refactoring tools. The package also includes F# interactive service that can be used for embedding F# scripting into your applications. Contains code from the F# Software Foundation. - /blob/main/release-notes.md#FSharp-Compiler-Service-$(FSharpCompilerServiceReleaseNotesVersion) + /~https://github.com/dotnet/fsharp/blob/main/release-notes.md#FSharp-Compiler-Service-$(FSharpCompilerServiceReleaseNotesVersion) F#, fsharp, interactive, compiler, editor $(MSBuildThisFileDirectory)logo.png From 5ce8e4974e7514a86a015d0db57d263de85aa167 Mon Sep 17 00:00:00 2001 From: "Kevin Ransom (msft)" Date: Thu, 19 Nov 2020 14:20:34 -0800 Subject: [PATCH 12/12] temp (#10506) --- tests/FSharp.Test.Utilities/CompilerAssert.fs | 4 +++- tests/fsharp/single-test.fs | 12 ++++++++---- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/tests/FSharp.Test.Utilities/CompilerAssert.fs b/tests/FSharp.Test.Utilities/CompilerAssert.fs index 3e6f721379b..c163edb7617 100644 --- a/tests/FSharp.Test.Utilities/CompilerAssert.fs +++ b/tests/FSharp.Test.Utilities/CompilerAssert.fs @@ -137,7 +137,9 @@ let main argv = 0""" let mutable output = "" let mutable errors = "" let mutable cleanUp = true - let pathToTemp = Path.GetFullPath(Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "../../../../Temp")) + let pathToArtifacts = Path.GetFullPath(Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "../../../..")) + if Path.GetFileName(pathToArtifacts) <> "artifacts" then failwith "CompilerAssert did not find artifacts directory --- has the location changed????" + let pathToTemp = Path.Combine(pathToArtifacts, "Temp") let projectDirectory = Path.Combine(pathToTemp, "CompilerAssert", Path.GetRandomFileName()) let pathToFSharpCore = typeof.Assembly.Location try diff --git a/tests/fsharp/single-test.fs b/tests/fsharp/single-test.fs index f49281339ba..c12080d761e 100644 --- a/tests/fsharp/single-test.fs +++ b/tests/fsharp/single-test.fs @@ -3,6 +3,7 @@ open System open System.IO open System.Diagnostics +open System.Reflection open NUnit.Framework open TestFramework open HandleExpects @@ -222,12 +223,15 @@ let singleTestBuildAndRunCore cfg copyFiles p languageVersion = let mutable result = "" lock lockObj <| (fun () -> let rec loop () = - let dir = Path.Combine(Path.GetTempPath(), "FSharp.Cambridge", Path.GetRandomFileName()) - if Directory.Exists(dir) then + let pathToArtifacts = Path.GetFullPath(Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "../../../..")) + if Path.GetFileName(pathToArtifacts) <> "artifacts" then failwith "FSharp.Cambridge did not find artifacts directory --- has the location changed????" + let pathToTemp = Path.Combine(pathToArtifacts, "Temp") + let projectDirectory = Path.Combine(pathToTemp, "FSharp.Cambridge", Path.GetRandomFileName()) + if Directory.Exists(projectDirectory) then loop () else - Directory.CreateDirectory(dir) |>ignore - dir + Directory.CreateDirectory(projectDirectory) |>ignore + projectDirectory result <- loop()) result