Erstellen Sie ein NuGet-Paket aus einer einzigen C# - Projekt mit 3 anderen build-Konfigurationen
Habe ich eine C# - Lösung mit single-Projekt (Projekt.csproj), die 3 anderen build-Konfigurationen, die jeweils verschiedene build-Richtlinie (v1, v2, v3). Der code in der Bibliothek ändert sich je nach diesen Richtlinien, so erhalten Sie 3 verschiedene DLLs nach Gebäude. Der Grund dafür ist, dass diese Bibliothek ist ein wrapper für eine 3rd-party-Programm-DLL geschrieben in C. Dieses Programm hat 3 Versionen mit einigen unterschieden.
Die Frage ist, wie erstelle ich ein Nuget-Paket für? Sollte ich 3 verschiedene Pakete oder ist es möglich, erstellen Sie einfach eins (dann ist das je nach Projekt würde einfach einige Richtlinie, um die richtige eins)? Muss ich ein speziell nuspec-Datei oder ist es möglich zu vereinfachen, werden diese mit "nuget pack "Project1".csproj ... einige params" (so dass ich nicht zu füllen in der version, Abhängigkeiten, etc. manuell)?
Danke
InformationsquelleAutor Andrej Kmetík | 2015-11-27
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie nur ausführen, unterschiedliche Codes, wenn sich die Rahmenbedingungen anders sein würde.Aber ich glaube nicht, dass dies der Fall ist.
Wenn ich wo wäre, würde ich erstellen 3 nuget-Paket-Vorlagen und automatisieren Sie den Prozess für das erstellen und die Freigabe, so dass Sie nicht haben, um all die Arbeit tun.
Werden Sie allerdings brauchen, um das nuget-Paket einmal.
Automatisierung Pakete, können Sie sehen, ein howto hier:
Da haben Sie 3 verschiedene builds, können Sie rufen Sie die "nuget-Paket-Schöpfung" einzeln und passen die Anforderungen entsprechend an.
Fazit: würde ich mit 3 Paketen, get build auf release. Die version ist definiert in Ihrer assembly-version. Man könnte Sie als Powershell-code anpassen, diese in Ihrem nuget spec (zB. immer die richtige version code bei der Veröffentlichung, ..)
Wenn Sie den Test-Paket, release das Paket mit a-beta-tag. So nuget wird wissen, dass es sich um eine Vorabversion.
InformationsquelleAutor NicoJuicy