2010-04-13 79 views
4

我需要一些帮助,以前我创建的MSBuild文件。TeamCity MSBuild 4.0帮助

所有我想要做的是构建解决方案,发布解决方案中的一个项目,比文件复制到目录

在那一刻,我设置的TeamCity到.NET 4的MSBuild,MSBuild的4.0工具和86我得到一个错误,说明

错误MSB4067:元素<ItemDefinitionGroup>元素下<Project>是无法识别的。


<?xml version="1.0" encoding="utf-8" ?> 
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="Run"> 

    <Import Project="$(MSBuildExtensionsPath)\MSBuildCommunityTasks\MSBuild.Community.Tasks.Targets"/> 

    <Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets"/> 

    <PropertyGroup> 
    <OutputFolder>$(OutputDir)</OutputFolder> 
    <DeploymentFolder>$(DeploymentDir)</DeploymentFolder> 
    <CompilationDebug /> 
    <CustomErrorsMode /> 
    <ContentEditorsEmail /> 
    <AdministratorsEmail /> 
    </PropertyGroup> 

    <Target Name="Run"> 
    <CallTarget Targets="Compile" /> 
    <CallTarget Targets="Publish" /> 
    <CallTarget Targets="Deploy" /> 
    </Target> 

    <Target Name="Clean"> 
    <ItemGroup> 
     <BinFiles Include="bin\*.*" /> 
    </ItemGroup> 
    <Delete Files="@(BinFiles)" /> 
    </Target> 

    <Target Name="Compile" DependsOnTargets="Clean"> 
    <MSBuild Projects="WebCanvas.ZakisCatering.Website.sln" 
     Properties="Configuration=Release"/> 
    </Target> 

    <Target Name="Publish"> 
    <RemoveDir Directories="$(OutputFolder)" ContinueOnError="true" /> 
    <MSBuild Projects="WebCanvas.ZakisCatering.Website\WebCanvas.ZakisCatering.Website.csproj" 
      Targets="ResolveReferences;_CopyWebApplication" 
      Properties="Configuration=Release;WebProjectOutputDir=$(OutputFolder);OutDir=$(WebProjectOutputDir)\" /> 
    </Target> 

    <Target Name="Deploy"> 
    <RemoveDir Directories="$(DeploymentFolder)" 
       ContinueOnError="true" /> 
    <ItemGroup> 
     <DeploymentFiles Include="$(OutputFolder)\**\*.*" /> 
    </ItemGroup> 
    <Copy SourceFiles="@(DeploymentFiles)" 
      DestinationFolder="$(DeploymentFolder)\%(RecursiveDir)" /> 
    </Target> 

</Project> 

回答

8

我收到错误代码也一样,虽然抱怨不同的元素:

错误MSB4067:元素<ArtifactAssemblies>元素下<ItemGroup>是无法识别的。

我注意到Teamcity正在调用MSBuild的2.0版本,这可以解释为什么msbuild正在与xml一起挣扎。

'C:\ WINDOWS \ Microsoft.NET \框架\ V2.0.50727 \ MSBuild.exe' “@“d:\ BuildAgent \工作\ 2f016459feee51ce \建立\ BuildSolution.msbuild.teamcity.msbuild.tcargs “ ”d:\ BuildAgent \工作\ 2f016459feee51ce \构建\ BuildSolution.msbuild.teamcity.patch.tcprojx“” 工作DIR = 'd:\ BuildAgent \工作\ 2f016459feee51ce' 微软(R)构建引擎版本 2.0 .50727.4016 [Microsoft .NET Framework,Version 2.0.50727.4200]

我通过添加到。\ c中修复了2.0 msbuild问题ONF \ buildagent.properties球队我市建设代理计算机上的文件,如下:

env.MSBuild=%system.DotNetFramework4.0_x86_Path% 

重新启动后和问题解决的服务。

+1

工作先去:d 仅供参考他人\ CONF在上安装指定的生成文件夹中找到:d – 2010-04-15 12:51:28

+0

的TeamCity 7+支持构建亚军具体的MSBuild版本:寻找“MSBuild的版本:”在建的MSBuild步 – 2013-04-24 20:07:34

1

不幸的是,他们没有打包WebApplications目标。 我无法找到一个没有安装VS的打包这些目标的SDK ......没办法。 我不明白为什么MS让CI如此困难。

相关问题