Paket.Core
12.0.0-alpha001
See the version list below for details.
dotnet add package Paket.Core --version 12.0.0-alpha001
NuGet\Install-Package Paket.Core -Version 12.0.0-alpha001
<PackageReference Include="Paket.Core" Version="12.0.0-alpha001" />
<PackageVersion Include="Paket.Core" Version="12.0.0-alpha001" />
<PackageReference Include="Paket.Core" />
paket add Paket.Core --version 12.0.0-alpha001
#r "nuget: Paket.Core, 12.0.0-alpha001"
#:package Paket.Core@12.0.0-alpha001
#addin nuget:?package=Paket.Core&version=12.0.0-alpha001&prerelease
#tool nuget:?package=Paket.Core&version=12.0.0-alpha001&prerelease
Paket
A dependency manager for .NET with support for NuGet packages and git repositories.
Why Paket?
NuGet did not separate out the concept of transitive dependencies. If you install a package into your project and that package has further dependencies then all transitive packages are included in the packages.config. There is no way to tell which packages are only transitive dependencies.
Even more importantly: If two packages reference conflicting versions of a package, NuGet will silently take the latest version (read more). You have no control over this process.
Paket on the other hand maintains this information on a consistent and stable basis within the paket.lock file in the solution root.
This file, together with the paket.dependencies file enables you to determine exactly what's happening with your dependencies.
Paket also enables you to reference files directly from git repositories or any http-resource.
For more reasons see the FAQ.
Online resources
- Source code
- Documentation
- Getting started guide
- Install the Paket .NET tool:
dotnet tool install paket
Troubleshooting and support
- Found a bug or missing a feature? Feed the issue tracker.
- Announcements and related miscellanea through Twitter (@PaketManager)
Quick contributing guide
- Fork and clone locally.
- Build the solution with Visual Studio,
build.cmdorbuild.sh. - Create a topic specific branch in git. Add a nice feature in the code. Do not forget to add tests and/or docs.
- Run
build.cmd(build.shon Linux/macOS) to make sure all tests are still passing. - When built, you'll find the binaries in
./binwhich you can then test with locally, to ensure the bug or feature has been successfully implemented. - Send a Pull Request.
If you want to contribute to the docs then please modify the markdown files in /docs/content and send a pull request.
Note, that short description and syntax for each command is generated automatically from the Paket.Commands module.
License
The MIT license
Maintainer(s)
The default maintainer account for projects under "fsprojects" is @fsprojectsgit - F# Community Project Incubation Space (repo management)
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Chessie (>= 0.6.0)
- FSharp.Core (>= 9.0.101)
- Mono.Cecil (>= 0.11.6 && < 0.12.0)
- Newtonsoft.Json (>= 13.0.4)
- Nuget.Packaging (>= 5.11.7)
- System.Net.Http.WinHttpHandler (>= 5.0.0)
- System.Security.Cryptography.ProtectedData (>= 5.0.0)
NuGet packages (4)
Showing the top 4 NuGet packages that depend on Paket.Core:
| Package | Downloads |
|---|---|
|
Fake.Runtime
FAKE - F# Make - is a build automation tool for .NET. Tasks and dependencies are specified in a DSL which is integrated in F#. |
|
|
dotnet-fake
FAKE - F# Make - is a build automation tool for .NET. Tasks and dependencies are specified in a DSL which is integrated in F#. |
|
|
Tfs.Build.Paket
A set of TFS build tasks around getting and using paket |
|
|
Queil.FSharp.DependencyManager.Paket
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 12.0.0-alpha003 | 78 | 10/26/2026 |
| 12.0.0-alpha002 | 157 | 10/17/2026 |
| 12.0.0-alpha001 | 180 | 10/11/2026 |
| 11.0.1 | 905 | 10/11/2026 |
| 11.0.0 | 823 | 10/5/2026 |
| 11.0.0-alpha004 | 95 | 10/5/2026 |
| 11.0.0-alpha003 | 106 | 9/27/2026 |
| 10.3.1 | 5,749 | 1/20/2026 |
| 10.2.1 | 2,535 | 1/19/2026 |
| 10.2.0 | 169 | 1/19/2026 |
| 10.1.1 | 199 | 1/19/2026 |
| 10.0.1 | 206 | 1/19/2026 |
| 10.0.0-alpha011 | 8,472 | 11/11/2025 |
| 10.0.0-alpha009 | 378 | 11/11/2025 |
| 10.0.0-alpha007 | 355 | 11/11/2025 |
| 10.0.0-alpha006 | 350 | 11/11/2025 |
| 10.0.0-alpha005 | 354 | 11/11/2025 |
| 10.0.0-alpha004 | 389 | 11/11/2025 |
| 10.0.0-alpha002 | 363 | 11/11/2025 |
| 9.0.2 | 8,702 | 11/19/2024 |
Paket 12 only ships as the `paket` .NET tool, which needs the .NET 10 runtime: `paket.exe`, `paket.bootstrapper.exe` and Mono are no longer supported. To upgrade, install Paket as a local tool (`dotnet new tool-manifest` if the repository has none, then `dotnet tool install paket`), delete `.paket/paket.exe` and `.paket/paket.bootstrapper.exe`, call `dotnet paket` instead of `.paket/paket.exe` in your build scripts, and run `dotnet paket auto-restore on` again if you use auto-restore. The steps are detailed in https://fsprojects.github.io/Paket/installation.html#Moving-from-paket-exe-and-the-bootstrapper. To keep `paket.exe` for now, remove the `version` line from paket.dependencies and run `.paket/paket.bootstrapper.exe --self`: you get the bootstrapper of Paket 11, which stays on the latest 11.x.
This release also recognizes .NET 11 and fixes the OS-specific frameworks of .NET 9 to 11 (`net9.0-android`, `net10.0-ios`...), so the next `paket update` may rewrite some framework restrictions in paket.lock.
BREAKING: Paket only ships as a .NET tool: `dotnet tool install paket`. `paket.exe` and `paket.bootstrapper.exe` are no longer built, and Paket no longer runs on Mono or the .NET Framework. See https://fsprojects.github.io/Paket/installation.html#Moving-from-paket-exe-and-the-bootstrapper
BREAKING: The release and `tools/paket.exe` of the Paket package carry a `paket.exe` stub instead, so that bootstrappers older than 11.0 explain how to move on: it prints the steps and exits with code 1. To stay on `paket.exe`, move to the bootstrapper of Paket 11, which stays on the latest 11.x: remove the `version` line from paket.dependencies, then run `paket.bootstrapper.exe --self`.
BREAKING: `Paket.Restore.targets` and `paket.targets` no longer run the bootstrapper or run `paket.exe` through mono. They find Paket installed with `--tool-path` (in `.paket` or the root), as a local tool, or on the `PATH` like a global tool. The `MonoPath` and `PaketBootStrapper*` properties are gone; the `PaketBootstrapping` target is kept, empty, for the projects that depend on it.
BREAKING: Paket.Core targets netstandard2.0 only. `Dependencies.DownloadLatestBootstrapper` and the `downloadBootstrapper` parameter of `Dependencies.Init` are removed, along with the `Releases` module, `Utils.isMonoRuntime`, `Utils.isMono`, `Utils.monoPath`, `Utils.fixArchive`, `ProcessHelper.monoArguments`, `ProcessHelper.appSettings`, `FrameworkDetection.resolveEnvironmentFramework` (replaced by `defaultScriptFramework`), `Queries.resolveEnvironmentFrameworkForScriptGeneration` and the `BootstrapperFileName`, `PaketFileName` and `GithubReleaseDownloadUrl` constants. `ProcessHelper.tryFindPath` and `findPath` take the `;`-separated paths instead of an app setting name. The `PAKET_PUSH_HTTPCLIENT` variable is gone: `paket push` always uses HttpClient.
The release carries the `paket.targets` and `paket.bootstrapper.exe` of the latest Paket 11 release, for Paket 11.0.0 and earlier, which download them from the latest release on `auto-restore on`, `convert-from-nuget` and `init`, and for the `--self` of the bootstrappers older than 11.0
`paket auto-restore on` writes `paket.targets` from Paket itself instead of downloading it from the latest GitHub release, so it works offline and matches the running Paket
`#r "paket:"` in F# scripts finds the Paket .NET tool: installed with `--tool-path`, as a local tool of the manifest, as a global tool, or restored in the NuGet packages folder
Recognize the .NET 11 monikers: `net11.0`, `net11.0-windows...`, `net11.0-android` and the other OS-specific ones, and `netcoreapp11.0` - https://github.com/fsprojects/Paket/pull/4439
The conditions written in project files now list the OS-specific frameworks of .NET 9 to 11 (`net9.0-android`, `net10.0-ios`, `net11.0-macos`...), which were left out in favour of their .NET 8 counterparts
The OS-specific frameworks of .NET 9 to 11 fall back to the previous .NET version for the same OS, as the Windows ones do: a `net11.0-android` project can use the `net10.0-android` assets and dependencies of a package