为Mono打包F#程序

时间:2012-04-27 15:54:02

标签: f# mono packaging

我正在学习F#并准备编写我的第一个程序。我将在Windows 7中使用Visual Studio 10来编写代码,因为MonoDevelop的F#支持是几个版本。

我正常的日常开发环境是Mac Os X 10.7。我安装了Mono和MonoDevelop。在我完成我的杰作之后,如何打包它以便在Os X上运行?我需要向其他Windows用户发送哪些DLL才能运行我的.exe文件?他们如何安装这些DLL?

在Java世界(我通常居住的地方),我只是将我的Java代码与任何依赖关系打包成一个单一的 UberJAR ,我可以发送给任何拥有相应Java版本的人(通常是6个) )他们可以通过输入

来运行我的代码
java -jar MyUberJar.jar

我经常在Scala中编写代码并包含Scala库以及任何其他依赖项。

有没有简单的方法为.NET做类似的事情,特别是对于F#?

2 个答案:

答案 0 :(得分:3)

另一种方法是使用--standalone标志到fsc,它会将您需要的所有DLL静态编译为单个大型EXE。您发送给它的人仍然需要安装Mono,但没有其他依赖项。

答案 1 :(得分:1)

我认为这是大多数人使用的:

http://wix.sourceforge.net/

我说“我认为”因为在工作中我们有一个发布团队为我们构建安装程序包。