gpt4 book ai didi

.net - 使用 Process.Start 启动 f# interactive

转载 作者:可可西里 更新时间:2023-11-01 10:44:11 25 4
gpt4 key购买 nike

所以我将代码剥离为不起作用的部分,如下所示:

[<EntryPoint>]
let main argv =
let procStart = new ProcessStartInfo(argv.[0], argv.[1..] |> String.concat " ")
procStart.RedirectStandardInput <- true
let proc = Process.Start(argv.[0], argv.[1..] |> String.concat " ")
let y = Console.ReadLine()
0

所以我用命令行参数“fsi”启动了程序。fsi 是 f# interactive,它在我的路径上,所以我假设绝对路径并不重要。程序启动正常,然后它启动了 fsi 进程,该进程启动并在一瞬间显示红色错误后关闭。我无法快速阅读错误,所以我打印了屏幕以获取图片,因此可能会有一两个错字,但这是错误:

unknown(1,1): error FSI1223: FSharp.Core.sigdata not found alongside FSharp.Core


unknown(1,1): error FS0229: Error opening binary file 'Path\to\project\bin\debug\FSharp.Core': Exception of type 'Microsoft.FSharp.Compiler.ErrorLogger+StopProcessing was thrown.

还有一些关于无法读取 f#.core 程序集的问题。

我的理论是这样的:我可以从普通的 cmd 窗口启动 fsi;我在想,当我从 cmd 启动 fsi 时,它会在与 fsi 相同的目录中查找 f#.core,但是当我使用 Process.Start 启动它时,由于某种原因它会在当前目录中查找。

我不知道我是否正确,即使我是正确的,我也不知道如何解决这个问题。

最佳答案

我不确定为什么会发生这种情况,但您可以通过将 ProcessStartInfo.WorkingDirectory 属性设置为 fsi 本身所在的位置来解决此问题。

关于.net - 使用 Process.Start 启动 f# interactive,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34475838/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com