Question

J'ai juste besoin de créer un package de déploiement Web à l'aide de TFS Build et de ne pas vouloir le déployer automatiquement dans IIS.

J'ai ajouté les deux paramètres ci-dessous dans la définition de construction -> Arguments MSBUILD

/ p: createpackackageOnPublish= true / p: Deployonbuild= true

Le probelm est que je ne reçois pas le fichier zip dans la localisation de goutte et obtenez l'erreur ci-dessous.

c: \ programme Files \ Msbuild \ Microsoft \ VisualStudio \ v10.0 \ Web \ Microsoft.Web.Publishing.Targets (1657): La tâche "MapuritoiiswebServer" a échoué de manière inattendue. System.RunTime.InterServices.ComeXception (0x80005000): Inconnu erreur (0x80005000) à Système.directoryservices.directoryenterry.bind (boolean threadifail)
au système.directoryservices.directoryenterry.bind () à Système.directoryservices.directoryenterry.get_iscontainer () à System.directoryservices.directorytries.checkiscontainer () à System.directoryservices.directorytries.find (nom de cordes, chaîne schemaclassname) à Microsoft.Web.Publishing.Tasks.MapuritoiiswebServer.get_IISMAJORVERSION () chez microsoft.web.publishing.tasks.mapuritoiiswebserver.execute () à Microsoft.build.backend.taskexecutionhost.microsoft.build.backend.itaskexecutionHost.execute () à Microsoft.build.backend.taskbuilder.executeInstanciatedtask (itaskexecutionHost TaskexecutionHost, TaskLogGingContext TaskLogGingContext, Taskhost Taskhost, montebucket Seau, TaskexecutionMode HowtoExecuteTask, Boolean & TaskResult)

Qu'est-ce qui pourrait être le problème?


Maintenant, je reçois une erreur différente

Erreur: la tâche de déploiement Web a échoué. (Objet de type 'Manifest' et chemin 'E: \ TFS \ Dev \ ApplicationName \ binaires \ Livraison_publieviewebsites \ ApplicationName_Package \ ApplicationName.sourcemanifest.xml' ne peut pas être créé.)

ERREUR: Objet de type 'Manifest' et chemin 'E: \ TFS \ Dev \ ApplicationName \ binaires \ Livraison_publiedwebsites \ ApplicationName_Package \ ApplicationName.sourcemanifest.xml' ne peut pas être créé.

Erreur: une ou plusieurs entrées dans le manifeste «Sitemanifest» ne sont pas valides.

Erreur: application '/ applicationName' n'existe pas sur le site "Site Web par défaut".

Était-ce utile?

La solution

Je pense que vous devez juste ajouter la cible "Package" à votre construction pour le projet Web.

 /t:Build;Package

J'utilise cette cible dans ma construction TFS pour générer le dossier _Publiedwebsite avec le package Zip pendant un moment maintenant avec succès.

EDIT: Explication de la cible de paquet Si vous consultez votre fichier CSPROJ pour votre application Web en tant que fichier XML, vous verrez qu'il inclut le suivant

<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" />

Cela inclut un tas d'objectifs Web dans votre processus de construction. Casser ce fichier ouvert et en bas, vous verrez que cela inclut à son tour

 <Import Project="..\Web\Microsoft.Web.Publishing.targets" Condition="Exists('..\Web\Microsoft.Web.Publishing.targets')" />

Ce fichier contient la définition du processus de déploiement Web pour MSBUILD. Vous verrez qu'il déclare une variable pour indiquer la "cible" à appeler sur un déploiement comme étant "paquet"

 <DeployDefaultTarget Condition="'$(DeployDefaultTarget)'==''">Package</DeployDefaultTarget>

Si vous lisez à travers ce fichier, il vous donnera une idée de la manière dont l'emballage et le déploiement fonctionnent sous les couvertures et quels sont l'ensemble des propriétés et des objectifs que vous pouvez manipuler pour personnaliser votre construction.

histoire longue, si vous appelez

 msbuild yourwebapplication.csproj /t:Package /p:Configuration=Release 

Il devrait vous construire le package de déploiement Web pour la configuration de sortie de votre application.

Autres conseils

J'ai eu le même problème et la seule chose qui résolue c'était ceci:

  1. Ouvrez votre console de gestion IIS
  2. Allez sur votre site Web par défaut
  3. Ajouter une nouvelle application nommée 'ApplicationName'
  4. Exécutez MSBuild à nouveau.Cela fonctionnera.

Dupliqué possible de msbuild Deployonbuild= True ne pas publier

J'ai eu le même problème avec le bambou d'Atlassien, et cela lui a fixé pour moi: à partir d'une machine avec Visual Studio Copier le contenu de "C: \ Program Files (X86) \ MSBuild \ Microsoft \ VisualStudio \ v10.0 \ web"Au serveur de construction TFS.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top