Comment utiliser MSBuild avec la commande Invite?
J'ai un site (pas un web application
c'est un website
) et je veux le Publier à partir de la command prompt
.
Je veux le publier dans le même répertoire (tous les soirs) et je ne veux pas utiliser l'Automatisation de la génération des outils comme TeamCity, TSF, ou 3ème partie outils comme le Nant.
Il devrait être fait avec MSBuild
.
Comment puis-je faire cela?
Mise à jour : dans la fenêtre publier la seule option qui doit être vérifié, c'est Use Fixed naming and single page assemblies
source d'informationauteur Nasser Hadjloo
Vous devez vous connecter pour publier un commentaire.
De votre commentaire, votre projet web est un projet de site web et non pas un projet d'application web.
Dans ce cas, 'Publier' cible ne peut pas être une option, mais "AspNetCompiler" est la solution.
Créer un fichier xml avec ci-dessous le contenu et l'appeler à partir d'MSBuild.
Référence à cette tâche est ici et vous pouvez configurer tous vos nations unies/options de vérification.
FixedName="True" est égale à la vérification de l '"usage fixe de nommage et d'une seule page..." option.
Puis vous appelez ce fichier à partir de MSBuild au lieu de la solution de fichier.
Aussi longtemps que votre classe, les bibliothèques sont référencées par votre projet de site web, ils vont être construits ensemble.
Il permet de compiler tous les Types de projets(Web,web service,bureau,..) et il peut créer des fichiers journaux comme(buildlog,d'erreur et des avertissements).
Désolé pour le retard de réponse, et merci pour l'entrée alan. Malheureusement, votre suggestion n'a pas fonctionné alors j'ai fini par faire ce qui suit:
This build does not copy output files to a drop folder
dans le cadre de l'onglet valeurs par défautAsConfigured
que la valeur de laOutput location
sous2. Build
sous l'onglet ProcessusUtiliser cette MSBuild chaîne d'argument:
/p:DeployOnBuild=True;DeployTarget=PipelinePreDeployCopyAllFilesToOneFolder;PackageTempRootDir="\\192.168.x.x\Nightly\MainBranch";AutoParameterizationWebConfigConnectionStrings=false
Ce résultat est le dossier suivant que j'utilise comme webroot pour le site de test:
\\192.168.x.x\Nightly\MainBranch\PackageTmp
.Ce n'est évidemment pas optimal puisque je préférerais ne pas avoir le
PackageTmp
dossier et je n'ai pas testé ce qui se passe quand il y a de nombreuses applications web dans la même solution, mais je ne peux pas utiliser plus de temps sur cette question.Je ne comprends vraiment pas pourquoi Microsoft ont fait une tâche simple si compliqué.