命名空间或模块“Runtime”未定义。

7

因此,“Funscript”页面这里有一个示例。现在我已经将示例加载到我的Visual Studio 2012中。我不熟悉Visual Studio .NET,最近才开始学习F#。示例页面的最后一行是:

do Runtime.Run(components=components, directory="Web") 

总是会抛出一个错误。事实上,Visual Studio IDE(编译器)似乎无法识别 Runtime。

如果这是像Java这样的语言,可以尝试导入库,因此我尝试使用 System.Runtime,但仍然无法被 Visual Studio IDE 识别,该行代码抛出一个错误,内容为:

"The namespace or module "Runtime" is not defined.

两个问题

  1. 我怎么才能避免这个问题?
  2. 有没有任何适合完全初学者的F#教程,可以涉及加载外部库?

这个教程:http://funscript.info/samples/tutorial.html 讲解了如何添加所需的dll引用。 - John Palmer
我已经完成了教程并添加了所有的dll文件,包括提到的三个。还有其他的建议吗?实际上,我尝试查找Runtime的引用,但在stackoverflow中无法找到这样的错误。我发现引用是问题所在。我也尝试使用NuGet添加Funscript引用,但仍然存在问题。 - N00bsie
你的文件开头是否有这两行代码:open FunScriptopen FunScript.TypeScript - John Palmer
好的,如果您不发布您的代码,我只能猜测问题所在。MSDN上有关于System.RuntimeSystem.Runtime.InteropServices的文档,但是Runtime.Run不在这些库中,我认为它是funscript特定的东西,而不是F#库。 - John Palmer
这是我正在使用的代码 https://github.com/ZachBray/FunScript/blob/master/Examples/Tutorial/Page.fs - N00bsie
显示剩余2条评论
1个回答

9
我搞清楚了。Funscript需要一个启动器,文档中有提到。它包含在Examples/Shared/Launcher.fs中。如果使用funscript附带的.fsproj文件,则此过程会自动处理。
如果您手动编译,请在编译您自己的文件之前添加../Shared/Launcher.fs

非常感谢您的帮助。我该如何添加../Shared/Launcher.fs?我总是在交互式模式下执行,我知道这不是正确的方法。我需要构建解决方案吗? - N00bsie
对于fsi,等效的是#load "../Shared/Launcher.fs" - John Palmer
我觉得我没有正确表达我的问题。我正在使用一个fs文件。如何在同一个fs文件中包含另一个fs文件?所以我正在使用Page.fs,假设我有一个带有实用函数的文件夹,如何引用它们?我已经尝试查找模块加载,但无法找到适当的指针。 - N00bsie
所以如果你正在使用 fsc/fsharpc,你需要将命令从 fsc A.fs 改为 fsc a.fs b.fs。否则我不清楚你运行代码的方式。 - John Palmer
非常感谢您的帮助,@John Palmer。我已经解决了这个问题,现在它可以正常工作了!非常感谢您详细的帮助。 - N00bsie

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接