我有一个小的测试脚本重现了问题
// 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/