如何在Linux上使用带有fsharp的nuget

hpk*_*k42 8 linux mono f# nuget

这是我使用F#的第一个小时,在Ubuntu Linux(14.04)上玩它但是我迷失了如何在nuget中包含安装依赖项.我nuget.exe在Mono上工作得很好,我可以nuget install打包; 它们落在我当前的目录中.但是我无法从我的example.fs文件中导入或打开它们.我尝试了各种选择但无济于事.我需要编写项目文件还是使用FAKE?我找不到任何详细说明设置简单项目的最小必要步骤的教程.

那么我需要做什么来访问我用nuget安装的依赖项?

rne*_*way 7

简短的回答是,它并非完全直截了当.答案很长,您可以通过几种不同的方式解决问题.我在这里建议的所有方法都使用MSBuild .fsproj项目,以便您可以使用xbuild MyProject.fsproj.值得注意的是,FAKE脚本也倾向于使用fsproj项目,并将其交给xbuild进行实际编译.fsharp.org 网站提供了一些关于引导NuGet配置的指令,并且通常是一个很好的资源.

  1. 使用MonoDevelop.我建议从源代码构建.从https://github.com/mono/monodevelop获取标签,并仔细按照说明操作.然后安装Nuget插件.创建一个F#项目并使用MonoDevelop中的接口将NuGet包添加到项目中.然后,您可以从命令行或MonoDevelop构建.

  2. 找到一个使用NuGet的现有项目,将其删除,然后使用您选择的编辑器.一个重量级的例子是https://github.com/fsprojects/ProjectScaffold,你可以在那里找到其他人.下载此项目后,您将能够看到如何编辑nuget.config文件以调整依赖项.

  3. 最近的一个项目,Paket,最终为这个问题提供了一个真正的命令行方法.您再次需要一个.fsproj框架(如此示例),但您可以创建一个非常简单的依赖项文件.从Github下载最新版本的Paket.mono paket.exe install然后,Running 将使用此文件从NuGet获取依赖项并将它们添加到您的.fsprojas引用中.

有一些引导问题,但任何这些方法都应该让你超过最初的驼峰.

  • 不幸的是,Xamarin Studio仅适用于Windows和OSX,而​​不适用于Linux. (2认同)