【问题标题】:F# Interactive Developement DirectoryNotFoundException: Could not find a part of the path 'C:\Users\Bob\AppData\Local\Temp\MyFolder\'F# Interactive Development DirectoryNotFoundException: 找不到路径的一部分 'C:\Users\Bob\AppData\Local\Temp\MyFolder\'
【发布时间】:2011-04-14 07:09:00
【问题描述】:

当显然使用 F# 交互时,这行代码将在主题行中显示的路径中搜索。

let files = Directory.GetFiles("MyFolderPath")

有没有办法设置交互来搜索当前运行 fsx 文件的同一文件夹?或者有什么方法可以控制这种行为?我已经习惯了从 bin\Debug 开始的搜索,这种行为让我很失望。

提前致谢,

鲍勃

【问题讨论】:

    标签: f# directory f#-interactive getfiles


    【解决方案1】:

    这取决于进程 fsi.exe 的启动位置。 Fsi 与 IDE 分离,它不知道打开的是哪个文件。运行 Visual Studio 时,fsi 的当前目录是 temp 文件夹。

    如果您运行 fsx 文件(fsi foo.fsx 或右键单击“使用 F# Interactive 运行”),fsi 将从当前目录运行。

    要查看你在哪里(在哪个目录中),你可以这样做:

    Directory.GetCurrentDirectory()
    

    要更改目录,请使用以下命令:

    Directory.SetCurrentDirectory(...)
    

    【讨论】:

      【解决方案2】:

      F# interactive 完全独立于当前的 F# 程序(实际上,可以将其视为在单独的 CMD shell 中运行)。所以恐怕不会有简单的方法来获取当前打开的 .fsx 文件。

      您也许可以从 fsi.CommandLineArgs 中提取一些东西,但我手头没有 VS 来确认这一点。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-11-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-01-19
        相关资源
        最近更新 更多