Laden...

Visual Studio Solution verschlanken und weitergeben

Erstellt von schuppsl vor 5 Jahren Letzter Beitrag vor 5 Jahren 2.173 Views
S
schuppsl Themenstarter:in
789 Beiträge seit 2007
vor 5 Jahren
Visual Studio Solution verschlanken und weitergeben

Hallo Gemeinde,

ich hätte mal wieder eine blöde Frage.
Man kann ja aus dem Internet z.B. Codeplex Beispiel Lösungen für Visual Studio herunterladen.
Öffnet man diese dann in VS, werden beim ersten kompilieren alle benötigten Pakete heruntergeladen.

Ich möchte nun auch eine Solution weitergeben.
Wie mache ich das, dass derjenige, der die Lösung entzippt und öffnet eine möglichst schlanke Datei bekommt?

Vielen Dank.

4.939 Beiträge seit 2008
vor 5 Jahren

Du meinst eine ZIP-Datei ohne die NuGet-Packages? Dann packe nur die nuget.config-Datei mit rein (beachte u.u. explizit den Abschnitt "packageRestore").

2.079 Beiträge seit 2012
vor 5 Jahren

Ich würde die nuget.config nicht mitgeben, die ist für den Empfänger nicht weiter von Bedeutung, denn dort kann man ja nur so Dinge wie die NuGet-Quelle (meist reicht der Standard) oder Cache-Ordner eingestellt.

Folgendes würde ich löschen:*Die "bin"- und "obj"-Ordner *Den ".vs"-Ordner *Den "packages"-Ordner *Die ".csproj.user"-Datei *Die ".csproj.vspscc"-Datei

Das sind alles Ordner/Dateien, die VisualStudio automatisch anlegt.
Die "bin"- und "obj"-Ordner sollten bekannt sein, im "packages"-Ordner legt NuGet die Dateien ab, der Rest ist internes Zeug von VisualStudio.

Natürlich kann es auch sein, dass z.B. der bin-Ordner notwendig ist, aber dann ist bei der Entwicklung irgendetwas schief gelaufen 😉

Beim Start muss der Empfänger dann bloß die NuGet-Pakete herunterladen, das setzt voraus, dass sie an den üblichen Orten (wie nuget.org) zu finden sind. Sind sie das nicht, kannst Du dem entgegenwirken, dass Du über die nuget.config eine weitere lokale Quelle (ein Ordner) einstellst und das dann beides mitlieferst. Es kann (muss nicht) aber auch funktionieren, wenn Du im packages-Ordner die fraglichen Packages übriglässt, sodass VisualStudio diese Pakete nicht herunter laden muss und dann auch nie merkt, dass es sie nicht finden kann.

Wenn Du das alles aufgeräumt hast, einfach als ZIP packen und fertig hast Du dein kleines Projekt-Paket.

NuGet Packages im Code auslesen
lock Alternative für async/await

Beim CleanCode zählen nicht die Regeln, sondern dass wir uns mit diesen Regeln befassen, selbst wenn wir sie nicht befolgen - hoffentlich nach reiflichen Überlegungen.

4.939 Beiträge seit 2008
vor 5 Jahren

Nachtrag:
Je nach Projekttyp gibt es unterschiedliche Orte, wo die NuGet-Packages gespeichert sind, s. Paketverweise (PackageReference) in Projektdateien.
Es kann also evtl. auch nötig sein, direkt die packages.config mitzuliefern.

S
schuppsl Themenstarter:in
789 Beiträge seit 2007
vor 5 Jahren

Super, vielen Dank an alle! 👍

1.040 Beiträge seit 2007
vor 5 Jahren

Es kann also evtl. auch nötig sein, direkt die
>
mitzuliefern.

Das "evtl." kann man doch streichen.
Wenn man dieses Format nutzt, gehört die packages.config zum Projekt (also ist in der Projektstruktur eingebunden), sonst weiß NuGet doch gar nicht welche Projekte es ziehen muss. =)