A dependency manager for .NET with support for NuGet packages and Git repositories.
Switch branches/tags
Clone or download
Latest commit 2533c97 Nov 17, 2018
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Attach zip to issue Sep 2, 2016
.paket Bump version to 5.189.1 Nov 17, 2018
.vscode add vscode workspace settings Dec 5, 2017
completion Support forcing download for outdatedness check Jul 28, 2017
docs Update faq.md Nov 14, 2018
integrationtests Added integration test for "adding namespace to load scripts" Oct 22, 2018
nuget do not bundle published .net core paket Sep 19, 2018
paket-files/fsprojects/FSharp.TypeProviders.StarterPack/src Bump version to 5.94.0 Sep 12, 2017
src Bump version to 5.189.1 Nov 17, 2018
tests downgrade fsharp.core version to < v4.5 Sep 22, 2018
tools move dotnet-mergenupkg in a single group and upgrade version Sep 19, 2018
.gitattributes pyproj support Nov 4, 2017
.gitignore ignore ionide temp folder Sep 5, 2018
.travis.yml upgrade to .NET SDK 2.1.401 Sep 5, 2018
Directory.Build.props Make Paket build on a clean installation: Aug 26, 2017
LICENSE.txt Update LICENSE.txt Jan 13, 2015
NuGet.Config pack pdb for netstandard1.6 May 3, 2017
Paket.preview3.sln paket full .net core, as .net core tool Sep 19, 2018
Paket.sln generate references to load scripts in packages Aug 4, 2018
README.md Use master branch in travis image Feb 28, 2018
RELEASE_NOTES.md fixes #3429 Nov 17, 2018
appveyor.yml fix appveyor upload Jan 22, 2018
build.cmd make environment variables absolute. Oct 14, 2017
build.fsx upload to github also the Paket nupkg Sep 19, 2018
build.sh fix build Oct 14, 2017
check-doc-links.sh Fix links to PRs in release notes Jul 5, 2017
global.json upgrade to .NET SDK 2.1.401 Sep 5, 2018
install.sh Update nuget url fixes #2579 Aug 23, 2017
paket.dependencies try to partially fix #3413 Nov 10, 2018
paket.lock Restore lock file Nov 13, 2018


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


A dependency manager for .NET with support for NuGet packages and git repositories.

Why Paket?

NuGet does 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




  • up-to-date Mono (>= 5.0 required, >= 5.2 recommended, just install the latest nightly)
  • up-to-date MSBuild (>= 15.0, support for "Directory.Build.props" required)

On most distros, it should be enough to follow this guide and install mono-devel, which contains MSBuild. Note: if the paket build script fails at paket restore just rerun it a few times until it succeeds.

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 Mono) 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.


The MIT license


The default maintainer account for projects under "fsprojects" is @fsprojectsgit - F# Community Project Incubation Space (repo management)