Normalerweise habe ich Sachen wie das Erstellen von ZIP-Dateien, Installer, NuGet-Pakete usw. in mein eigentliches Projekt.
Warum? Denn wenn ich es dort hinstelle, wird es ausgeführt jedes Mal Ich baue das Projekt in Visual Studio, zum Beispiel, wenn ich debuggen bin.
Aber ZIP-Dateien, Installer usw. werden nur benötigt, wenn ich ein Release mache, so will ich nicht warten, dass sie jedes Mal neu generiert werden, wenn ich F5 in Visual Studio drücke.
Um eine Freigabe zu erstellen, erstelle ich normalerweise eine Batch-Datei, die eine MSBuild project file ausführt, die alles erstellt, was notwendig ist, um eine Veröffentlichung zu machen.
IMO Erstellen einer ZIP-Datei gehört auch in diese MSBuild-Projektdatei.
Sie können alle Informationen, die Sie von mir in diesen beiden früheren Antworten brauchen:
plus here's an example MSBuild project file von einem meiner Projekte, die folgendes tut:
- build das Projekt
- Laufeinheit testet
- zwei Freigabeordner mit Binärdateien erstellen (eine DLL und eine .exe)
- erstellen zwei zip Dateien, eine für jeden der Ordner mit Binärdateien
- Erstellen Sie ein NuGet-Paket für die DLL
- Erstellen Sie ein ClickOnce-Setup für die.exe
- automatisch die richtige Versionsnummer für alles
Das Tolle an diesem Ansatz ist, dass ich eine Veröffentlichung machen, die alles enthält Ich habe gerade aufgeführt, mit einem einzigen Klick (eine Batch-Datei ausgeführt wird) .
Das Erstellen all dieser Dinge dauert einige Zeit, aber da es nicht Teil der Visual Studio-Lösung ist, wird es nicht jedes Mal ausgeführt, wenn ich ein Build in Visual Studio mache - ich führe es nur aus, wenn ich es wirklich brauche.
http://markkemper1.blogspot.se/2010/10/zipping-build-outputs-using-build-file.html –