Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Msbuild 2010年Web部署项目的奇怪问题_Msbuild_Continuous Integration_Web Deployment Project - Fatal编程技术网

Msbuild 2010年Web部署项目的奇怪问题

Msbuild 2010年Web部署项目的奇怪问题,msbuild,continuous-integration,web-deployment-project,Msbuild,Continuous Integration,Web Deployment Project,我正在将CI配置升级到Web部署项目2010(从2008年起) 我在构建过程中遇到了一个非常奇怪的问题,如下所示-我已经研究了几个小时,但没有解决,我开始认为这个问题在别处…) C:\Program Files(x86)\MSBuild\Microsoft\WebDeployment\v10.0\Microsoft.WebDeployment.targets(103,46):错误MSB4092:在条件“$(\u ExcludeWapBaseIntermediateOutput)”==”中的字符位

我正在将CI配置升级到Web部署项目2010(从2008年起)

我在构建过程中遇到了一个非常奇怪的问题,如下所示-我已经研究了几个小时,但没有解决,我开始认为这个问题在别处…)

C:\Program Files(x86)\MSBuild\Microsoft\WebDeployment\v10.0\Microsoft.WebDeployment.targets(103,46):错误MSB4092:在条件“$(\u ExcludeWapBaseIntermediateOutput)”==”中的字符位置174处找到了“意外标记”)” 和!$([System.IO.Path]::IsPathRooted($(_ExcludeWAPBaseIntermediateOutputPath)))


突然,我认为您的CI服务器没有使用MSBuild运行生成,因此无法识别属性函数
$([System.IO.Path]::IsPathRooted(…)


检查MSBuild 4是否是您的CI服务器使用的版本。

虽然我选择使用MSBuild 4版和MSBuild tools 4.0,但仍然失败-升级到TeamCity的最新版本后,所有问题都消失了:)

我也面临着同样的问题。通过为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>

**C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe**
/noconsolelogger
RunFxcop
C:\Program Files\CruiseControl.NET\Server\ThoughtWorks.CruiseControl.MsBuild.dll
3600

如果使用Visual Studio命令提示符运行MSBuild,请确保它是“Visual Studio命令提示符(2010)”

我在旧解决方案上使用了Nant,需要在Nant中设置Fx版本

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


我认为这与我使用的teamcity的旧版本有关。我在问题和回答中指定我使用的是msbuild。我的意思是应该从相应的Visual Studio命令提示符运行msbuild。如果意外地运行VS 2008命令提示符而不是2010命令提示符,则会得到MSBUILD 3,并会出现奇怪的错误。