We reference to opentap using nuget, that works well because we do not need installed opentap to compile our own code. However in order to compile dockable panels we need Keysight.OpenTap.Wpf. That creates a dependency to WPF Controls tappackage, which in turn creates dependency to opentap installation. Would it be possible to have Keysight.OpenTap.Wpf published as a nuget?
@mikko.ala-kojola In general, we have been considering providing other Nuget packages to simplify things (for instance, REST 2.0 has one). I’ll submit a request for Keysight.OpenTAP.Wpf. That said, there are ways to include these in your build environment. You can add them as “AdditionalOpenTapPackages” or “OpenTapPackageReference” in you .csproj. This is fuctionality provided by the OpenTAP SDK and OpenTAP Nuget Package:
https://doc.opentap.io/Developer%20Guide/Getting%20Started%20in%20Visual%20Studio/#reference-other-opentap-packages
This is what is done for the GUI examples:
Brennen
I looked the example, OpenTapPackageReference
and AdditionalOpenTapPackages
requires a path to wpf tappackage? Meaning TAP installation which has the package. My desire for nugets is mainly for our CI environment. Being able to build stuff without having a need for TAP installation is a big plus.
@mikko.ala-kojola there are two steps that occur here:
-
Use OpenTapPackageReference to include WPF Controls (the Plugin that includes Keysight.OpenTap.Wpf.dll) and install from the packages.opentap.io repository. This should be accessible by your CI/CD process.
-
Reference the Keysight.OpenTap.Wpf.dll that is installed in your local bin directory.
Using the OpenTap Nuget package creates an OpenTAP build environment (installed plugins + debug plugins + any dependencies) so all your references can be relevant to your bin directory.
This essentially gets you the same behavior as Nuget, but always for some more OpenTAP specific pieces like dependency resolution and installing from the package repositories.