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 .nupkg
Dateien abzurufen , aber ...
Wie erstellt man .nupkg
aus 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
.dll
Dateien / 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
.csproj
Datei manuell,<BuildPackage>true</BuildPackage>
um Abhängigkeiten hinzuzufügen - Erstellen Sie manuell eine
.nuspec
Datei und listen Sie Ihre Abhängigkeiten manuell auf ( ähnlich? ) - Führen Sie
nuget pack
Ihre.nuspec
Datei manuell aus
Aber alles ist manuell, was dumm ist. Sogar die halbautomatischen Lösungen sind immer noch umständlich oder halb manuell:
.nuspec
Vorlagen 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 .nuspec
Manifest aus Projektreferenzen erstellt. Dann kann theoretisch + das Nuget-Build-Ereignis in ein Build-Projekt / Nuget-Paket zusammengefasst werden, was ich wirklich sehen möchte.