我在Windows上开发的F#项目中有一个.fsproj(和.sln),我想在Mac上构建。
我用Mono构建了几个单源文件F#程序,这很棒。不幸的是,这个.fsproj并不重要,因为有几个源文件和许多引用。
设计命令行来手动构建项目看起来并不好玩。
是否有工具可以分析.sln / .fsproj并提供正确的命令行?或者也许只是从.sln / .fsproj构建?
如果可能的话,我想在没有MonoDevelop或SharpDevelop的情况下这样做,尽管这些方面的答案是受欢迎的。
答案 0 :(得分:3)
这是我使用的简单makefile
FSC=/home/john/FSharp-2.0.0.0/bin/fsc.exe
FSFILES= tokenizer.fs BuildTree.fs symtable.fs mkVMCommands.fs codegen.fs
compiler: compiler.exe
compiler.exe: $(FSFILES)
$(FSC) --define:LINUX --debug:full --debug+ $(FSFILES) -o:compiler.exe --sig:sigfile.fs
run: compiler
mono compiler.exe
请注意,每个目标之后的行 - compiler.exe:...
需要缩进TAB
而不是空格。如果您需要reerences,只需将-r "Somefile.dll"
添加到命令行。
答案 1 :(得分:2)
您可能需要查看直接阅读sln
和fsproj
文件的xbuild,并在Mono平台上构建它们。
正如评论中提到的@JPW,它也是works on Mac OS X。虽然xbuild的F#支持似乎不成熟,但有人设法build F# projects with xbuild on Linux。希望您在Mac上设置构建环境很有帮助。