Hi panicJonny,
an NuGet führt mMn kein Weg vorbei.
Ich vermeide klassische .NET Framework-Projekte, denn die benötigen (wie Du geschrieben hast) manuelle Zuarbeit.
Meine Bibliotheken sind nur noch .NET-Standard-Projekte, bei denen ich das Target-Framework in der Projektdatei anpasse, um Legacy-DLL's und gleichzeitig .NET-Core DLL's zu erzeugen.
Das sieht ungefähr so aus:
XML-Code: |
<TargetFrameworks>net46;netstandard2.0</TargetFrameworks>
|
Damit bekommst Du das Packaging-Feature von Visual Studio geschenkt :-)
Bei reinen Legacy-Projekten, habe ich leider auch noch keinen anderen Weg gefunden, als die .nuspec-Datei selber zu erzeugen und dann über nuget.exe das Paket bei Bedarf zu erstellen:
Code: |
1:
|
nuget.exe pack -IncludeReferencedProjects -properties Configuration=Release |
|
Ein Repository-Verzeichnis würde ich nicht verwenden.
Ich benutze einen Nexus-Server, der ist kostenlos und einfach zu installieren:
https://de.sonatype.com/nexus-repository-sonatype
Das Ganze könnte man/frau automatisieren (z.B. per nuget push) und auch die Versionierung ist wohl automatisch machbar:
https://stackoverflow.com/questions/23754398/how-do-i-auto-increment-the-package-version-number
Da kann man sich mit Batch-Dateien, PowerShell usw. austoben, aber ich würde das ehrlich gesagt nicht machen. Der Weg über .NET-Standard-Projekte zu gehen ist leichter und zeitgemäßer.
Bezüglich SVN kann ich Dir nur den Tip geben: Wechsel zu Git.
Es ist wirklich ein Quantensprung bezüglich der Versionierung und der Teamarbeit.
Ein eigener GitLab-Server auf ner kleinen Ubuntu-Kiste ist schnell aufgesetzt oder Du verwendest eine AWS-Maschine:
https://aws.amazon.com/marketplace/pp/B071RFCJZK