NuLink 0.1.0-alpha2
See the version list below for details.
dotnet tool install --global NuLink --version 0.1.0-alpha2
dotnet new tool-manifest # if you are setting up this repo dotnet tool install --local NuLink --version 0.1.0-alpha2
#tool dotnet:?package=NuLink&version=0.1.0-alpha2&prerelease
nuke :add-package NuLink --version 0.1.0-alpha2
NuLink allows consuming NuGet packages from their source code on local machine. This creates seamless environment where packages can be developed and tested as if they were part of the main project. Learn more on GitHub
Getting started
Prerequisites
- Linux, macOS, or Windows
- .NET Core SDK 2.1+ (not tested on 3.0)
The tool runs on .NET Core, but it should support .NET Framework projects and packages as well (not yet tested).
Installing
$ dotnet tool install -g NuLink --version 0.1.0-alpha2
Linking a package to local sources
Prior to linking:
- package source code must reside on local machine
dotnet restore
withdotnet build
must be run on the package project
In terminal, go to directory of project/solution that consumes the package, and run:
$ nulink link -p My.Package -l /path/to/my/package/source/My.Package.csproj
In this example, all consumers of My.Package will start using binaries from /path/to/my/package/source/bin/Debug
.
See Usage instructions for more info.
How it works
NuLink creates symbolic links to resolve binaries of selected packages directly from local file system:
Original Redirect
-------------------- ----------------------
~ or %UserProfile% working directory
| |
+- .nuget/ +- My.Package/
| |
+- packages/ +- Source/
| |
+- My.Package/ +- My.Package.csproj
| |
+- 1.0.5/ +- bin/
| |
+- lib >---> SYMLINK >---> +- Debug/
| |
+-X- netstandard2.0/ +-V- netstandard2.0/
In this example, every time My.Package.csproj is compiled, the latest binaries from its bin/Debug
are seamlessly used by all consumers. Since these binaries are mapped (through .pdb) to local code of the package, code navigation and debugging on consumer side works seamlessly as well.
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. |
.NET Core | netcoreapp2.1 is compatible. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
This package has no dependencies.
Version | Downloads | Last updated |
---|---|---|
0.1.0-beta2 | 778 | 8/20/2019 |
0.1.0-beta1 | 379 | 5/27/2019 |
0.1.0-alpha3 | 344 | 5/12/2019 |
0.1.0-alpha2 | 352 | 5/8/2019 |