.net 错误 ;FS3021和#x9;提供的类型';出现意外异常;FSharp
我创建了F#控制台应用程序(.NET 4.7.2),然后将Nuget包添加到FSharp.Data.SqlProvider中 然后我用F写了这段代码#.net 错误 ;FS3021和#x9;提供的类型';出现意外异常;FSharp,.net,f#,data-access-layer,.net,F#,Data Access Layer,我创建了F#控制台应用程序(.NET 4.7.2),然后将Nuget包添加到FSharp.Data.SqlProvider中 然后我用F写了这段代码# 模块文件1 //#r“FSharp.Data.SqlProvider.dll” 开放系统 打开FSharp.Data.Sql 让[]dbVendor=Common.DatabaseProviderTypes.MSSQLSERVER 让[]connString=“Server=localhost;Database=Northwind;Trusted
模块文件1
//#r“FSharp.Data.SqlProvider.dll”
开放系统
打开FSharp.Data.Sql
让[]dbVendor=Common.DatabaseProviderTypes.MSSQLSERVER
让[]connString=“Server=localhost;Database=Northwind;Trusted\u Connection=True”
让[]useOptTypes=true
设[]indivAmount=1000
类型sql=
SqlDataProvider<
数据库供应商,
康斯林,
个体数量=独立数量,
UseOptionTypes=useOptTypes>
设ctx=sql.GetDataContext()
在我构建了所有我得到的错误之后,这个错误意味着什么
错误FS3021提供的类型出现意外异常
'FSharp.Data.Sql.SqlDataProvider,DatabaseVendor=“0”,ConnectionString=“Server=localhost;Database=Test;Trusted\u Connection=True”,UseOptionTypes=“True”+dataContext'
成员“GetMethods”:类型提供程序
“FSharp.Data.Sql.SqlTypeProvider”报告了一个错误:设计时
类型提供程序使用的类型“System.Data.IDbConnection”不可用
在目标引用程序集“[tgt程序集”中找到
FSharp.Data.SqlProvider,版本=1.1.62.0,区域性=中性;tgt
程序集mscorlib,版本=4.0.0.0,区域性=中性,
PublicKeyToken=b77a5c561934e089;tgt组件FSharp.Core,
版本=4.5.0.0,区域性=中性,PublicKeyToken=b03f5f7f11d50a3a;
tgt assembly System.Core,版本=4.0.0.0,区域性=中性,
PublicKeyToken=b77a5c561934e089;tgt装配系统,
版本=4.0.0.0,区域性=中性,PublicKeyToken=b77a5c561934e089;
tgt汇编系统。数值,版本=4.0.0.0,区域性=中性,
PublicKeyToken=b77a5c561934e089;tgt assembly System.ValueTuple,
版本=4.0.2.0,区域性=中性,PublicKeyToken=CC7B13FFCD2DD51]'。
您可能正在引用的配置文件包含的类型少于这些类型
您所使用的类型提供程序需要
使用。ConsoleApplicationF C:\Users\UserXXX\source\repos\ConsoleApplicationF\ConsoleApplicationF\File1.fs 22处于活动状态
当我对netcore做同样的操作时,我得到了另一个错误
FS3033类型提供程序“FSharp.Data.Sql.SqlTypeProvider”报告
提供的类型的上下文中出现错误
'FSharp.Data.Sql.SqlDataProvider,DatabaseVendor=“0”,ConnectionString=“Server=localhost;Database=Test;Trusted_Connection=True”,
成员“GetDataContext”。错误:方法“System.String”
tryGetConnectionString(布尔、System.String、System.String、,
在类型“”中找不到System.String“”。可能缺少此方法
在目标程序集中可用的类型中
以上内容适用于VS 2017 targeting
netcoreapp2.2
。检查Microsoft.NETCore.App是否作为SDK依赖项拉入,因为它应该包含System.Data。但在尝试从命令行运行时,我确实遇到了一个不同的错误。我将纠正这个问题,并使用NetCore和Net4.7.2对其进行增强
module File1
//#r "FSharp.Data.SqlProvider.dll"
open System
open FSharp.Data.Sql
let [<Literal>] dbVendor = Common.DatabaseProviderTypes.MSSQLSERVER
let [<Literal>] connString = "Server=localhost;Database=Northwind;Trusted_Connection=True"
let [<Literal>] useOptTypes = true
let [<Literal>] indivAmount = 1000
type sql =
SqlDataProvider<
dbVendor,
connString,
IndividualsAmount = indivAmount,
UseOptionTypes = useOptTypes>
let ctx = sql.GetDataContext()