Comment puis-je configurer MSBuild à utiliser enregistré publishProfile pour WebDeploy?
J'ai utilisé Visual Studio pour créer un profil de publication. Il a sauvé cette information pour MyProject.Publish.xml, situé à la racine de mon répertoire de projet.
Je voudrais la tâche MSBuild qui est exécutée sur mon serveur CI pour utiliser ce fichier comme ses réglages de base. Idéalement, si je pouvais remplacer des propriétés via les paramètres de ligne de commande, que serait le rock.
Est-ce possible? Si oui, quelle est la syntaxe?
Par exemple, je suis à la recherche de quelque chose comme:
MSBuild MyProject.csproj /P:UsePublishProfile=True /P:UserName=deployUser /P:Password=MyPassword
- Avez-vous jamais trouver comment faire cela?
- Un peu de chance sur ce encore?
Vous devez vous connecter pour publier un commentaire.
Je suis désolé de vous dire que la publish.xml fichier qui VS2010 utilise n'est pas conçu pour être utilisé de cette façon. En fait, il n'a même pas été conçu pour être accueillis ou partagés avec d'autres.
La logique de la lecture/écriture de ces fichiers sont strictement contenue à l'intérieur de Visual Studio et ne sont pas disponibles par le biais de MSBuild. Donc il n'est pas simple de faire cela aujourd'hui. Vous devez passer dans la propriété individuelle noms/valeurs lorsque vous appelez msbuild.exe. Vous pouvez voir une question similaire que j'ai répondu à L'équipe de Construire: Publier localement à l'aide de MSDeploy pour plus d'info.
Note pour VS 11 Developer Preview
Juste pour que vous le savez, nous avons résolu ce problème dans la prochaine version de Visual Studio. Vous pouvez voir si en téléchargeant le VS 11 developer preview. Maintenant, tous les profils sont enregistrés dans leurs propres fichiers (sous la PublishProfiles dans les Propriétés du nœud dans l'Explorateur de solutions). Ils sont maintenant conçus pour être enregistré et partagé avec les membres de l'équipe. Ces fichiers sont maintenant MSBuild fichiers et vous pouvez les personnaliser si vous le souhaitez. Afin de publier à partir de la ligne de commande, il suffit de passer DeployOnBuild=true et définir PublishProfile pour le nom du profil. Par exemple: