我在Visual Studio 2015中创建了一个新的F#控制台应用程序项目我创建了一个名为Calc.fs的简单新模块文件,如下所示:
module Calc
let add a b = a + b
Run Code Online (Sandbox Code Playgroud)
我将F#脚本文件添加到项目中,如下所示:
open Calc
let c = add 1 2
Run Code Online (Sandbox Code Playgroud)
我在脚本文件中收到以下编译器错误:
未定义名称空间或模块"Calc"
和
未定义值或构造函数"add"
为什么我的模块无法识别我的模块?我怎样才能解决这个问题?
请注意,我的脚本文件按照项目中文件的顺序显示在模块之后:
Tea*_*Dev 12
.fsx文件不与项目的其余部分一起编译; 他们不会"知道"任何其他代码,除非您明确告知他们.对于任何外部DLL(实际上甚至是.NET Framework中的许多)以及其他F#代码都是如此.
你需要添加
#load "Calc.fs"
Run Code Online (Sandbox Code Playgroud)
在脚本文件的顶部,告诉编译器在评估脚本的其余部分之前加载该代码.