在FSI中,是否可以运行类似
的内容#I @"%APPDATA%/npm/node_modules/blabla/bin/"
而不是
#I @"C:/Users/username/AppData/Roaming/npm/node_modules/blabla/bin/"
是否有其他选项使其对用户名不敏感?
答案 0 :(得分:1)
您不太可能在#I
FSI指令中使用环境变量。
但是,您可以使用类似__SOURCE_DIRECTORY__
built-in identifier中描述的this SO answer的技巧,使您的软件包安装与用户名无关:
使用单行代码
创建文件anchorfsi.fsx
#I __SOURCE_DIRECTORY__
并将其放入目录%APPDATA%指向
添加到命令行,启动您的FSI术语
--load:%APPDATA%\anchorfsi.fsx
现在,您可以在#r
指令中使用相对路径。
仅举例说明我将与我的用户个人资料相关联的目录放入包含testlib
的文件夹FSharp.Data.dll
。下面的片段显示了如何使用上述技术从FSI引用它: