我正在尝试找到一个简单的解决方案,而不是手动工作来引用包。在.fsx文件中。
LinqPad 4
让我简单地添加nuget包
LinqPad 5 beta
让我添加nuget包
VS2015
不允许您下载/安装fsx文件的包(仅限于项目)VSCode
不允许您下载/安装fsx文件的nuget或paket包。所以我最终不得不在VS2015中使用.fsx,同时使用linqpad来获取下载的软件包(对于像templatus这样下载exe而不是dll的软件包仍然无法使用)。然后我可以将它们引用为
#I @"..\LINQPad\NuGet.FW46\FParsec\FParsec.1.0.2\lib\net40-client\" // references AppData\local\ ... since . is %localappdata%\TEMP
我不想创建一个项目。我有大量单独的脚本,可以由其他人按需单独维护和使用。
是否有IDE(或上述其中一个的修复/扩展)能够为F#.fsx文件提供智能感知,自动完成和包管理,这些文件可以轻松地从用户到用户,从机器到机器运行?
答案 0 :(得分:11)
使用命令面板安装Ionide扩展ionide-fsharp和ionide-paket
您需要将F#安装添加到PATH
(on windows Rapid Enivornment Editor是我对PATH
编辑)的转到
对于F#4.0,添加C:\Program Files (x86)\Microsoft SDKs\F#\4.0\Framework\v4.0
打开包含.fsx
文件
通过命令面板执行paket命令将是您使用nuget包的主要界面
创建一个新的.fsx
文件,(我建议使用Advanced New File扩展名而不是标准的VsCode方法)
第一步是运行paket init
,这是使用paket管理包所必需的
如果单击通知弹出窗口中的open
按钮,则可以在侧面板中查看paket的输出
使用add nuget package
命令并为包输入extcore
后,您应该看到工作树
更新到
然后您需要做的就是在脚本中引用该包,您将获得您正在寻找的自动完成
答案 1 :(得分:1)
从F#5.0开始,您现在可以使用#r "nuget: Package"
(ref):
#r "nuget: Newtonsoft.Json"
// Optionally, specify a version explicitly
// #r "nuget: Newtonsoft.Json,11.0.1"
open Newtonsoft.Json
let o = {| X = 2; Y = "Hello" |}
printfn "%s" (JsonConvert.SerializeObject o)