Projekt haben, stellt sich unweigerlich die Frage: Ist es möglich die DLLs in Unterordner zu verschieben? Die Antwort lautet eindeutig ja. Dies ist nicht nur machbar, allerdings ebenfalls von großer Bedeutung für die Übersichtlichkeit des Projektes.
Zunächst einmal sind verschiedene Ansätze verfügbar um dieses Ziel zu erreichen. Ein einfacher Weg besteht darin – die Struktur im Solution Explorer zu nutzen. Im Projektknoten befindet sich der Punkt "References". Hier werden alle Referenzen aufgelistet. Durch einen Rechtsklick auf "References" können Entwickler Assemblies entfernen. Danach folgt der nächste Schritt – die Option "Add Reference". Ein Dialog öffnet sich in dem Entwickler eigene Dateien einbinden können. Eine spannende Option ist die Direktbearbeitung der csproj-Datei mit einemeditor. Hierbei können die Reference-Knoten angepasst werden. Dazu gibt es die Möglichkeit, den "ReferencePath" oder den "HintPath" zu definieren. Beachten Sie – dass der ReferencePath in der Suchreihenfolge des Builders Vorrang hat.
Doch damit nicht genug. Weitere Feinheiten lassen sich in der app.config finden. Hier kann im assemblyBinding die Suche nach Assemblies geändert werden. Mit den Optionen "probing" und "codeBase" haben Entwickler die Möglichkeit, das Verhalten der Anwendung beim Suchen von DLLs zu steuern. Darüber hinaus besteht die Möglichkeit die DLLs zur Laufzeit zu laden oder einen EventHandler für "AssemblyResolve" einzurichten. Dies eröffnet große Freiheit für die Handhabung von Assemblies.
Interessanterweise gibt es bei .NET Core/5 möglicherweise keine direkten Alternativen zu den genannten Methoden. Immer weiterhin .NET-Assemblies werden über NuGet-Pakete bereitgestellt. Diese landen jedoch standardmäßig als DLL neben der ausführbaren Datei (EXE). Dies hat einen Nachteil – die Übersichtlichkeit kann erheblich leidern, da die Anzahl der Dateien steigt.
Eine kluge Lösung könnte sein die DLLs im Standardverzeichnis zu belassen. Stattdessen kann ein kleines Installations-Tool erstellt werden. Das Tool hat die Aufgabe – den Ordner an einem anderen Ort zu verschieben und gleichzeitig einen Link im Startmenü einzurichten. Auf diese Weise bleibt die Benutzerfreundlichkeit optimiert während das Hauptverzeichnis des Programms aufgeräumt bleibt. Man darf nicht vergessen – dass eine klare Struktur für die Wartung von Softwareprojekten von zentraler Bedeutung ist.
Zusammenfassend ist die organisatorische Handhabung von DLLs in einem C#
Projekt ein vielschichtiges Thema. Die Wahl der spezifischen Methode hängt stark von den individuellen Anforderungen des Projektes ab. Mit den oben genannten Optionen können Entwickler jedoch sicherstellen, dass ihre Projekte sowie effektiv als auch übersichtlich bleiben. In der dynamischen Landschaft der Softwareentwicklung wird Organisation stets als eine der Schlüsselkomponenten angesehen.
