Paket.Core 12.0.0-alpha003

This is a prerelease version of Paket.Core.
There is a newer prerelease version of this package available.
See the version list below for details.
dotnet add package Paket.Core --version 12.0.0-alpha003
                    
NuGet\Install-Package Paket.Core -Version 12.0.0-alpha003
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Paket.Core" Version="12.0.0-alpha003" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Paket.Core" Version="12.0.0-alpha003" />
                    
Directory.Packages.props
<PackageReference Include="Paket.Core" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Paket.Core --version 12.0.0-alpha003
                    
#r "nuget: Paket.Core, 12.0.0-alpha003"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Paket.Core@12.0.0-alpha003
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Paket.Core&version=12.0.0-alpha003&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=Paket.Core&version=12.0.0-alpha003&prerelease
                    
Install as a Cake Tool

CI Build status NuGet Status Join the chat at https://gitter.im/fsprojects/Paket Twitter

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

Troubleshooting and support

Quick contributing guide

  • Fork and clone locally.
  • Build the solution with Visual Studio, build.cmd or build.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.sh on Linux/macOS) to make sure all tests are still passing.
  • When built, you'll find the binaries in ./bin which 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 Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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-alpha004 41 11/1/2026
12.0.0-alpha003 104 10/26/2026
12.0.0-alpha002 169 10/17/2026
12.0.0-alpha001 213 10/11/2026
11.0.1 1,111 10/11/2026
11.0.0 949 10/5/2026
11.0.0-alpha004 102 10/5/2026
11.0.0-alpha003 116 9/27/2026
10.3.1 5,902 1/20/2026
10.2.1 2,543 1/19/2026
10.2.0 173 1/19/2026
10.1.1 207 1/19/2026
10.0.1 209 1/19/2026
10.0.0-alpha011 8,517 11/11/2025
10.0.0-alpha009 387 11/11/2025
10.0.0-alpha007 358 11/11/2025
10.0.0-alpha006 352 11/11/2025
10.0.0-alpha005 356 11/11/2025
10.0.0-alpha004 392 11/11/2025
10.0.0-alpha002 371 11/11/2025
Loading failed

BREAKING: Paket.Core targets net10.0 instead of netstandard2.0: the projects and scripts that reference it must target net10.0 or later, as the `paket` .NET tool already needs the .NET 10 runtime. FSharp.DependencyManager.Paket stays on netstandard2.0 - https://github.com/fsprojects/Paket/issues/4317
Update the NuGet client libraries from 5.11 to 7.9, along with System.Net.Http.WinHttpHandler and System.Security.Cryptography.ProtectedData
Faster framework restrictions: writing the lock files of large repositories takes a quarter of the time and allocates less than 40% of the memory it did - https://github.com/fsprojects/Paket/issues/4317
`paket convert-from-nuget` now updates `.slnx` solution files, as it does `.sln` ones - https://github.com/fsprojects/Paket/issues/4443
`paket convert-from-nuget` removes the `NuGet.Config`, `NuGet.targets` and `NuGet.exe` files of the root `.nuget` folder again, as well as the folder once it is empty: Paket 11.0 had stopped finding them. It reads and removes the `NuGet.Config` of the root and of the `.nuget` folder under the names NuGet looks for, `nuget.config`, `NuGet.config` or `NuGet.Config`, and the `NuGet.targets` and `NuGet.exe` of the `.nuget` folder whatever the case of their name, where Linux only found lowercase names
`paket convert-from-nuget` converts and removes nothing through a link: it skips the projects, NuGet files and solutions of the folders that are links, with a warning for each such folder, so these projects are not converted. It leaves in place a `.nuget` folder that is a link and the solutions that are links, and skips with a warning the solutions it cannot read or update, instead of failing
`paket convert-from-nuget` only removes the solution items of a `.sln` that are files it deletes, found by their path in any solution folder. It removed the first line naming a NuGet file of `.nuget`, even a project or a `packages.config` it kept
`paket convert-from-nuget` keeps the non-ASCII characters of a `.sln` without a BOM, which it saved in ASCII
`paket generate-load-scripts` keeps in the group scripts the assemblies that reference themselves, like System.Reactive 7.0, which it dropped. It also keeps, with a warning, the assemblies and packages that depend on each other, which it dropped too - https://github.com/fsprojects/Paket/issues/4458