修复 build.fsx 中的 "Package manager key paket was not registered"
Fix for "Package manager key paket was not registered" in build.fsx
当我在 Visual Studio 代码中打开一个 Fake 构建脚本时,像这样:
> dotnet new -i fake-template
> dotnet new fake
> dotnet tool update fake-cli
> code build.fsx
我在编辑器中看到此错误消息,并且 none 定义了虚假命名空间、模块或类型:
Package manager key 'paket' was not registered in
c:\Users\wallace.kelly\.vscode\extensions\ionide.ionide-fsharp-5.4.0\bin\
Currently registered: nuget
如何更正此错误?
运行 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。
此处为 VS Code 的 Ionide 维护者。从现在开始,这种错误只会发生。 FAKE 的 FSharp.Compiler.Services 版本落后,如果不更新该组件,我们与 FAKE 的集成已经萎缩到编辑器在该脚本中显示错误的程度。
有几个解决方案:
- 继续使用 FAKE,只处理编辑器问题
- 停止使用 FAKE 作为脚本运行器,但继续使用构建项目或 'standard' fsx 脚本中的 FAKE 库
- 使用其他某种构建系统
- 为 FAKE 贡献更新(并扩展 Ionide 中已弃用的代码)
等等等等
我刚刚通过使用 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"
当我在 Visual Studio 代码中打开一个 Fake 构建脚本时,像这样:
> dotnet new -i fake-template
> dotnet new fake
> dotnet tool update fake-cli
> code build.fsx
我在编辑器中看到此错误消息,并且 none 定义了虚假命名空间、模块或类型:
Package manager key 'paket' was not registered in
c:\Users\wallace.kelly\.vscode\extensions\ionide.ionide-fsharp-5.4.0\bin\
Currently registered: nuget
如何更正此错误?
运行 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。
此处为 VS Code 的 Ionide 维护者。从现在开始,这种错误只会发生。 FAKE 的 FSharp.Compiler.Services 版本落后,如果不更新该组件,我们与 FAKE 的集成已经萎缩到编辑器在该脚本中显示错误的程度。
有几个解决方案:
- 继续使用 FAKE,只处理编辑器问题
- 停止使用 FAKE 作为脚本运行器,但继续使用构建项目或 'standard' fsx 脚本中的 FAKE 库
- 使用其他某种构建系统
- 为 FAKE 贡献更新(并扩展 Ionide 中已弃用的代码)
等等等等
我刚刚通过使用 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"