F#FAKE不会执行powershell脚本文件
更新:问题的实际原因是“\”的舍入方式错误,应该是“./GenerateNuspecFile.ps1”-F#解析的奇怪现象F#FAKE不会执行powershell脚本文件,powershell,f#,chocolatey,f#-fake,f#-fake-4,Powershell,F#,Chocolatey,F# Fake,F# Fake 4,更新:问题的实际原因是“\”的舍入方式错误,应该是“./GenerateNuspecFile.ps1”-F#解析的奇怪现象 我无法从F#FAKE运行ps1脚本文件 问题:哪一个适合经营巧克力公司 #r "packages/FAKE.3.12.2/tools/FakeLib.dll" #r "System.Management.Automation" #r "System.Core.dll" open Fake open System.Management.Automation ... Ta
我无法从F#FAKE运行ps1脚本文件 问题:哪一个适合经营巧克力公司
#r "packages/FAKE.3.12.2/tools/FakeLib.dll"
#r "System.Management.Automation"
#r "System.Core.dll"
open Fake
open System.Management.Automation
...
Target "GenerateNuspecFile" <| fun _ ->
PowerShell.Create()
.AddScript("Invoke-Command -ScriptBlock { cd './chocolatey' | iex .\GenerateNuspecFile.ps1 }")
.Invoke()
|> Seq.iter (printfn "%O")
...
#r“packages/FAKE.3.12.2/tools/FakeLib.dll”
#r“系统、管理、自动化”
#r“System.Core.dll”
开假
开放系统、管理、自动化
...
目标“GenerateNuspecFile”
PowerShell.Create()
.AddScript(“调用命令-ScriptBlock{cd./chocolate'|iex.\GenerateNuspecFile.ps1}”)
.Invoke()
|>序号iter(打印编号“%O”)
...
这实际上并没有运行我试图运行的脚本文件。
Set ExecutionPolicy是“无限制的”您的powershell脚本存在一些问题,即使从命令行运行,也无法工作 特别是,
cd.\somedir | iex.\SomeScript.ps1
是毫无意义的-您将cd
的结果(即$null
,因为cd
不返回任何内容)传输到调用表达式
,这基本上是说“将此$null作为脚本运行”<完全不需要代码>调用命令
如果您的目标只是运行GenerateNuSpecFile.ps1
,那么您的脚本应该是:
.AddScript("cd '<somepath>'; .\GenerateNuspecFile.ps1")
.AddScript(“cd”;\GenerateNuspecFile.ps1”)
或
.AddScript(&'\GenerateNuspecFile.ps1'))
您可能应该检查PowerShell
对象上的Streams.Error
是否存在错误,但您尚未将其分配给变量。
.AddScript("& '<somepath>\GenerateNuspecFile.ps1'")