Verschieben von DLLs in Unterordner in C# Projekt

Ist es möglich, die DLLs in einem C# Projekt in einen Unterordner zu verschieben, um die Übersichtlichkeit zu verbessern, und wie kann dies umgesetzt werden?

Uhr
Ja, es ist möglich die DLLs in einem C# Projekt in einen Unterordner zu verschieben um die Übersichtlichkeit zu optimieren. Dies kann auf verschiedene Weisen umgesetzt werden.

Eine Möglichkeit ist es, im Solution Explorer unter dem Projektknoten das Element "References" zu öffnen wo alle Referenzen aufgeführt sind. Dort können die Assemblies entfernt und anschließend durch Rechtsklick auf "References" > "Add Reference" neu verlinkt werden. Im sich öffnenden Dialog gibt es einen 🏇 um eigene Dateien einzubinden. Alternativ kann ebenfalls die csproj-Datei direkt mit einem Texteditor geöffnet und die Reference-Knoten angepasst werden. Hierbei kann entweder ein "ReferencePath" oder ein "HintPath" definiert werden, obwohl dabei der ReferencePath Vorrang in der Suchreihenfolge des Builders hat.

Zusätzlich zu diesen Möglichkeiten gibt es weitere Stellen » an denen eingestellt werden kann « wo das Programm nach dem Kompilieren seine Assemblies suchen soll. Diese Einstellungen können in der app.config im assemblyBinding mit den Optionen "probing" und "codeBase" vorgenommen werden. Es besteht auch die Option, zur Laufzeit die DLLs selbst zu laden oder einen EventHandler für "AssemblyResolve" zu definieren und dann darüber zu laden.

Für.NET Core/5 gibt es möglicherweise keine vergleichbaren Alternativen. Es ist jedoch wichtig zu beachten – dass viele.NET-Assemblies als NuGet-Paket verteilt werden und standardmäßig einfach als DLL neben der Exe landen. In diesem Fall könnte die Übersichtlichkeit sogar beeinträchtigt werden, da die Anzahl der Dateien größer wird.

Es wird jedoch empfohlen die Dlls im Standardverzeichnis zu belassen und stattdessen ein kleines Installations-Tool anzubieten, das den Ordner an einen anderen Ort verschiebt und einen Link im Startmenü einrichtet. Dies kann die Benutzerfreundlichkeit verbessern und die Übersichtlichkeit des Hauptverzeichnisses des Programms bewahren.

Insgesamt gibt es also mehrere Möglichkeiten um die DLLs in einem C# Projekt in einen Unterordner zu verschieben, wobei die genaue Vorgehensweise von den spezifischen Anforderungen des Projekts abhängt.






Anzeige