2

我有一个愚蠢的问题要问。我刚刚开始学习 F#,我正在尝试编译一些基础示例(例如 HelloWorld.fs)。

我创建了一个简单的 F# 文件,其路径为:C:\FSharp\HelloWorld.fs .

为了编译它,我使用了 F# 编译器的完整路径,如下所示:

C:\FSharp>"C:\Program Files\Microsoft F#\v4.0\fsc.exe" HelloWorld.fs

它工作得很好。

但是,我不想继续写编译器的完整路径:C:\Program Files\Microsoft F#\v4.0\fsc.exe. 我试图将它添加到 Windows 路径,但我不断收到错误消息fsc is not recognized as internal or external command

如何为 F# 编译器创建快捷方式,这样每次编译程序时都不必使用完整路径?

4

4 回答 4

6

对于那些在 2019 年到达这里并收到 F# 作为 Visual Studio 2017 组件的人。F# 编译器的位置如下:

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\CommonExtensions\Microsoft\FSharp\fsc.exe

仔细记下版本类型(Community在这种情况下)并相应地调整你的。

于 2019-01-29T16:09:20.387 回答
3

您实际上不需要为此创建快捷方式,只需将包含的文件夹添加fsc.exe到您的PATH变量中。

当您打开命令提示符时,运行以下命令:

set PATH=%PATH%;"C:\Program Files\Microsoft F#\v4.0\"

或者,如果您使用的是 64 位版本的 Windows:

set PATH=%PATH%;"C:\Program Files (x86)\Microsoft F#\v4.0\"

可以在以下位置找到最新版本的 fsc.exe:

  • "C:\Program Files (x86)\Microsoft SDKs\F#\3.1\Framework\v4.0" // 截至 2014 年 8 月

  • "C:\Program Files (x86)\Microsoft SDKs\F#\3.0\Framework\v4.0" // 2013

于 2013-03-01T00:02:04.613 回答
2

我尝试将其设置为我的路径,但不幸的是它不起作用。尝试注销/重新启动等。我相信这是因为我的工作计算机上的安全措施。

对于其他有类似问题的人,我发现设置别名不仅有效,而且比其他方法更可取。

set-alias fsi "C:\Program Files (x86)\Microsoft SDKs\F#\3.1\Framework\v4.0\fsi.exe"
set-alias fsc "C:\Program Files (x86)\Microsoft SDKs\F#\3.1\Framework\v4.0\fsc.exe"

现在这些命令没有烦人的 .exe 文件扩展名。

这篇关于为 powershell 创建持久别名的文章对设置很有帮助。 http://www.powershellpro.com/powershell-tutorial-introduction/tutorial-powershell-aliases/

于 2015-07-15T19:17:11.390 回答
1

我可以确认将目录添加到您的PATH变量应该可以解决问题(在我的机器上工作!)请注意,您可能需要重新启动任何打开的命令行(或者,只是为了确保系统),直到考虑到更改如果您更改PATH系统属性中的变量。

您还可以使用以下内容创建bat文件:

echo off
"C:\Program Files (x86)\Microsoft F#\v4.0\fsc.exe" %*

然后确保该bat文件位于您的PATH. 但是bat文件可以有不同的名称(比如fsharpc.bat),以防标准名称与系统上的其他名称之间存在名称冲突fsc......

于 2013-03-01T00:05:38.747 回答