运行Windows 10,Visual Studio Community 2015和SQL Server 2014 Express。我还安装了.Net 3.5、4.0、4.5。
我的SqlDataConnection抛出编译时错误“类型提供程序'Microsoft.FSharp ...'...读取架构时出错。找不到.NET SDK 4.0或4.5工具”。搜索解决方案后,我被定向到一些注册表项。
在
HKLM\SOFTWARE\Wow6432Node\Microsoft\Microsoft SDKs\Windows
我有两个键:\v8.0A和\v8.1A。 (我没有任何v7.xxx的 key )我从一个在线答案中获得了这些 key 。每个键下面都有三个键:WinSDK-NetFx ... Tools。对于v8.0A,椭圆为“35”,对于v8.1A,椭圆为“40”。另外,每个键都用+“-x64”和+“-x86”重复。
这六个键的字符串值均为“InstallationFolder”(以及“ComponentName”和“ProductVersion”)。
我转到安装文件夹,每个文件夹都有ResGen.exe和SqlMetal.exe(这是其他答案说要查找的文件)。因此,似乎我具有指向必需exe的必需注册表项。
在v7.0A和v8.1A的安装文件夹旁边,我还有一个用于v10.0A的文件夹。因此,我尝试创建一些名为v10.0A的其他注册表项。在这些v10.0A key 中,我尝试将v10.0A文件夹放置为InstallationFolder,也尝试将v8.1A文件夹放置为installationFolder。 (我尝试此排列的原因之一是因为错误消息要求提供SDK 4.0或4.5,而v10.0A文件夹具有NETFX 4.6工具。因此,我尝试通过更改注册表项来解决v4.5和v4.6之间可能存在的不一致问题。在v10.0A下,并使用v8.1A文件夹中的v4.5路径。)
我可能已经花了太长时间试图提供相关信息。但是,我已经安装和更新了最新的软件,并且我尝试遵循以前提供的解决方案。但是我被困住了。也许所有最新版本都还没有相互捆绑在一起?
任何帮助表示赞赏。
编辑:做更多的网络搜索,现在我发现了更多具有更多详细信息的修复程序。特别是这看起来非常有前途:
Need clarification regarding Microsoft.FSharp.Data.TypeProviders
但是直到今天结束,我才能继续努力。因此,该链接可能是我的答案,但我无法确认。
最佳答案
值得检查的是您使用的是F#类型提供程序的nuget version。与框架捆绑在一起的版本没有fix applied扩展搜索的注册表项列表,以应对更高版本的SDK(将安装在Windows 10上)
https://github.com/fsprojects/FSharp.Data.TypeProviders/issues/21#issuecomment-337444919
关于sql-server - 找不到F#SQL Server类型提供程序.NET SDK工具。 Windows 10,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32215570/