2010-09-12 39 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" />