5

i in dem Prozess ist oder ein Upgrade meine CI-Konfiguration Web Deployment-Projekte 2010 (ab 2008)Sonderbare Problem mit Web Deployment-Projekten 2010

Ich bin ein wirklich seltsames Problem durin Build Geting wie unten gezeigt - i‘ bereits in keinen Entschluß hinein aa paar Stunden suchen, und fangen das Problem zu denken ist an anderer Stelle ...)

C: \ Program Files (x86) \ MSBuild \ Microsoft \ WebDeployment \ v10.0 \ Microsoft.WebDeployment.targets (103, 46): Fehler MSB4092: Ein unerwartetes Token ")" wurde an der Zeichenposition 174 in der Bedingung "'$ (_ ExcludeWAPBaseIntermediateOutputPath)" ==' ' And! $ ([Syst em.IO.Path] :: IsPathRooted ($ (_ ExcludeWAPBaseIntermediateOutputPath))) ".

Antwort

0

Obwohl ich ausgewählt hatte MSBUILD Version 4 und die MSBUILD Tools 4.0 es noch immer nicht nutzen - auf ein Upgrade auf die neueste Version von Teamcity alle Fragen gingen weg :)

1

Aus heiterem Himmel, ich denke, dass Ihr CI-Server nicht MSBuild nicht verwenden, um die Build-laufen, so dass die Eigenschaftsfunktion $([System.IO.Path]::IsPathRooted(...) wird nicht erkannt.

Überprüfen Sie, ob MSBuild 4 die Version ist, die von Ihrem CI-Server verwendet wird.

+0

Ich denke, das hat etwas mit der alten Version von Teamcity zu tun, die ich verwendet habe. – Doug

+0

P. s danke für die Mühe der Antwort :-) – Doug

10

Ich war auch das gleiche Problem gegenüber. Gelöst durch richtiges Werkzeug Version für MSBuild verwendet, die ist 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

Wenn Sie eine Visual Studio-Eingabeaufforderung verwenden MSBuild zu laufen, stellen Sie sicher, dass es eine „Visual Studio-Eingabeaufforderung (2010)“ ist

+0

ich in der Frage und meine Antwort angegeben, dass ich MSBUILD – Doug

+0

ich meinte Msbuild sollte von der entsprechenden Visual Studio Command Prompt ausgeführt werden. Wenn Sie versehentlich eine VS 2008-Eingabeaufforderung anstelle von 2010 ausführen, erhalten Sie MSBUILD 3 und seltsame Fehler auftreten. – user281806

0

Ich benutzte Nant auf einer alten Lösung und musste die Fx-Version in nant setzen

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