多少有些F#初学者的。 我想通过一个脚本(FSX)文件第一次进入它来测试一些在交互式窗口我XmlTypeProvider代码。 该脚本文件将无法识别以下
open FSharp.Data // gives "The namespace or module 'FSharp' is not defined"
一切都已经加入到参考,并.FS文件似乎没有找到XmlTypeProvider参考任何问题,但由于某些原因,在同一项目中的脚本没有。 我甚至得到了代码的.FS文件的工作。
我加FSharp.Data用的NuGet,一切似乎正确添加。 我缺少的是在这里吗?
在脚本中添加一个引用到包含FSharp.Data.dll的包的NuGet文件夹。 该文件夹还包含了设计师的DLL(FSharp.Data.DesignTime.dll)
#r @"<your nuget packages folder>\FSharp.Data.2.1.0\lib\net40\FSharp.Data.dll"
顺便说一句,我是上周刚刚调试这个错误。 基本上有三种可能的原因:
文件无法被发现。 其中最明显的是,F#居然找不到dll
文件。 确保引用正确(检查项目属性引用),或确保您的#r
指向正确的文件(使用F#脚本文件时)
类型供应商不被信任。 该类型的提供者由Visual Studio堵塞。 如果您对“禁止”时单击加载首次提供者可能发生这种情况。 为了解决这个问题,进入“工具” - “选项” - “F#工具” - “型供应商”,并启用类提供商(检查“可信”)。
该DLL由OS阻断。 最后,如果dll
来自不受信任的来源,Windows可能会阻止它(如果你下载了一个发生这种情况尤其是zip
文件,然后使用Windows提取文件)。 要解锁文件,转到文件属性,然后单击“阻止”。 有一个在这里很好的说明。 。