2010-09-02 8 views
6

J'ai recherché et je n'ai trouvé aucun élément associé à ce sujet. Lorsque vous utilisez Visual Studio 2010 pour une bibliothèque WCF, vous pouvez cliquer dessus avec le bouton droit et publier la bibliothèque WCF, qui génère/crée le fichier .svc et web.config et le déploie. J'ai essayé d'imiter ceci dans msbuild et n'ai eu aucun succès. Est-ce possible? J'ai des scripts de construction pour déployer une application WCF, site Web, et n'ai pas eu de chance en utilisant ces scripts pour déployer avec succès une bibliothèque WCF. Quand je les utilise, il compile les Dll mais pas les fichiers .svc ou web.config. Tout avis serait grandement apprécié.Automatiser la publication d'une bibliothèque WCF à l'aide de MSBuild

+1

Merci pour les réponses. Je menais vers cela ne pouvait pas être fait avec MSBuild à moins qu'une tâche personnalisée ait été utilisée et/ou écrite. – BlueFalcon

Répondre

0

La publication de la bibliothèque WCF est une fonctionnalité intégrée de Visual Studio qui n'est pas liée à MSBuild. Donc, à moins de créer votre propre tâche MSBuild ou de simuler un comportement en utilisant d'autres tâches, vous ne pourrez pas le faire.

+0

Découvrez la/t: Package cible avec au moins .NET 4.0 - Je crois que c'est plus une fonctionnalité que Visual Studio tire parti plutôt que tout ce qui est cuit dans VS (mais je peux me tromper). Vous obtenez de belles boîtes de dialogue de propriétés dans VS2010 qui devraient sinon être modifiées manuellement. –

0

Vous devriez vérifier Wix Je crois qu'il devrait être capable de faire ce que vous demandez, c'est juste une énorme courbe d'apprentissage.

0

En lecture Vishal Joshi's blog, il a plusieurs excellents messages sur les technologies utilisées pour déployer des applications IIS (y compris les services WCF hébergés dans IIS).

Web Packaging: Creating Web Packages using MSBuild

En un mot, la cible MSBuild Package est votre ami. Essayez de créer une application de service ASP.NET ou WCF à l'aide de la cible /t: Package sur la ligne de commande.

Il va créer un fichier zip, et le fichier .cmd correspondant pour l'exécution, que vous pouvez ensuite déployer en utilisant la ligne de commande, ou même importer le fichier .zip manuellement dans IIS via MMC. Pour déployer à partir de MSBuild vous devriez être en mesure d'exécuter ce 'paquet' contre tout serveur exécutant le service Web Deploy.

Vous pouvez également consulter% WINDIR% \ system32 \ inetsrv \ appcmd.exe si vous préférez stocker séparément les métadonnées de votre application (nom de site, apppools, acls, répertoires de destination, etc.), puis écrire un MSBuild (ou Powershell , bat fichier, etc) pour coordonner le travail de mise en place et de démolition de ces actifs. Voir Getting Started with AppCmd.exe pour plus d'informations.

HTH,

Z

Questions connexes