我在Visual Studio 2015中创建了一个新的F#控制台应用程序项目,然后创建了一个名为Calc.fs的简单模块文件。module Calc let add a b = a + b 我这样将一个F#脚本文件添加到项目中:open Calc let c = add 1 2 我在脚本文件中看到以下编译器错误: 命名空间或模块“Calc”未定义 和 值或构造函数“add”未定义 为什么我的模块没有被脚本文件识别?我该如何解决这个问题? 请注意,我的脚本文件在项目文件的顺序中出现在模块之后。
.fsx文件不会与项目的其他部分一起编译;它们没有意识到除非您明确地让它们知道。这对于任何外部DLL(实际上包括许多.NET Framework中的内容)以及其他F#代码都是如此。您需要添加#load "Calc.fs" 在脚本文件的顶部添加代码,以便在评估脚本的其余部分之前告诉编译器加载该代码。
Calc
移动到文件列表中Program
之前的位置。 - Fyodor SoikinProgram.fs
移到底部。还是不行。 - urig