Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
F# 我可以从fsx文件中安装/引用软件包吗?_F#_F# Scripting - Fatal编程技术网

F# 我可以从fsx文件中安装/引用软件包吗?

F# 我可以从fsx文件中安装/引用软件包吗?,f#,f#-scripting,F#,F# Scripting,我正试图找到一个简单的解决方案,它不需要太多的手工工作来参考软件包。在.fsx文件中 LinqPad 4让我只需添加nuget包 没有智能感知或自动完成 对于某些类型的包(例如),在下载后删除包 LinqPad 5 beta让我添加nuget软件包 对于某些类型的包(例如),在下载后删除包 频繁发生故障(智能感知和) VS2015不允许您下载/安装fsx文件包(仅在项目中) VSCode不允许您为fsx文件下载/安装nuget或paket软件包 因此,我不得不在VS2015中使用.f

我正试图找到一个简单的解决方案,它不需要太多的手工工作来参考软件包。在.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
  • 与VSCode中intellisense/autocompletion引擎的相对路径不匹配,因此我无法从等式中删除VS
  • 在已在该位置安装包的机器之外不工作
  • 最后做了一个不能很好地跨越.fsx文件的测试,必须根据包引用来计算
我不想创建一个项目。我有大量的单独脚本,这些脚本将由其他人按需单独维护和使用

是否有一个IDE(或上述其中一个的修复/扩展)可以为F#.fsx文件提供智能感知、自动完成和包管理功能,这些文件可以在用户之间、机器之间轻松工作?

VsCode指令 使用命令选项板安装Ionide扩展和

您需要将F#安装添加到
路径
(是我编辑路径的转到)

对于F#4.0,添加
C:\ProgramFiles(x86)\Microsoft SDK\F#\4.0\Framework\v4.0

打开将保存
.fsx
文件的工作文件夹

通过命令面板执行paket命令将是处理nuget包的主要界面

创建一个新的
.fsx
文件(我建议使用扩展名而不是标准的VsCode方法)

第一步是运行
paketinit
,这是使用paket管理包所必需的

如果单击通知弹出窗口上的
打开
按钮,您可以在侧面板中查看paket的输出

使用
addnumget-package
命令并输入包的
extcore
后,您应该会看到工作树 更新至

然后,您所需要做的就是在脚本中引用包,您将获得所需的自动完成

从F#5.0开始,您现在可以使用
\r“nuget:Package”
():

#r“nuget:Newtonsoft.Json”
//(可选)显式指定版本
//#r“nuget:Newtonsoft.Json,11.0.1”
打开Newtonsoft.Json
设o={| X=2;Y=“你好”|}
printfn“%s”(JsonConvert.o)

如果类似的内容实际添加到fsc/fsi中,则可能应该链接此链接