我有一个带有F#的xamarin.forms 2.3.4的完整的新项目/空项目。
我有一个共享的项目,有一个额外的逻辑模块:
module Db
let openDb() =
printf "Hello"然后,我创建了一个控制台项目,引用共享项目和相关库,并尝试运行它:
open Db
[<EntryPoint>]
let main argv =
Db.openDb()
0现在我得到了这个错误:
../Test/Tests.fs(6,6): Error FS0039: The namespace or module 'Db' is not defined. Maybe you want one of the following: XDB (FS0039) (Test)我没有收到任何其他错误。我尝试使用xamarin和Visual Studio Mac;,也尝试创建一个UI测试项目(但是,我只关心逻辑测试)。
这是一个没有任何其他内容的空窗体项目。
P.D:如果只需删除对共享项目的引用并手动链接文件,我就能正常工作。然而,我想知道是否有可能涵盖这种情况...
发布于 2017-06-27 17:48:45
在定义模块的文件下是否有EntryPoint文件?可以使用alt +up arrow和alt +down arrow(win + visual studio)或Db.fs(在解决方案资源管理器中) is right click -> Move up来更改文件的位置
F#是从上到下读取的文件。(请参阅此site上的“项目和解决方案”)
这也许是(win10,visual studio 2017)

Db.fs是定义模块。有一个条目EntryPoint program.fs。此外,如果命名空间和模块名称相同,则会发生错误。此项目的模块名称为Bar。
https://stackoverflow.com/questions/44769435
复制相似问题