F# 伪造的FscHelper和Paket参考资料
我开始尝试F#和FAKE和Paket。我试图理解我应该如何管理通过Paket安装的DLL的引用 目前我在build.fsx中有类似的内容F# 伪造的FscHelper和Paket参考资料,f#,f#-fake,paket,F#,F# Fake,Paket,我开始尝试F#和FAKE和Paket。我试图理解我应该如何管理通过Paket安装的DLL的引用 目前我在build.fsx中有类似的内容 Target "DeadLetter" (fun _ -> ["MyFile.fs"] |> FscHelper.compile [ FscHelper.References [ "packages/Suave/lib/net40/Suave.dll" ] ] |> function _ -
Target "DeadLetter" (fun _ ->
["MyFile.fs"]
|> FscHelper.compile [
FscHelper.References [ "packages/Suave/lib/net40/Suave.dll" ]
]
|> function _ -> ()
)
还有一个等价的netstandard1.6
路径,但是如果使用它,我的项目不会编译。我想我不太明白为什么会出现这种情况,但我认为其他编译该项目的人可能正在使用标准.NET,当前的配置可能会失败
这表明在这里硬编码路径(尽管相对于项目根)不是正确的方法
如何在构建脚本中设置这些引用以使项目可移植?有没有理由不使用
fsproj
文件?@FyodorSoikin我使用的是Mono,没有安装VS。我意识到这并不妨碍使用fsproj
,但感觉应该可以不用它。这个文件的全部要点是指定引用、配置和其他一些东西之间的复杂关系。碰巧VS也使用这个文件,但这不是拥有它的唯一原因。当然,您可以在构建脚本中复制fsproj
的功能,但为什么要复制呢?仅当您有充分理由不使用fsproj
文件时。这就是为什么我问你有没有。@geoff_h FAKE的MSBuild助手也在Mono上工作,他们使用xbuild
工具来构建项目和解决方案。我同意@FyodorSoikin的观点:除非有特别好的理由,否则我会使用fsproj
文件来描述依赖关系。我建议克隆并将其作为项目的起点。它为您设置了很多东西(.fsproj
文件、单元测试、Paket和FAKE),并为您提供了一个良好的工作起点。即使你想“从头开始”学习所有细节,阅读一个已知的工作示例也是非常有帮助的。