2009-08-19 5 views
1

Je remplace la cible suivante dans mon fichier de construction TFS pour exécuter diverses tâches qui configurent des bases de données, importent des données, etc., etc. dans Visual Studio 2008 - l'objectif était d'arrêter uniquement le site Web associé à un pool d'applications sur le serveur au lieu d'arrêter l'ensemble du service de W3SVC sur l'ensemble de la machine (voir tâche alternative par exemple):Erreur AppController: Index hors limites

<Target Name="AfterCompile"> 

    <AppPoolController ApplicationPoolName="$(AppPoolName)" Action="Stop" ServerName="$(WebsiteMachine)" /> 

    <!--<MSBuild.ExtensionPack.Computer.WindowsService TaskAction="Stop" MachineName="$(WebsiteMachine)" ServiceName="W3SVC"/>--> 


    <!-- various tasks and what not, which have been confirmed to work fine with the option of stopping the W3SVC --> 

    <AppPoolController ApplicationPoolName="$(AppPoolName)" Action="Start" ServerName="$(WebsiteMachine)" /> 
</Target> 

Cependant, lorsque je tente une construction, je reçois le texte suivant:

$(BuildDirectoryPath)\BuildType\TFSBuild.proj(81,5): error : Index was outside the bounds of the array. 

Les différentes tâches mentionnées ci-dessus ne sont que: tâches, appels vers d'autres cibles, etc. Où est la source de l'erreur? J'ai lu la documentation MSBuild Community Tasks, mais la chose la plus proche de tout ce qui ressemble à un tableau est une Enum sur la propriété Action. Il semble que d'autres personnes obtiennent la même erreur avec des applications différentes en utilisant XML, mais jusqu'à présent je n'ai pas été capable de trouver quelque chose d'éclairant. J'ai également essayé d'aller this, mais en vain, à moins que j'ai raté quelque chose (ce qui est très possible).

Répondre

0

L'erreur provient probablement d'une exception renvoyée par le code dans la tâche. L'index hors limites peut être lancé par une propriété indexée par une chaîne, peut-être que le nom AppPool ne s'affiche pas correctement. Jetez un coup d'œil à la source de la tâche et vérifiez l'indexation de la matrice ou de la propriété. Vous pouvez également utiliser une tâche Exec pour débourser iisapp.vbs.

+0

Il s'avère que j'utilisais une version obsolète de tâches communautaires. Je n'ai pas encore testé la dernière version avec le correctif puisque je ne suis pas en charge de la machine de build et que je ne peux pas installer des trucs au hasard sur le serveur :) –

Questions connexes