提问人:toraritte 提问时间:11/12/2023 最后编辑:toraritte 更新时间:11/12/2023 访问量:66
安装.NET包后如何自动将包引用添加到项目文件中?
How to automatically add package reference into project file after installing .NET package?
问:
刚进入 F#,终于弄清楚了如何将 .NET 包添加到项目中,但我设法让它工作的方式没有意义。安装包后(使用 或 ),我必须手动添加对项目文件的引用(通过直接编辑它或使用 dotnet add package
)。这个额外的步骤通常是用其他语言自动执行的,所以我认为我做错了什么。nuget
paket
这些是我在 Mac M1 上执行的步骤:
“安装”F#
nix-shell -p dotnet-sdk_7
按照安装指南进行安装。
paket
按照有关添加依赖项的演练进行操作。
具体说来:
- 添加到
nuget FSharpPlus
paket.dependencies
- 创建了 与 行
src/App/paket.references
FSharpPlus
- 跑
dotnet paket install
完成后,只需添加到 ,然后运行,然后运行 ,然后爆炸
open FSharpPlus
src/App/Program.fs
dotnet restore
dotnet build
error FS0039: The namespace or module 'FSharpPlus' is not defined.
- 添加到
修复很简单,
dotnet add src/App/App.fsproj package "FSharpPlus" --version "1.5.0"
但是我很难相信必须为每个包手动添加这些引用。
更新:好吧,我正式一无所知。只是出于好奇,我加了 ,然后跑了open Giraffe.Htmx
src/App/Program.fs
dotnet add src/App/App.fsproj package "Giraffe.Htmx" --version "1.9.6"
dotnet build
一切都奏效了......那么使用OR有什么意义呢?paket
nuget
答:
2赞
Jaden.C.Brown
11/12/2023
#1
将 Paket 与 F# 一起使用时,如果按照正确的步骤操作,通常不需要手动编辑项目文件来添加引用。使用 Paket 的进程应该会自动处理依赖项。下面是一个应该有效的常规工作流:
- 在解决方案目录中初始化 Paket。
- 将依赖项添加到文件中。
paket.dependencies
- 将包添加到项目目录中的文件中。
paket.references
- 运行它应该下载包并自动更新您的项目 () 文件以包含正确的引用。
dotnet paket install
.fsproj
- 然后,可以使用 and 还原任何其他包并生成项目。
dotnet restore
dotnet build
如果遇到问题,可能是 Paket 集成存在问题,或者 Paket 版本与 .NET SDK 版本不匹配。查看 Paket 文档以获取兼容性说明或向 F# 社区寻求帮助可能会提供更多见解。这也可能是 M1 Mac 特定于平台的问题。 始终确保您使用的是与您的系统兼容的最新版本的工具。
评论
0赞
toraritte
11/12/2023
感谢您在第 4 步中确认。项目文件确实应该自动更新;特别是因为我没有在文档中看到这一点,但这是有道理的。这可能是因为在 Mac 上执行此操作和/或使用 Nix。下次会在 Windows 机器上尝试一下。
评论
dotnet add