List & Label integrieren

Die .NET-Assemblies sind sowohl für .NET 6/7/8 als auch .NET Framework 4.8 verfügbar.

Zunächst muss dem Projekt ein Verweis auf die List & Label-Assembly combit.ListLabel29.dll hinzugefügt werden. Referenzen auf die .NET-Assemblies sollten, wenn möglich über den NuGet-Paket-Manager, hinzugefügt werden. Auf diesem Weg ist sichergestellt, dass auch alle benötigten Abhängigkeiten hinzugefügt werden. Sie finden unsere NuGet-Pakete unter https://www.nuget.org/profiles/combit.

Darüberhinaus stehen spezielle NuGet-Pakete für die Enterprise-Edition von List & Label zur Verfügung, die alle Module enthalten und keine List & Label-Installation benötigen und somit für den Einsatz auf z. B. Build Servern wie Azure DevOps geeignet sind. Ihren persönlichen NuGet-Feed für die Verwendung z. B. im Visual Studio NuGet-Paket-Manager finden Sie in der Datei "PersonalLicense.txt" in Ihrer List & Label-Installation. Bitte beachten Sie, dass Ihre List & Label-Lizenz hierfür registriert sein muss.

Alle NuGet-Pakete sind auch als spezielle "Signed"-NuGet-Pakete mit den signierten List & Label-Assemblies verfügbar.

Bei der Verwendung dieser NuGet-Pakete auf einem Build Server benötigen Sie in der Regel eine nuget.config Datei (siehe nachfolgend), die im Verzeichnis der entsprechenden Projektdatei liegen muss, um festzulegen, woher die NuGet-Pakete bezogen werden sollen (weitere Informationen hierzu finden Sie unter https://docs.microsoft.com/en-us/nuget/reference/nuget-config-file). Im Übrigen ist die Verwendung einer nuget.config-Datei aus demselben Grund hilfreich, wenn Sie mehrere Paketquellen definiert haben, die List & Label-NuGet-Pakete enthalten.

<?xml version="1.0" encoding="utf-8"?>

<configuration>

  <packageSources>

    <!-- remove inherited connection strings -->

    <clear />

    <add key="<beliebiger Name, z. B. ListLabel29Enterprise>" value="<Persönlicher NuGet-Feed für Enterprise NuGet-Pakete>" />

    <add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />

  </packageSources>

</configuration>

Alternativ befinden sich die NuGet-Pakete für die Offline-Verwendung unter "Beispiele\Microsoft .NET\NuGet" der Installation.

Hinweis: Bitte beachten Sie, dass die List & Label-NuGet-Pakete und deren Abhängigkeiten Semantic Versioning 2.0.0 verwenden und daher folgende Voraussetzungen für die Verwendung gelten:

- NuGet 4.3.0 und höher

- Visual Studio 2017 Version 15.3 und höher

- Visual Studio 2015 mit NuGet VSIX v3.6.0

- dotnet: dotnetcore.exe (.NET SDK 2.0.0 und höher)

Die Assemblies selbst befinden sich im jeweiligen "Assemblies"-Unterverzeichnis unter "Beispiele\Microsoft .NET\" der Installation.

Im zweiten Schritt kann dann eine Instanz der Komponente erzeugt werden. Dies erfolgt entweder über die Entwicklungsumgebung direkt, indem die ListLabel-Komponente auf ein Formular gezogen wird. Alternativ kann die Komponente auch dynamisch erzeugt werden:

combit.Reporting.ListLabel LL = new combit.Reporting.ListLabel();

In der Regel werden die Namespaces combit.Reporting und combit.Reporting.DataProviders für die ganze Datei über "using" vorreferenziert. Dies spart in der Folge viel Tipparbeit.

using combit.Reporting;

using combit.Reporting.DataProviders;

Bei der dynamischen Erzeugung sollte die Komponente nach Verwendung über die Dispose-Methode wieder freigegeben werden, damit die nicht-verwalteten Ressourcen möglichst schnell wieder freigegeben werden.

LL.Dispose();

Aus Performancegründen empfiehlt es sich aber auch bei dynamischer Erzeugung, immer eine Instanz des ListLabel-Objektes global im Speicher zu halten. Diese kann z. B. im Load-Ereignis des Applikationshauptfensters erzeugt und im FormClosed-Ereignis wieder freigegeben werden. Der entscheidende Vorteil dabei ist, dass die List & Label-Module nicht für jede neue Instanz ge- und entladen werden, was bei häufigen Aufrufen oder z. B. auch beim Seriendruck für unerwünschte Verzögerungen sorgen kann.