需要澄清有关Microsoft.FSharp.Data.TypeProviders的信息

dem*_*mas 4 f#

我们使用Microsoft.FSharp.Data.TypeProviders使用F#3.1进行项目构建.现在我们正在尝试用VS2015构建这个项目,我们遇到了这部分F#的问题.例如,当我尝试使用Nuget安装它时,它需要F#3.1.我使用本指南,它看起来过时了.

所以我会感谢我的问题的答案:

  1. F#语言Microsoft.FSharp.Data.TypeProviders属于哪个部分?它是F#核心库还是外部库之一?谁负责这个图书馆?我在哪里可以找到这个F#生态系统的bug追踪器?

  2. 是否有人试图使用本教程在VS2015中构建F#应用程序?你有像我这样的问题吗?或者一切正常?

  3. Microsoft.FSharp.TypeProviders的当前状态是什么?它是否过时,我需要的是等待一段时间将库采用到F#4.0和VS2015.或者我是否需要切换到其他数据库访问库?

以下是重现错误的完整说明:

  • 新项目 - F# - 控制台应用程序(净4.6)
  • NuGet - 安装Data.TypeProviders.packages.config:

    <?xml version="1.0" encoding="utf-8"?>
      <packages>
       <package id="FSharp.Core.3" version="0.0.2" targetFramework="net46" />
       <package id="FSharp.Data.TypeProviders" version="0.0.1" targetFramework="net46" />
      </packages>
    
    Run Code Online (Sandbox Code Playgroud)
  • program.fs添加行:

    module Test
       open Microsoft.FSharp.Data.TypeProviders
       type internal DB = SqlDataConnection<"Data Source=MyServer;Initial Catalog=MyDB;Integrated Security=SSPI;">
    
    Run Code Online (Sandbox Code Playgroud)

这是一条错误消息:

找不到.NET SDK 4.0或4.5工具

在此输入图像描述

lat*_*kin 10

更多历史背景:

1. Microsoft.FSharp.Data.TypeProviders属于F#语言的哪一部分?它是F#核心库还是外部库之一?谁负责这个图书馆?我在哪里可以找到这个F#生态系统的bug追踪器?

它不是核心运行时的一部分,即你可以成为一个快乐而富有成效的F#dev,而不必与之交互.它由Microsoft创建,随F#3.0/VS 2012一起提供,作为一组用于常见Msft数据堆栈的内置类型提供程序.作为语言功能的类型提供程序已添加到同一版本中,因此该库有点展示了可以执行的操作.FS.D.TP目前尚未得到积极维护.原始版本4.3.0.0仍在VS 2013和VS 2015的包装盒中提供,但自VS 2012发布以来未进行任何更改.源代码可以在这里获得,欢迎您在该回购中提交错误.

原则上,图书馆将作为社区项目接管,并从那里作为nuget包进行维护/更新.没有什么能真正阻止这一点.然而,拥有Msft签名和支持的框中的库对于许多企业客户来说仍然非常重要.所以它仍然处于这种状态,它在盒子里,但没有更新.

3. Microsoft.FSharp.TypeProviders的当前状态是什么?它是否过时,我需要的是等待一段时间将库采用到F#4.0和VS2015.或者我是否需要切换到其他数据库访问库?

上面回答了其中一些问题.如果您具有所有必需的依赖项,则库仍应在F#3.1或F#4.0中完美运行.特别是,您需要安装.NET 4.0或4.5 SDK(您可以在此处获取Win8/.NET 4.5 SDK ),因为TP依赖于随之而来的各种可执行代码生成工具(sqlmetal.exe,svutil.exe).

  • 谢谢.我可以确认安装Win8/.NET 4.5 SDK可以解决问题. (5认同)
  • 在Win10/.NET 4.6计算机上安装期间,Win8/.NET 4.5 SDK的安装程序崩溃.最新的Win10 SDK安装,但这不能解决我的问题. (2认同)