F#假Globing运算符和MSBuild

时间:2018-08-13 06:55:31

标签: f# f#-fake f#-fake-5

我正在学习Fake 5(F#Make),并且正在阅读Getting Started教程。当我运行以下代码时,我收到一条错误消息:tryscript.fsx (6,7)-(6,54): Error FS0001: The type 'Fake.IO.IGlobbingPattern' is not compatible with the type 'seq<'a>'

#r "paket: nuget Fake.IO.FileSystem //"
open Fake.IO.Globbing.Operators
let csProjectFiles = !! "src/app/**/*.csproj"

csProjectFiles
    |> Seq.iter (fun x -> printfn "ProjectFile: %s" x)

// for projectFile in csProjectFiles do
//     printfn "F# ProjectFile: %s" projectFile

但是,如果我注释掉以csProjectFiles |> ...开头的两行并取消注释最后两行,则将得到文件名的预期输出。 根据{{​​3}}和Ionide工具提示,!!应该返回一系列文件名。有人可以告诉我我可能做错了什么吗?

P.S。我正在使用通过dotnet tool install fake-cli -g

安装的Fake 5.3.1

UPD。对于此问题,我没有任何解决方案。 Windows 10更新后,它自行解决,我删除了%HOMEPATH\.nuget%HOMEPATH%\AppData\Local\Nuget中的Nuget程序包缓存,并删除了.fake文件夹并将文件锁定为FAKE脚本所在的文件夹,然后重新运行脚本再次。

如果您仍然面临类似的问题,则在清除所有缓存和运行后的fake -vv run <yourScriptName>.fsx的归档内容后,开发人员会要求扩展日志%HOMEPATH%\.nuget\packages\netstandard.library

1 个答案:

答案 0 :(得分:1)

仅出于完整性考虑,可以在以下位置找到报告的问题:https://github.com/fsharp/FAKE/issues/2062

如果有人遇到此问题,请打开一个新的问题(并链接旧的问题)并提供以下信息:

  

可以清理所有内容并发送伪造的-vv输出,运行tryscript.fsx并附加日志文件吗? NetStandard.Library软件包确实有些令人毛骨悚然

     

您是否还可以压缩并附加文件夹C:\ Users \ .nuget \ packages \ netstandard.library,然后尝试将其删除(并为此再次创建一个日志文件)?

我认为这是一个缓存问题或一个F#编译器错误,或两者兼而有之。