Fichiers zip après la fin de la construction dans Visual Studio
J'ai une exigence où j'ai besoin de compresser certains fichiers après je créer un fichier de solution.
Cela pourrait-il être réalisé automatiquement une fois que je construis mon projet en Release/Debug mode.
source d'informationauteur nishantcop | 2014-03-28
Vous devez vous connecter pour publier un commentaire.
Habituellement je ne mets pas des trucs comme la création de fichiers zip, les installateurs, les packages NuGet etc. dans mon réels du projet.
Pourquoi? Parce que quand je l'ai mis là, il est exécuté chaque fois je suis en train de construire le projet dans Visual Studio, par exemple, quand je suis de débogage.
Mais les fichiers zip, les installateurs, etc. ne sont nécessaires que lorsque je fais un communiqué dedonc je ne veux pas attendre pour eux d'être re-généré à chaque fois que j'appuie sur F5 dans Visual Studio.
De faire un communiqué de presse, j'ai l'habitude de créer un fichier batch qui exécute une MSBuild fichier de projetqui crée tout ce qui est nécessaire pour faire un release.
De l'OMI, de la création d'un fichier ZIP appartient dans ce projet MSBuild fichier.
Vous pouvez trouver toutes les informations dont vous avez besoin dans ces deux réponses précédentes par moi:
(la réelle question est de savoir à propos de la construction d'un programme d'installation avec WiXmais au début je me suis créer un fichier projet MSBuild)
Plus, voici un exemple de fichier projet MSBuild de l'un de mes projets, qui effectue les opérations suivantes:
La grande chose au sujet de cette approche est que je peux faire une version, ce qui inclut tout ce que je viens d'énumérer, en un seul clic (l'exécution d'un fichier de commandes).
La création de tous ce genre de choses prend du temps, mais comme il ne fait pas partie de la solution Visual Studio, il ne fonctionne pas à chaque fois que je fais construire dans Visual Studio, je ne l'exécuter lorsque j'en avais vraiment besoin.
À l'aide de powershell, uniquement lors de la Libération de construction:
if $(ConfigurationName) == Release (powershell Compress-Archive -Path '$(TargetDir)*.dll', '$(TargetDir)*.pdb', '$(TargetDir)*.config' -DestinationPath '$(SolutionDir)PublishOutput\YourNameHere.zip' -Force)
Il ne zips de la dll, pdb et des fichiers de configuration.
-Force
est utilisé pour remplacer le fichier zip sur chaque build.Allez dans les propriétés de votre projet et dans le 'Build onglet Événements écrire vos commandes dans le Post-événement de construction de la zone. Les commandes exécuter comme (ou comme) un Cmd fichier de commandes.
Aussi: il n'y ara quelques makros' y sont disponibles, ce qui peut aider en se référant au projet dossiers etc.. Check it out.
Et, pour ajouter à Jason commentaire, vous pouvez également appeler le fichier de commandes lui-même comme le post-commande créer.
(Une mise en garde au sujet des événements après génération: Ils sont exécutés après la construction. Mais si vous avez le SCC cibles, ils sont compilés après la construction et après les événements après génération. Si vous voulez à l'e.g.copiez les fichiers de sortie de ces SCC cibles que vous devez faire dans un
post-compile
événement.)