Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 错误 ;FS3021和#x9;提供的类型';出现意外异常;FSharp_.net_F#_Data Access Layer - Fatal编程技术网

.net 错误 ;FS3021和#x9;提供的类型';出现意外异常;FSharp

.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

我创建了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\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()