f# - 需要澄清有关 Microsoft.FSharp.Data.TypeProviders

标签 f#

我们有一个使用 Microsoft.FSharp.Data.TypeProviders 的 F# 3.1 项目构建。现在我们正在尝试使用 VS2015 构建这个项目,我们在 F# 的这部分遇到了问题。例如,当我尝试使用 Nuget 安装它时,它需要 F# 3.1。我使用 this guide,它看起来已经过时了。

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

  • F# 语言 Microsoft.FSharp.Data.TypeProviders 属于哪一部分?它是 F# 核心库还是外部库之一?谁负责这个图书馆?在哪里可以找到 F# 生态系统这一部分的错误跟踪器?
  • 有没有人尝试在 VS2015 中使用 this tutorial 构建 F# 应用程序?你有和我一样的问题吗?还是一切正常?
  • Microsoft.FSharp.TypeProviders 的当前状态是什么?它是否过时了,我所需要的只是等待一段时间,该库将被采用到 F# 4.0 和 VS2015。还是我需要切换到其他数据库访问库?

  • 以下是重现错误的完整描述:
  • 新项目 - F# - 控制台应用程序 (net 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>
    
  • program.fs 中添加以下几行:
    module Test
       open Microsoft.FSharp.Data.TypeProviders
       type internal DB = SqlDataConnection<"Data Source=MyServer;Initial Catalog=MyDB;Integrated Security=SSPI;">
    

  • 这是一条错误消息:

    The .NET SDK 4.0 or 4.5 tools can not be found



    enter image description here

    最佳答案

    更多历史背景:

    1.What part of F# language Microsoft.FSharp.Data.TypeProviders belongs to? It is F# core library or it is one of external libraries? Who is responsible for this library? Where can I find the bug tracker for this part of F# ecosystem?



    它不是核心运行时的一部分,即您可以成为一个快乐且高效的 F# 开发人员,而无需与之交互。它由 Microsoft 创建并随 F# 3.0/VS 2012 一起提供,作为一组用于常见 Msft 数据堆栈的内置类型提供程序。在同一版本中添加了作为语言功能的类型提供程序,所以这个库有点展示了可以做的事情。 FS.D.TP 目前没有积极维护。原始版本 4.3.0.0 仍然随 VS 2013 和 VS 2015 一起提供,但自 VS 2012 发布以来没有进行任何更改。源代码可用 here 并且欢迎您在该 repo 中提交错误,也是。

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

    3.What is the current state of Microsoft.FSharp.TypeProviders? Is it outdated and all what I need is to wait some time when the library will be adopted to F# 4.0 and VS2015. Or do I need to switch to other DB-access library?



    其中一些已在上面回答。如果您拥有所有必需的依赖项,该库在 F# 3.1 或 F# 4.0 中应该仍然可以完美运行。特别是,您需要安装 .NET 4.0 或 4.5 SDK(您可以获得 Win8/.NET 4.5 SDK here ),因为 TP 依赖于随附的各种可执行代码生成工具(sqlmetal.exe、svutil.exe)。

    关于f# - 需要澄清有关 Microsoft.FSharp.Data.TypeProviders,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31770226/

    相关文章:

    visual-studio - 如何更改 F# 交互式 shell 的颜色

    F#元组模式匹配题

    asp.net-web-api - 如何在 Giraffe 中启用 CORS?

    F# StackOverflow in mono with continuations(启用尾调用消除)

    enums - f# 强制转换枚举元素类型

    F# powerpack 和分发

    f# - 用 F# 编写服务

    f# - -> Clojure 中的运算符

    string - 如何将字符串选项合并到 fsharp 中的单个字符串选项?

    f# - F# 中带有浮点迭代器的列表推导式