Sie möchten die GAEB & AVA .Net Libraries testen? Bitte kontaktieren Sie uns zur Bereitstellung einer Evaluierungsversion.
In diesem Artikel wird auf die häufigsten Fragen eingegangen im Bezug zum Einrichten eines Visual Studio Projekts mit den GAEB & AVA .Net Libraries.
Tipp: Das Beispielprojekt auf GitHub kann direkt von Ihnen heruntergeladen werden. Es ist verfügbar im klassischen Projektformat für alle Versionen von Visual Studio 2010 und neuer oder bereits im neuen Projektformat ab Visual Studio 2017. Sie müssen nur die von uns bereitgestellten Evaluierungspakete wie im Readme beschrieben hinein kopieren, alles weitere ist bereits konfiguriert und sofort einsatzbereit.
Externe Abhängigkeiten
Die GAEB & AVA .Net Libraries nutzen einige Open Source Komponenten von DanglIT sowie teilweise weitere, frei verfügbare Drittanbietermodule. Diese sind in der öffentlichen NuGet Registry, dem offiziellen Paketmanager von .Net, verfügbar.
- Dangl.Calculator
- Dangl.TextConverter
- Dangl.Common
- Newtonsoft.Json
- Antlr4.Runtime
- ClosedXML (nur für Dangl.AVA.Converter.Excel)
Bitte fügen Sie diese Paketreferenzen manuell hinzu und wählen Sie jeweils die neueste, stabile Version. Sollten Sie die GAEB & AVA .Net Libraries als NuGet Referenzen hinzufügen (für Kunden mit Wartungsvertrag über den DanglIT NuGet Feed oder als lokale Paketquelle) geschieht dies automatisch.
Kunden von DanglIT erhalten eine Zusammenstellung aller verwendeten Drittanbietermodule und deren Lizenzen. Ebenfalls finden Sie diese in der Dokumentation sowie im Quellcode der Libraries.
Referenzieren von GAEB & AVA .Net Libraries
Beim Hinzufügen der GAEB & AVA .Net Libraries haben Sie zwei Optionen: Sie referenzieren direkt Dlls in Ihrem Projekt oder Sie fügen die Libraries als NuGet Pakete hinzu. Das Einbinden mittels NuGet ist die empfohlene Variante, da hierbei automatisch alle weiteren Abhängigkeiten in der korrekten Version referenziert werden.
Hinzufügen von Paketen aus einer lokalen Paketquelle
Im Evaluierungspaket finden Sie zu jedem Modul eine NuGet Paketdatei, z.B. Dangl.AVA.1.4.0.nupkg. Dieses Paketformat enthält den eigentlichen Code in Form von Dlls sowie Metadaten, mit denen Visual Studio oder die Dotnet CLI automatisch Abhängigkeiten referenzieren können. Um diese Pakete zu nutzen, befolgen Sie bitte diese zwei Schritte:
- Erstellen Sie einen Ordner namens LocalPackages im Stammverzeichnis Ihres Projekts, d.h. auf der Ebene Ihrer *.sln Projektdatei. Kopieren Sie alle NuGet Pakete in diesen Ordner.
- Erstellen Sie eine Datei namens NuGet.config im Stammverzeichnis Ihres Projekts. Diese Datei dient zur Konfiguration von NuGet Paketquellen, d.h. sie steuert das Auffinden und Referenzieren von .Net Paketen. Tragen Sie folgendes in die Datei ein, um den eben erstellten Ordner als lokale Paketquelle zu definieren:
Sollten Sie Visual Studio währenddessen geöffnet haben, starten Sie es bitte neu. Nun können Sie im NuGet Paketmanager die Quelle localPackages auswählen und finden dort die Dangl.GAEB & Dangl.AVA Pakete.
Hinzufügen von Paketen aus dem Dangl IT NuGet Feed
Kunden mit Wartungsvertrag haben die Möglichkeit, Pakete bequem über den NuGet Feed von DanglIT hinzuzufügen. In der Readme sowie in der Dokumentation finden Sie Anweisungen zur Konfiguration.
Troubleshooting
System.IO.FileLoadException
Wenn die Dlls direkt referenziert werden ist es möglich, dass weitere Abhängigkeiten nicht gefunden werden. Eine System.IO.FileLoadException ist die Folge. Bitte stellen Sie zuerst sicher, dass alle benötigten Module aus dem öffentlichen NuGet Repository referenziert sind. Falls der Fehler weiter auftritt, prüfen Sie bitte, ob es möglicherweise einen Versionskonflikt gibt. Es kann vorkommen, dass eine Referenz zwar vorhanden ist, aber nicht in der korrekten Version vorliegt. In diesem Fall müssen Sie im Projekt AssemblyRedirect konfigurieren, um festzulegen, welche Version genutzt werden soll.
Im folgenden Beispiel wird in der Datei app.config festgelegt, dass alle Abhängigkeiten zu Newtonsoft.Json in den Versionen 0.0.0.0 bis 10.0.0.0 auf die aktuelle Version 10.0.0.0 umgeleitet werden:
Haben Sie weitere Fragen? Dann kontaktieren Sie uns!