F#Sql类型提供程序和Windows 10上的.NET Framework v4.0/4.5

F#Sql类型提供程序和Windows 10上的.NET Framework v4.0/4.5,f#,f#-data,F#,F# Data,我正在尝试使用F#编写一个应用程序,我需要访问一个Sql数据库。我正在尝试使用Sql类型提供程序,但在使用时: type schema = SqlDataConnection<ConnectionString="..."> 很多人似乎都明白这一点,但我看到的唯一解决方案是下载并安装适用于Windows 8.1的Windows软件开发工具包。我已经这样做了,选择了所有的选项(包括.NETSDK4.5),它似乎已经安装无误。但是,这并没有解决这个问题,当我查看程序和功能时,我可以看到安

我正在尝试使用F#编写一个应用程序,我需要访问一个Sql数据库。我正在尝试使用Sql类型提供程序,但在使用时:

type schema = SqlDataConnection<ConnectionString="...">
很多人似乎都明白这一点,但我看到的唯一解决方案是下载并安装适用于Windows 8.1的Windows软件开发工具包。我已经这样做了,选择了所有的选项(包括.NETSDK4.5),它似乎已经安装无误。但是,这并没有解决这个问题,当我查看程序和功能时,我可以看到安装了4.5.1 SDK和4.6 SDK,但没有安装4.5 SDK。我使用的是Windows 10和Visual Studio 2015社区版。还有其他人遇到过这个问题并找到了解决方案吗

或者,是否有任何好的替代类型提供程序或解决方案用于连接和查询F#中的sql数据库(注意,我只需要读取数据,不需要写入数据)


编辑:注册表项丢失,因此我添加了[HKEY\U LOCAL\U MACHINE\SOFTWARE\Microsoft\Microsoft SDK\Windows\v8.1A\WinSDK-NetFx40Tools],其中InstallationFolder值指向正确的目录,其中包含所需的所有实用程序。据我所知:这是所有需要的。然而,这并没有产生任何效果。我回顾了一个较旧版本的Util.fs,它似乎只查找v8.0A,而不是v8.1A,因此我还为此创建了一个键,再次指向正确的文件夹,但仍然没有找到。在这个阶段,从代码的角度来看,我相信一切必要的东西都准备好了,它可以正常工作,但事实并非如此。我不确定是否需要重新安装类型提供程序,但我找不到任何选项来执行类似操作。

看起来您可能在此处遇到了此问题:,此处的pull请求中提供了修复程序。查看pull请求中的更改,当前版本似乎正在查找以下注册表项:

HKLM\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v8.0A\WinSDK-NetFx40Tools
HKLM\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v7.0A\WinSDK-NetFx40Tools
在我的机器上,我有SDK版本v7.0A、v7.1、v7.1A、v8.0A和v8.1A,SQL类型提供程序工作正常


你能检查一下你的注册表吗?如果你确实缺少上面的SDK,请尝试下载并安装其中一个吗?

对我来说,安装这个就足够了:

是的,我在代码中搜索并发现了这个。我添加了密钥并将它们指向了正确的位置,但由于同样的原因仍然失败。我从来没有明确安装过SDK,我只安装过带F#的Visual Studio,而且一切正常,我正在Windows 10上运行VS2015。但是,上面提到的github上的线程表明,这只是一个干净的Windows 10安装的问题,虽然我在计算机上安装了以前版本的VS和Windows。但具有讽刺意味的是,我安装Windows的原因是,由于以前版本的.net/visual studio,我在安装VS typescript集成时遇到了各种问题。现在感觉每个Microsoft SDK和工具包都有(un)安装问题。
HKLM\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v8.0A\WinSDK-NetFx40Tools
HKLM\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v7.0A\WinSDK-NetFx40Tools