我有一个愚蠢的问题要问。我刚开始学习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#编译器创建一个快捷方式,这样我每次需要编译程序时都不必使用完整路径?
答案 0 :(得分: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
答案 1 :(得分:1)
我可以确认将目录添加到PATH
变量应该可以解决问题(在我的机器上运行!)请注意,您可能需要重新启动任何打开的命令行(或者,只是为了确保系统)如果更改了系统属性中的PATH
变量,则会将更改考虑在内。
您还可以使用以下内容创建bat
文件:
echo off
"C:\Program Files (x86)\Microsoft F#\v4.0\fsc.exe" %*
然后确保bat
文件位于PATH
中的某个位置。但bat
文件可以有不同的名称(例如fsharpc.bat
),以防标准名称fsc
与您系统上的其他内容之间存在名称冲突......
答案 2 :(得分:1)
我尝试将它设置到我的路径,但不幸的是它没有用。尝试注销/重新启动等。我认为这是因为我的工作计算机上存在安全措施。
对于有类似问题的其他人,我发现设置别名不仅有效,而且比其他方法更优选。
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/
答案 3 :(得分:1)
对于那些在2019年到达这里并已将F#作为Visual Studio 2017组件的人。F#编译器的位置如下:
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\CommonExtensions\Microsoft\FSharp\fsc.exe
请注意版本类型(在这种情况下为
Community
),并相应地进行调整。