Abstraktes Header-Bild in den Farben von tsjdev apps

Blogbeitrag

Lokales NuGet Package in Projekt integrieren

Manchmal kommt es vor, dass einem NuGet Package als .nupkg Datei vorliegen, welche man gerne in sein bestehendes Projekt integrieren möchte. Dies kann zum Beispiel dann der Fall sein, wenn man seine eigenen NuGet Packages erstellt, aber diese nicht veröffentlichen möchte oder bei Preview-Versionen, welche nur ausgewählte Personen testen sollen. In diesem Beitrag möchte ich nun zwei verschiedene Wege aufzeigen, wie man mit sehr wenig Aufwand lokale .nupkg Dateien in sein bestehendes Projekt integrieren kann. Dabei werde ich zwei verschiedene Ansätze aufzeigen.

Zunächst öffnen wir Visual Studio und öffnen dann die Einstellungen von NuGet über ToolsNuGet Package ManagerPackage Manager Settings. Anschließend wird uns der folgende Dialog angezeigt.

Hier müssen wir nun in den Tab Package Sources wechseln.

Über den großen Plus-Button im oberen rechten Bereich fügen wir nun neben der bestehenden nuget.org Quelle eine weitere Quelle hinzu. Hier können wir einen beliebigen Namen vergeben und als Source geben wir den Pfad zu einem lokalen Ordner an, wo wir die .nupkg Dateien gespeichert haben an.

Wenn wir nun in unser Projekt wechseln und NuGet Packages hinzufügen wollen, dann können wir jetzt die Package source ändern und auf unsere neu hinzugefügte Quelle wechseln. Anschließend werden uns die lokalen Packages direkt angezeigt.

Damit sind wir jetzt bereits in der Lage lokale NuGet Packages zu verwenden und entsprechend Projekte einzusetzen. Allerdings gibt es auch einen Nachteil, denn wenn man im Team arbeitet, müssen alle Team-Mitglieder diese Einstellungen vorgenommen haben und entsprechend auch über die .nupkg Dateien verfügen.

Daher gibt es noch eine zweite Variante. Bei dieser werden die .nupkg mit im Code eingecheckt und der Pfad wird relativ zum Projekt angegeben, so dass jedes Team-Mitglied automatisch die richtige Version auf seinem Rechner hat und sich auch sonst um keine weiteren Einstellungen kümmern muss.

Hierzu legen wir zunächst unser Visual Studio Projekt an. In meinem Fall habe ich dann auf den gleichen Ebene, wie die .sln Datei einen Ordner lib angelegt. In diesen Ordner habe ich dann die notwendigen .nuget Dateien kopiert bzw. abgelegt. Hierdurch können die Dateien jetzt zum Beispiel auch eingecheckt werden und stehen allen Entwicklern zur Verfügung. Im nächsten Schritte legen wir auf der .sln-Ebene eine Datei nuget.config an. Der Inhalt dieser Datei sieht dann wie folgt aus:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <packageSources>
        <add key="LocalNuGetSource" value="lib" />
    </packageSources>
</configuration>

Wie man dem Code entnehmen kann, können wir auch hier im key-Attribut einen beliebigen Namen angeben und im value-Attribut folgt dann der Pfad zu den Packages, welches in meinem Fall einfach der lib-Ordner auf gleicher Ebene ist. Anschließend steht uns ebenfalls ein neuer Eintrag im NuGet Package Manager zur Verfügung und wir können die lokalen Packages hinzufügen.

Somit sind wir jetzt in der Lage lokale NuGet Packages unseren Projekten hinzuzufügen und diese bequem über den NuGet Package Manager zu verwalten.

Weiterempfehlen

Diesen Beitrag teilen

Wenn dir der Beitrag gefallen hat: gern weiterreichen. Gute Links dürfen sich ruhig schnell verbreiten.

Vorheriger/Nächster Beitrag

Windows 10 April 2018 Update Vorheriger Beitrag Windows 10 April 2018 Update Event-Tipp: Global Azure Bootcamp in München Nächster Beitrag Event-Tipp: Global Azure Bootcamp in München
Flags Quiz - Ein interaktives Flaggen-Quiz mit HTML, JavaScript und Bulma Flags Quiz - Ein interaktives Flaggen-Quiz mit HTML, JavaScript und Bulma Sicherheitslücken in verwendeten NuGet-Paketen finden Sicherheitslücken in verwendeten NuGet-Paketen finden Windows Terminal unter Windows 11 mit Oh-My-Posh einrichten Windows Terminal unter Windows 11 mit Oh-My-Posh einrichten Cronjobs in Azure Functions: Zeitgesteuerte Aufgaben mit dem TimerTrigger ausführen Cronjobs in Azure Functions: Zeitgesteuerte Aufgaben mit dem TimerTrigger ausführen
Lust auf ein kurzes digitales Hallo? Wenn du eine Idee teilen, eine Frage loswerden oder ein Projekt anschieben willst: mein Posteingang ist deutlich zuverlässiger als Brieftauben. apps@tsjdev-apps.de Mail schicken