我有一个小的测试脚本重现了问题

// include Fake lib
#r @"tools\FAKE\tools\FakeLib.dll"
open Fake

let root = @"\\wgprintsrv\FTP\FTPSoftware\FTPSW\weincad\release"

let glob = root @@ "**\*.dll"

trace glob

!! glob
|> Seq.iter (fun file -> trace file )

它什么也没列出。只是检查下面的powershell命令
ls -R \\wgprintsrv\FTP\FTPSoftware\FTPSW\weincad\release -Filter *.dll

生成我期望的一切。如果我用本地相对路径替换UNC路径,则一切正常。这是否可以解决,或者它是UNC路径和F#globbing的核心问题?

最佳答案

不太用户友好,但是全局无法识别绝对路径。您必须像这样设置基本目录

// include Fake lib
#r @"tools\FAKE\tools\FakeLib.dll"
open Fake

let root = @"\\wgprintsrv\FTP\FTPSoftware\FTPSW\weincad\release"

let glob = "**\*.dll"

trace glob

!! glob
|> SetBaseDir root
|> Seq.iter (fun file -> trace file )

关于powershell - 为什么Fake/F#伪造在UNC路径上不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24627470/

10-10 13:09