修复了 build.fsx 中“包管理器密钥包未注册”的问题

Wal*_*lly 4 f# f#-fake visual-studio-code ionide

当我在 Visual Studio Code 中打开一个 Fake 构建脚本时,如下所示:

> dotnet new -i fake-template
> dotnet new fake
> dotnet tool update fake-cli
> code build.fsx
Run Code Online (Sandbox Code Playgroud)

我在编辑器中看到此错误消息,并且没有定义任何假命名空间、模块或类型:

Package manager key 'paket' was not registered in
c:\Users\wallace.kelly\.vscode\extensions\ionide.ionide-fsharp-5.4.0\bin\
Currently registered: nuget
Run Code Online (Sandbox Code Playgroud)

我该如何纠正这个错误?

跑步dotnet fake build效果很好。该错误仅出现在编辑器中。

我有"FSharp.dotNetRoot": "C:\\Program Files\\dotnet\\sdk",我的设置文件。该文件夹包括文件夹 2.1.701 2.2.401 3.1.407 5.0.103 和 5.0.104。

Che*_*usk 6

Ionide for VS Code 的维护者在这里。从现在开始,错误只会发生。FAKE 的 FSharp.Compiler.Services 版本落后了,如果没有更新该组件,我们与 FAKE 的集成已经萎缩到编辑器显示该脚本中的错误的程度。

有几种解决方案:

  • 继续使用 FAKE 并处理编辑器问题
  • 停止使用 FAKE 作为脚本运行程序,但继续使用来自构建项目或“标准”fsx 脚本的 FAKE 库
  • 使用另一种构建系统
  • 为 FAKE 提供更新(以及 Ionide 中已弃用的代码)

等等等等


Lui*_*ipe 6

我刚刚通过使用 摆脱了警告ifdef

#if FAKE
#r "paket:
nuget Fake.DotNet.Cli
nuget Fake.IO.FileSystem
nuget Fake.Core.Target //"
#endif
#load ".fake/build.fsx/intellisense.fsx"
open Fake.Core
open Fake.DotNet
open Fake.IO
open Fake.IO.FileSystemOperators
open Fake.IO.Globbing.Operators
open Fake.Core.TargetOperators

Target.initEnvironment ()

Target.create "Clean" (fun _ ->
    !! "src/**/bin"
    ++ "src/**/obj"
    |> Shell.cleanDirs 
)

Target.create "Build" (fun _ ->
    !! "src/**/*.*proj"
    |> Seq.iter (DotNet.build id)
)

Target.create "All" ignore

"Clean"
  ==> "Build"
  ==> "All"

Target.runOrDefault "All"
Run Code Online (Sandbox Code Playgroud)