VL Documents can reference 3 different types of dependencies:
- VL Nugets
- .NET Nugets
When a document references a dependency, it means that all public nodes in that dependency will be available to it via the NodeBrowser.
NuGet is the package managing system for .NET. Nugets are packages that can contain many .dll and/or .vl files that expose nodes to the referencing document.
VL vs. .NET Nugets
A VL Nuget is a nuget specifically created for use with vl that won't work for any other .NET language. It is still a valid nuget in the original terms of NuGet but since it contains .vl documents it will not be useable outside of vl.
A .NET Nuget on the other hand is more generally targetting any .NET language.
You can reference either VL or .NET nugets via the menu by navigating to it and pressing the right mousebutton to toggle its selection:
- Find on nuget.org opens a webbrowser and lets you search for nugets in the online repository. Note that for now, after you've found what you're looking for, you'll still have to install a nuget manually via the commandline
- Show installed opens a file explorer at the path all your nugets are installed locally
- Commandline Opens a commandline from which you can run nuget commands like "install"
Some packages may only be available as a "prerelease". To install those, add the commandline argument "-pre" when running "nuget install".
After installing a nuget via the commandline it is not yet automatically referenced by the current document! It is now merely available among the Nugets via the Dependencies menu. But if an installed nuget contains any help files, those will already show up in the HelpBrowser.
To update to the latest version of a nuget you have already installed, simply run the install command again. Your package directory can contain multiple versions of the same nuget and vl will always use the newest. Older versions have to be removed manually if no longer needed.
If a nuget that is referenced by a document cannot be found, it will be listed in red in the Dependencies menu. In such a case a rightclick on a red entry allows you to:
- Install: attempt to install from nuget.org. This will obviously only work if the nuget can be found online
- Remove Reference: remove this nuget as a dependency of this document
Note that you can rightlclick to select multiple red entries and then choose to apply either install or remove to all of them at once.
Some nugets are shipping with or depending on unmanaged/native .dlls which cannot be picked up by vl automatically since there isn't a pattern in the nuget specification as to how those should be handled. So in order to get such unmanaged dependencies of a nuget picked up, for now you'll have to add a search-path for vl via a batch file, like so:
SET PATH=%PATH%;c:\path\to\nugets\nativelibs; vvvv.exe
A vl document can reference other .vl documents and managed .dll files.
Here are 3 ways to reference local files:
- Drop a .vl or .dll file onto a patch
- Press kbd:[Ctrl + R] to select files via a file browser
- Via menu:Document[Dependencies > Files > Add Existing...]
Files that are showing up in red cannot be found on disk. You can Rightlcick to remove their reference. Note that you can also rightclick to select multiple files in a row and then apply "Remove" to all of them at once.
Libraries from the GAC (Global Assembly Cache)
By default .NET comes with a large number of assemblies that can be referenced. They are stored in the GAC on all machines that have .NET installed and can be referenced from there via:
Ctrl + Shift + R
Document > Dependencies > Files > Add .NET Framework Assembly...
In the dialog you need to double-click entries that you want to add as references.