2010-09-12 49 views
5

我在過程中或升級我的CI配置Web部署項目2010(2008年)與Web部署奇怪的問題項目2010

我正在歌廳一個非常奇怪的問題都靈構建如下 - 我」我一直在研究它幾個小時沒有解決,並開始認爲問題在別處...)

C:\ Program Files文件(x86)\ MSBuild \微軟\ WebDeployment \ v10.0 \在條件''$(_ ExcludeWAPBaseIntermediateOutputPath)'=='' And!$([Syst())中找到了字符位置174處的一個意外標記「)」:Microsoft.WebDeployment.targets(103,46):error MSB4092: em.IO.Path] :: IsPathRooted($(_ ExcludeWAPBaseIntermediateOutputPath)))」。

回答

0

雖然我已經選擇使用MSBUILD版本4和MSBUILD工具4.0仍然失敗 - 在升級至TeamCity的最新版本的所有問題就走了:)

1

出於藍色,我認爲你的CI服務器不使用MSBuild來運行Build,所以不能識別屬性函數$([System.IO.Path]::IsPathRooted(...)

檢查MSBuild 4是否是CI服務器使用的版本。

+0

我認爲這與我使用的舊版本的teamcity有關。 – Doug 2010-09-12 10:51:48

+0

P.s致謝回覆:-) – Doug 2010-09-12 10:52:51

10

我也面臨着同樣的問題。通過使用正確的工具版本的MSBuild解決的是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

如果您使用Visual Studio命令提示符下運行的MSBuild,確保它是一個「Visual Studio命令提示符(2010)」

+0

我在問題中指定了我的答案,我使用的是MSBUILD – Doug 2011-02-24 00:37:00

+0

我的意思是msbuild應該從相應的Visual Studio命令提示符運行。如果你不小心運行了VS 2008命令提示符而不是2010,你會得到MSBUILD 3,並且會出現奇怪的錯誤。 – user281806 2011-05-18 23:42:04

0

我在一箇舊的解決方案上使用南特,需要設置南行的Fx版本

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