Ich möchte ein lokales / internes NuGet-Repository ausführen . Ich glaube, ich habe herausgefunden, wie vorhandene NuGet-Pakete "wiederverwendet" werden können, indem ich sie mit NuGet in ein Dummy-Projekt aufgenommen und die Paketdatei gescannt habe, um meine lokal zwischengespeicherten .nupkgDateien abzurufen , aber ...
Wie erstellt man .nupkgaus einem Projekt ein Nuget-Paket ( ), das automatisch alle dll Abhängigkeiten enthält und nicht nur die über NuGet erfassten?
Speziell:
- Erstellen Sie eine Lösung
- Fügen Sie ein neues Projekt hinzu
- Verweise auf verschiedene
.dllDateien / andere Projekte hinzufügen <- dies ist der fehlende Teil - Fügen Sie NuGet-Pakete über den Paketmanager / cmdline / Whatever hinzu
- etwas schafft automatisch die
.nupkg
Nach allem, was ich gefunden habe, solltest du Dinge wie tun
- Bearbeiten Sie Ihre
.csprojDatei manuell,<BuildPackage>true</BuildPackage>um Abhängigkeiten hinzuzufügen - Erstellen Sie manuell eine
.nuspecDatei und listen Sie Ihre Abhängigkeiten manuell auf ( ähnlich? ) - Führen Sie
nuget packIhre.nuspecDatei manuell aus
Aber alles ist manuell, was dumm ist. Sogar die halbautomatischen Lösungen sind immer noch umständlich oder halb manuell:
.nuspecVorlagen erstellen - scheint keine Abhängigkeiten zu enthalten, sondern nur MetadatenNuget Pack über Build-Event (Schritt 5), das Sie manuell zu jedem Projekt hinzufügen müssen, und es hat seine eigenen Macken :
"$(SolutionDir).nuget\NuGet.exe" pack "$(ProjectPath)" -Properties Configuration=Release move /Y *.nupkg "$(TargetDir)"
Ich werde mich mit etwas zufrieden geben, das automatisch ein .nuspecManifest aus Projektreferenzen erstellt. Dann kann theoretisch + das Nuget-Build-Ereignis in ein Build-Projekt / Nuget-Paket zusammengefasst werden, was ich wirklich sehen möchte.
