Proc.Fs 0.8.1
dotnet add package Proc.Fs --version 0.8.1
NuGet\Install-Package Proc.Fs -Version 0.8.1
此命令旨在在 Visual Studio 的包管理器控制台中使用,因为它使用 NuGet 模块的 Install-Package 版本。
<PackageReference Include="Proc.Fs" Version="0.8.1" />
对于支持 PackageReference 的项目,请将此 XML 节复制到项目文件中以引用包。
paket add Proc.Fs --version 0.8.1
NuGet 团队不提供对此客户端的支持。请联系其 维护者 以获得支持。
#r "nuget: Proc.Fs, 0.8.1"
#r 指令可用于 F# Interactive 和 Polyglot Notebooks。将其复制到交互式工具或脚本的源代码中,以引用该包。
// Install Proc.Fs as a Cake Addin #addin nuget:?package=Proc.Fs&version=0.8.1 // Install Proc.Fs as a Cake Tool #tool nuget:?package=Proc.Fs&version=0.8.1
NuGet 团队不提供对此客户端的支持。请联系其 维护者 以获得支持。
Proc.Fs
F# 对 Proc 的绑定
Proc 是一个库,将 System.Diagnostics.Process
转换为基于流的 IObservable
,可在捕获进程的真实输出的同时,还能够发出基于行的预发事件。
该库包含两个计算表达式构建器
Shell
目前处于开发中,这允许您轻松地链接多个进程调用,其中如果任何进程返回非 0
的退出代码,则执行将停止。
let _ = shell {
exec "dotnet" "--version"
exec "uname"
}
Exec
一个 CE
,使其 真正 容易执行进程。
//executes dotnet --help
exec { run "dotnet" "--help" }
//supports lists as args too
exec { run "dotnet" ["--help"] }
如果您想了解更多关于调用信息,可以使用 exit_code_of
或 output_of
进行快速操作。
let exitCode = exec { exit_code_of "dotnet" "--help" }
let output = exec { output_of "dotnet" "--help" }
output
将同时保留退出代码和控制台输出
如果您需要更多控制进程的启动方式,可以提供以下选项。
exec {
binary "dotnet"
arguments "--help"
env Map[("key", "value")]
workingDirectory "."
send_control_c false
timeout (TimeSpan.FromSeconds(10))
thread_wrap false
filter_output (fun l -> l.Line.Contains "clean")
validExitCode (fun i -> i <> 0)
run
}
run
将启动进程的调用。
然而,还有其他启动它的方法。
exec {
binary "dotnet"
run_args ["restore"; "--help"]
}
提供参数并运行的快捷方式
let linesContainingClean = exec {
binary "dotnet"
arguments "--help"
filter (fun l -> l.Line.Contains "clean")
}
运行进程,只返回与 filter
匹配的控制台输出,如果您想实际过滤写入控制台的输出,请使用 filter_output
。
let dotnetHelpExitCode = exec {
binary "dotnet"
arguments "--help"
exit_code
}
只返回退出代码
let helpOutput = exec {
binary "dotnet"
arguments "--help"
output
}
返回退出代码和完整的控制台输出。
let process = exec {
binary "dotnet"
arguments "--help"
wait_until (fun l -> l.Line.Contains "clean")
}
返回已运行的进程,但只有在它确认打印了一行后才会发生。
let process = exec {
binary "dotnet"
arguments "--help"
wait_until_and_disconnect (fun l -> l.Line.Contains "clean")
}
返回一个正在运行的过程,但只有在确认打印了一行之后。本版本将停止输出标准输入/输出行,这样可以避免使用不再需要的内存。
产品 | 版本 兼容的以及额外的计算目标框架版本。 |
---|---|
.NET | |
.NET Core | |
.NET Standard | |
.NET Framework | net461 已计算。 net462 已计算。 net463 已计算。 net47 已计算。 net471 已计算。 net472 已计算。 net48 已计算。 net481 已计算。 |
MonoAndroid | monoandroid 已计算。 |
MonoMac | monomac 已计算。 |
MonoTouch | monotouch 已计算。 |
Tizen | tizen40 已计算。 tizen60 已计算。 |
Xamarin.iOS | xamarinios 已计算。 |
Xamarin.Mac | xamarinmac 已计算。 |
Xamarin.TVOS | xamarintvos 已计算。 |
Xamarin.WatchOS | xamarinwatchos 已计算。 |
-
.NETStandard 2.0
- FSharp.Core (>= 8.0.101)
- Proc (>= 0.8.1)
NuGet 包
此包不被任何 NuGet 包使用。
GitHub 仓库
此包不被任何流行的 GitHub 仓库使用。