F# &引用;使用F“交互式…”运行;64位Windows中缺少.fsx文件的上下文菜单选项

F# &引用;使用F“交互式…”运行;64位Windows中缺少.fsx文件的上下文菜单选项,f#,f#-interactive,F#,F# Interactive,我知道这不是你典型的编程问题,但它困扰着我 我刚刚在两台Windows8.1机器上安装了F#3.1.1捆绑包:一台32位,另一台64位 我有几个用于工作的F#脚本(.fsx文件),当我在32位系统中右键单击该文件时,它如下所示: 另一方面,在64位系统中,它看起来是这样的: 您可能会注意到“使用F#Interactive运行…”菜单项缺失,图标不同。我已经试过修理包裹了,没用。如何将上下文菜单项输入64位Windows资源管理器?这两个系统都是新安装的 我希望答案不会涉及一些可怕的注册表黑客

我知道这不是你典型的编程问题,但它困扰着我

我刚刚在两台Windows8.1机器上安装了F#3.1.1捆绑包:一台32位,另一台64位

我有几个用于工作的F#脚本(.fsx文件),当我在32位系统中右键单击该文件时,它如下所示:

另一方面,在64位系统中,它看起来是这样的:

您可能会注意到“使用F#Interactive运行…”菜单项缺失,图标不同。我已经试过修理包裹了,没用。如何将上下文菜单项输入64位Windows资源管理器?这两个系统都是新安装的


我希望答案不会涉及一些可怕的注册表黑客…;)

这似乎是安装程序的问题。他们在VS 11处理程序中添加了“使用F#Interactive运行…”,而不是12

我希望答案不会涉及一些可怕的注册表黑客

嗯,它确实需要对注册表进行更改,我不会确切地称之为黑客。修复方法是将处理程序添加到此注册表路径:
HKEY\U CLASSES\U ROOT\VisualStudio.fsx.12.0\shell

为此,请将此内容复制到名为foo.reg的文件中(只要扩展名为.reg,名称就无关紧要)

诸如此类的标准注册表免责声明在这里关于如何改变注册表可以做坏事,我不负责,但为我工作

Windows注册表编辑器5.00版
[HKEY\U CLASSES\U ROOT\VisualStudio.fsx.12.0\shell\openRunFsi]
@=“使用F#交互式运行…”
[HKEY\U CLASSES\U ROOT\VisualStudio.fsx.12.0\shell\openRunFsi\command]
@=“C:\\ProgramFiles(x86)\\Microsoft SDK\\F\35;\\ 3.0\\Framework\\v4.0\\Fsi.exe\”--quiet--exec\%1”

保存,然后双击以导入注册表项。这解决了我的问题。

图标通常由文件关联驱动。当你试图打开它们时会发生什么?我还注意到它在32位上写着“Visual F#Script file”,在64位上写着“FSX file”。您的意思是它使用Visual Studio图标是因为缺少某些内容?(当我打开它们时,两种情况下都会启动Visual Studio)不太确定,但我发现32位机器是否已经安装了Visual Studio(Pro、Ult、Web Express或Desktop Express)?只有当F#MSI认为您的系统安装了支持的VS SKU时,才会部署VS集成位。图标和文件关联注册表项都在软件包的这一部分。@latkin,是的,我在安装F#Bundle之前在两台机器上都安装了VS 2013 Desktop Express。我安装了v3.1,只需将路径字符串中的3.0更改为3.1即可完美地工作,一切都按预期进行。除了上面提到的@nphx更改之外,我还必须将
HKCL\.fsx
中的默认值从
WDExpress.fsx.12.0
更改为
VisualStudio.fsx.12.0
,并将子键
OpenWithProgids
中的名称更改为相同的值。谢谢!如何编辑Visual Studio 2017的.reg脚本?我尝试将
VisualStudio.fsx.12.0
更改为
VisualStudio.fsx.15.0
,并将FSI.exe的路径更改为正确。它将内容正确地添加到注册表中,但不起作用。