脚本不承认FSharp.Data(scripts don't recognize FShar

2019-09-01 18:48发布

多少有些F#初学者的。 我想通过一个脚本(FSX)文件第一次进入它来测试一些在交互式窗口我XmlTypeProvider代码。 该脚本文件将无法识别以下

open FSharp.Data  // gives "The namespace or module 'FSharp' is not defined"

一切都已经加入到参考,并.FS文件似乎没有找到XmlTypeProvider参考任何问题,但由于某些原因,在同一项目中的脚本没有。 我甚至得到了代码的.FS文件的工作。

我加FSharp.Data用的NuGet,一切似乎正确添加。 我缺少的是在这里吗?

Answer 1:

在脚本中添加一个引用到包含FSharp.Data.dll的包的NuGet文件夹。 该文件夹还包含了设计师的DLL(FSharp.Data.DesignTime.dll)

#r @"<your nuget packages folder>\FSharp.Data.2.1.0\lib\net40\FSharp.Data.dll"


Answer 2:

顺便说一句,我是上周刚刚调试这个错误。 基本上有三种可能的原因:

  • 文件无法被发现。 其中最明显的是,F#居然找不到dll文件。 确保引用正确(检查项目属性引用),或确保您的#r指向正确的文件(使用F#脚本文件时)

  • 类型供应商不被信任。 该类型的提供者由Visual Studio堵塞。 如果您对“禁止”时单击加载首次提供者可能发生这种情况。 为了解决这个问题,进入“工具” - “选项” - “F#工具” - “型供应商”,并启用类提供商(检查“可信”)。

  • 该DLL由OS阻断。 最后,如果dll来自不受信任的来源,Windows可能会阻止它(如果你下载了一个发生这种情况尤其是zip文件,然后使用Windows提取文件)。 要解锁文件,转到文件属性,然后单击“阻止”。 有一个在这里很好的说明。 。



文章来源: scripts don't recognize FSharp.Data