2010-09-12 29 views
5

je suis dans le processus ou la mise à niveau ma configuration de CI à des projets de déploiement Web 2010 (à partir de 2008)problème étrange avec le déploiement du Web Projets 2010

je suis geting une question vraiment étrange Durin construction comme indiqué ci-dessous - i » ai regardé en elle aa quelques heures à aucune résolution, et je commence à penser que le problème est ailleurs ...)

C: \ Program Files (x86) \ MSBuild \ Microsoft \ WebDeployment \ v10.0 \ Microsoft.WebDeployment.targets (103, 46): erreur MSB4092: un jeton inattendu ")" a été trouvé à la position de caractère 174 dans la condition "'$ (_ExcludeWAPBaseIntermediateOutputPath)' == '' Et! $ ([Syst em.IO.Path] :: IsPathRooted ($ (_ExcludeWAPBaseIntermediateOutputPath))) ".

Répondre

0

Bien que j'avais choisi d'utiliser la version 4 MSBUILD et les outils MSBuild 4.0, il n'a pas encore - à la mise à niveau vers la dernière version de TeamCity toutes les questions est parti :)

1

Out of the blue, je pense que votre serveur CI n'utilise pas MSBuild pour exécuter la construction, de sorte que la fonction de propriété $([System.IO.Path]::IsPathRooted(...) n'est pas reconnu.

Vérifiez que MSBuild 4 est la version utilisée par votre serveur CI.

+0

Je pense que cela a quelque chose à voir avec l'ancienne version de teamcity que j'utilisais. – Doug

+0

P. Merci pour l'effort de répondre :-) – Doug

10

je également face à la même question. Résolu en utilisant la version correcte de l'outil pour MSBuild qui est 4,0

<tasks> 
    <msbuild> 
    <executable>**C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe**</executable> 
    <workingDirectory></workingDirectory> 
    <projectFile></projectFile> 
    <buildArgs>/noconsolelogger </buildArgs> 
    <targets>RunFxcop</targets> 
    <logger>C:\Program Files\CruiseControl.NET\Server\ThoughtWorks.CruiseControl.MsBuild.dll</logger> 
    <timeout>3600</timeout> 
    </msbuild> 
</tasks> 
0

Si vous utilisez une invite de commande Visual Studio pour exécuter MSBuild, assurez-vous qu'il est un « Invite Visual Studio Commande (2010) »

+0

j'ai spécifié dans la question et ma réponse que j'utilisais MSBUILD – Doug

+0

Je voulais dire msbuild devrait être exécuté à partir de l'invite de commande Visual Studio appropriée. Si vous exécutez accidentellement une invite de commande VS 2008 au lieu de 2010, vous obtiendrez MSBUILD 3 et des erreurs étranges se produiront. – user281806

0

J'utilisais Nant sur une ancienne solution et j'avais besoin de mettre la version Fx dans nant

<property name="nant.settings.currentframework" value="net-4.0" />