/Paket

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

Primary LanguageF#MIT LicenseMIT

Paket

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

Why Paket?

NuGet does not separate out the concept of indirect dependencies. If you install a package into your project and that package has further dependencies then all indirect packages are included in the packages.config. There is no way to tell which packages are only indirect 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 GitHub repositories.

For more reasons see the FAQ.

Online resources

NuGet Status

Troubleshooting and support

Build status

BuildScript Status of last build
Mono build.sh Travis build status
Windows build.cmd AppVeyor Build status

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.
  • 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.

License

The MIT license