Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SqlDataProvider for SQLite works with dotnet build (.NET6) but not in Visual Studio 2022 #757

Open
florenzen opened this issue Feb 14, 2022 · 2 comments

Comments

@florenzen
Copy link

Describe the bug
A program with the SqlDataProvider for SQLite can be compiled with dotnet build (.NET SDK 6.0.102) but not in Visual Studio 2022 (17.0.7):

To Reproduce
The following program cannot be compiled in Visual STudio 2022:

open FSharp.Data.Sql

[<Literal>]
let private ConnStringDevel =
    "Data Source=" +
    "Foo.sqlite; foreign keys=true"

[<Literal>]
let private ResolutionPath =
    "Stub.System.Data.SQLite.Core.NetStandard"

type private CcMon =
    SqlDataProvider<Common.DatabaseProviderTypes.SQLITE, SQLiteLibrary=Common.SQLiteLibrary.SystemDataSQLite, ConnectionString=ConnStringDevel, ResolutionPath=ResolutionPath>

Referenced NuGet packages:

dotnet list package
   [net6.0]:
   > FSharp.Core             6.0.1         6.0.1
   > SQLProvider             1.2.10        1.2.10

The error in Visual Studio is:

FS3033	The type provider 'FSharp.Data.Sql.SqlTypeProvider' reported an error: Method not found: 'System.String System.Runtime.InteropServices.Marshal.PtrToStringUTF8(IntPtr, Int32)'.	TryTypePro	Program.fs

Narrowing the problem
I tracked the problem down to fscAnyCpu.exe bundled with Visual Studio. VS calls the compiler with this command line (modified to be pasteable in PowerShell):

& "C:\Program Files\Microsoft Visual Studio\2022\Enterprise/Common7/IDE/CommonExtensions/Microsoft/FSharp/Tools/fscAnyCpu.exe" `
-o:obj\Debug\net6.0\TryTypePro.dll `
-g `
--debug:portable `
--noframework `
--define:TRACE `
--define:DEBUG `
--define:NET `
--define:NET6_0 `
--define:NETCOREAPP `
--define:NET5_0_OR_GREATER `
--define:NET6_0_OR_GREATER `
--define:NETCOREAPP1_0_OR_GREATER `
--define:NETCOREAPP1_1_OR_GREATER `
--define:NETCOREAPP2_0_OR_GREATER `
--define:NETCOREAPP2_1_OR_GREATER `
--define:NETCOREAPP2_2_OR_GREATER `
--define:NETCOREAPP3_0_OR_GREATER `
--define:NETCOREAPP3_1_OR_GREATER `
--optimize- `
--tailcalls- `
-r:"C:\Users\florian.lorenzen\.nuget\packages\fsharp.core\6.0.1\lib\netstandard2.1\FSharp.Core.dll" `
-r:"C:\Users\florian.lorenzen\.nuget\packages\sqlprovider\1.2.10\lib\netstandard2.0\FSharp.Data.SqlProvider.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\Microsoft.CSharp.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\Microsoft.VisualBasic.Core.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\Microsoft.VisualBasic.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\Microsoft.Win32.Primitives.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\Microsoft.Win32.Registry.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\mscorlib.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\netstandard.dll" `
-r:"C:\Users\florian.lorenzen\.nuget\packages\newtonsoft.json\12.0.3\lib\netstandard2.0\Newtonsoft.Json.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.AppContext.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Buffers.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Collections.Concurrent.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Collections.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Collections.Immutable.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Collections.NonGeneric.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Collections.Specialized.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.ComponentModel.Annotations.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.ComponentModel.DataAnnotations.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.ComponentModel.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.ComponentModel.EventBasedAsync.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.ComponentModel.Primitives.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.ComponentModel.TypeConverter.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Configuration.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Console.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Core.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Data.Common.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Data.DataSetExtensions.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Data.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Diagnostics.Contracts.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Diagnostics.Debug.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Diagnostics.DiagnosticSource.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Diagnostics.FileVersionInfo.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Diagnostics.Process.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Diagnostics.StackTrace.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Diagnostics.TextWriterTraceListener.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Diagnostics.Tools.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Diagnostics.TraceSource.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Diagnostics.Tracing.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Drawing.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Drawing.Primitives.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Dynamic.Runtime.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Formats.Asn1.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Globalization.Calendars.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Globalization.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Globalization.Extensions.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.IO.Compression.Brotli.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.IO.Compression.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.IO.Compression.FileSystem.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.IO.Compression.ZipFile.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.IO.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.IO.FileSystem.AccessControl.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.IO.FileSystem.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.IO.FileSystem.DriveInfo.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.IO.FileSystem.Primitives.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.IO.FileSystem.Watcher.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.IO.IsolatedStorage.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.IO.MemoryMappedFiles.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.IO.Pipes.AccessControl.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.IO.Pipes.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.IO.UnmanagedMemoryStream.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Linq.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Linq.Expressions.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Linq.Parallel.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Linq.Queryable.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Memory.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Net.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Net.Http.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Net.Http.Json.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Net.HttpListener.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Net.Mail.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Net.NameResolution.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Net.NetworkInformation.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Net.Ping.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Net.Primitives.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Net.Requests.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Net.Security.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Net.ServicePoint.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Net.Sockets.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Net.WebClient.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Net.WebHeaderCollection.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Net.WebProxy.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Net.WebSockets.Client.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Net.WebSockets.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Numerics.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Numerics.Vectors.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.ObjectModel.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Reflection.DispatchProxy.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Reflection.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Reflection.Emit.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Reflection.Emit.ILGeneration.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Reflection.Emit.Lightweight.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Reflection.Extensions.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Reflection.Metadata.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Reflection.Primitives.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Reflection.TypeExtensions.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Resources.Reader.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Resources.ResourceManager.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Resources.Writer.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Runtime.CompilerServices.Unsafe.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Runtime.CompilerServices.VisualC.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Runtime.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Runtime.Extensions.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Runtime.Handles.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Runtime.InteropServices.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Runtime.InteropServices.RuntimeInformation.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Runtime.Intrinsics.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Runtime.Loader.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Runtime.Numerics.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Runtime.Serialization.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Runtime.Serialization.Formatters.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Runtime.Serialization.Json.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Runtime.Serialization.Primitives.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Runtime.Serialization.Xml.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Security.AccessControl.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Security.Claims.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Security.Cryptography.Algorithms.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Security.Cryptography.Cng.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Security.Cryptography.Csp.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Security.Cryptography.Encoding.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Security.Cryptography.OpenSsl.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Security.Cryptography.Primitives.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Security.Cryptography.X509Certificates.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Security.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Security.Principal.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Security.Principal.Windows.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Security.SecureString.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.ServiceModel.Web.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.ServiceProcess.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Text.Encoding.CodePages.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Text.Encoding.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Text.Encoding.Extensions.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Text.Encodings.Web.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Text.Json.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Text.RegularExpressions.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Threading.Channels.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Threading.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Threading.Overlapped.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Threading.Tasks.Dataflow.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Threading.Tasks.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Threading.Tasks.Extensions.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Threading.Tasks.Parallel.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Threading.Thread.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Threading.ThreadPool.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Threading.Timer.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Transactions.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Transactions.Local.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.ValueTuple.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Web.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Web.HttpUtility.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Windows.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Xml.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Xml.Linq.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Xml.ReaderWriter.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Xml.Serialization.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Xml.XDocument.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Xml.XmlDocument.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Xml.XmlSerializer.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Xml.XPath.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\System.Xml.XPath.XDocument.dll" `
-r:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.2\ref\net6.0\WindowsBase.dll" `
--target:exe `
--warn:3 `
--warnaserror:3239 `
--fullpaths `
--flaterrors `
--highentropyva+ `
--targetprofile:netcore `
--nocopyfsharpcore `
--deterministic+ `
--simpleresolution `
obj\Debug\net6.0\.NETCoreApp,Version=v6.0.AssemblyAttributes.fs `
obj\Debug\net6.0\TryTypePro.AssemblyInfo.fs `
Program.fs

The command line used by dotnet build is exactly the same apart from the executable called, which is

& "C:\Program Files\dotnet\dotnet.exe" "C:\Program Files\dotnet\sdk\6.0.102\FSharp\fsc.dll" `

If I replace the fscAnyCpu.exe invocation by the dotnet.exe invocation the program is compiled.

I am not sure if I should report this to Visual Studio development, to the F# compiler folks, or here. Please direct me else where if appropriate.

@mattnewport
Copy link

I can't get this to work with dotnet build either. I'm able to get it to work if I create a .net Framework project but I'm unable to get it working with a .net 6.0 project in Visual Studio 2022 or standalone using dotnet build. The instructions about copying DLLs around are not very clear in the docs at https://fsprojects.github.io/SQLProvider/core/sqlite.html so I'm not sure if I'm doing something wrong but for .net Framework it just works.

@WillEhrendreich
Copy link
Contributor

@mattnewport and @florenzen With the latest version, in a .net 6 project, I can get dotnet build to work, and it builds in visual studio. Currently design time only works for me in Visual Studio, both Neovim and VSCode give this error:

image

Do you guys get Visual Studio to build now as well, or are you guys still getting no love there?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants