我可能完全错了,但我的理解是--standalone编译器选项告诉编译器在exe中包含F#核心和其他依赖项,这样你就可以在另一台机器上运行它而无需安装任何'运行时' ”。
但是,我无法在CTP中使用它 - 它甚至似乎都没有改变输出文件的大小(我读过的文档说的是额外的1M)。
“谷歌可能知道,但如果确实如此,那就说不出来了,或者我找不到合适的地方”
更新
它似乎适用于最新的CTP update 1.9.6.2
UPDATE2:
此后我又遇到了另一个错误:
FSC(0,0): error FS0191: could not resolve assembly Microsoft.Build.Utilities.
如果在尝试编译时遇到这样的错误--standalone,则需要在项目中明确地将它们作为引用包含在内。
答案 0 :(得分:4)
来自MS的回答:
有一个CTP更新1.9.6.2修复了一些 - standalone错误。
我现在正在重新安装......
更新: 对我有用 - 所以我接受的答案是下载CTP更新1.9.6.2 。
答案 1 :(得分:1)
F#manual:Statically linking the F# library using "--standalone"
您是否尝试过运行peverify.exe实用程序?
答案 2 :(得分:1)
长期以来,这一直是我的宠物仇恨(它在每一次CTP发布中都被打破,包括2009年5月发布的最新版本1.9.6.16)。 “解决方案”主要是编写您自己的构建系统,而不会破坏。
这对我来说是一个真正的问题,因为我已经积累了数百个我想放在我们网站上的优秀F#程序,但是将每个程序构建成一个独立的可执行文件需要几个小时。