f# - 无法使用 ApiaryTypeProvider 构建 F# 项目。找不到 FSharp.Data.DesignTime

标签 f# type-providers apiary

我有一个包含以下代码的 F# 库项目(不可移植库):

   let db = new ApiaryProvider<"themoviedb">("http://api.themoviedb.org")
   db.AddQueryParam("api_key", TmdbApiKey)
   let test = 
      let movie = db.Movie.GetMovie("550")
      let creds = movie.Credits()
      creds

不幸的是,当我尝试构建它时出现错误:

C:\Users\Andy\Documents\Programming\Projects\MovieMediaManager\MovieMediaManagerLib\
Library1.fs(73,19):

error FS3033: The type provider 'ApiaryProvider.ProviderImplementation.ApiaryProvider'
reported an error in the context of provided type
'ApiaryProvider.ApiaryProvider,ApiName="themoviedb"+Movie3', member 'Credits'.

The error: Could not load file or assembly 'FSharp.Data.DesignTime, Version=2.0.7.0,
Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find
the file specified.

线上:

let credits = movie.Credits()

我使用的是 ApiaryProvider 1.0.1。 FSharp.Data.DesignTime dll 位于此目录的 nuget 包文件中:

\packages\ApiaryProvider.1.0.1\lib\net40

我在这里阅读了这个问题: Is FSharp.Data.DesignTime .NET 4.5 only?

您可以删除引用,它应该可以工作,但这提到了 FSharp.Data,它应该在新的 nuget 包中得到修复。

我做错了什么吗? 我是否需要 checkout 源代码并手动删除引用并重新构建?

最佳答案

我自己遇到了几个关于 f# 和 FSharp.Data.Dll 的问题。我必须完全unisntall 解决方案中每个项目的包,然后重新安装 nuget 包。然后,我必须转到 工具、选项、F# 工具、类型提供程序 并信任您当前正在处理的项目的 FSharp.Data.DLL。我也遇到过 DLL 同时被多个项目信任的问题,它也会导致问题。

希望这对您有所帮助!

关于f# - 无法使用 ApiaryTypeProvider 构建 F# 项目。找不到 FSharp.Data.DesignTime,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23909700/

相关文章:

unit-testing - 在哪里可以找到大量用于单元测试的 YAML 文件?

generics - F# 检查泛型类型参数是否为可区分联合

http - F# - Http 请求响应主体到字符串以与 json 类型提供程序一起使用

f# - Tryfsharp.org - 类型提供商?

reflection - 使用 Reflection.Emit 生成可识别联合

f# - F# 中全局变量的样式指南

xml - F# XML 类型提供程序 - 使用 XSD

apiblueprint - 如何访问原始 apiblueprint Markdown ?

json - 养蜂场:是否可以记录什么是JSON响应字段?