构建项目tfs visual studio中构建路径中的持续集成错误

时间:2015-12-09 11:36:57

标签: visual-studio tfs continuous-integration

我正在尝试创建Continuous Integration - CI。我在构建运行后使用build.projCI期间构建项目时出现以下错误

C:\Builds\3\ADSVC\HCMS - Continues Integration\src\build.proj (22): The command ""C:\Builds\3\ADSVC\HCMS - Continues Integration\src\.nuget\NuGet.exe" restore "C:\Builds\3\ADSVC\HCMS - Continues Integration\src\HCMS.sln"" exited with code 1

C:\Builds\3\ADSVC\HCMS - Continues Integration\src\build.proj但文件夹3中的问题未包含在Builds文件夹中我只有一个名为1的文件夹,而传递是C:\Builds\1\ADSVC\HCMS - Continues Integration\src\build.proj构建成功< / p>

我在Working Directory TFS Build Agent

中拥有以下属性$(SystemDrive)\Builds\$(BuildAgentId)\$(BuildDefinitionPath)

提示我将$(BuildAgentId)更改为$(BuildAgentName),但它没有工作,没有文件夹

我的 Build.proj 如下

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

   <PropertyGroup>
        <ProjectPath>$(SystemDrive)\Builds1\$(BuildAgentId)\$(BuildDefinitionPath)
   </ProjectPath>
   <OutDir Condition=" '$(OutDir)'=='' ">$(MSBuildThisFileDirectory)bin\      
   </OutDir>
   <Configuration Condition=" '$(Configuration)'=='' ">Release</Configuration>
   <SourceHome Condition=" '$(SourceHome)'=='' ">$(MSBuildThisFileDirectory)src\</SourceHome>
   <ToolsHome Condition=" '$(ToolsHome)'=='' ">$(MSBuildThisFileDirectory).nuget\</ToolsHome>
  </PropertyGroup>


  <ItemGroup>
    <Solution Include="$(SourceHome)*.sln">
     <AdditionalProperties>OutDir=$(OutDir);Configuration=$(Configuration)</AdditionalProperties>
  </Solution>
 </ItemGroup>

 <Target Name="RestorePackages">
    <Exec Command="&quot;$(ToolsHome)NuGet.exe&quot; restore &quot;$(MSBuildThisFileDirectory)HCMS.sln&quot;" />
 </Target>

  <Target Name="Clean">
    <MSBuild Targets="Clean"
         Projects="@(Solution)" />
   </Target>

  <Target Name="Build" DependsOnTargets="RestorePackages">
    <MSBuild Targets="Build"
         Projects="@(Solution)" />
  </Target>

  <Target Name="Rebuild" DependsOnTargets="RestorePackages">
     <MSBuild Targets="Rebuild"
         Projects="@(Solution)" />
   </Target>


 </Project>

1 个答案:

答案 0 :(得分:0)

$(BuildAgentName)没有参数。每次创建构建控件的构建代理时。 TFS将在托管代理的计算机上的构建下自动创建名为AgentID的文件夹。如果删除代理并读取它。 AgentID也将是一个新的。

必须有一个具有agentID 3的代理。不在本地计算机上,应该在其他计算机上。不确定为什么CI构建会将您的解决方案复制到代理工作文件夹C:\ Builds \ 3。

尝试此解决方法:在代理计算机上删除C:\ Build并重建它。它将重新创建一个新的检查是否得到相同的错误。

<强>更新

通常我们不需要更改Build.proj,可以通过构建过程实现大多数自定义。除非在TFS2005或TFS2008中使用。

首先,尝试创建一个新项目并将其构建为检查Build.proj是否导致此错误

如果您在代理属性的工作目录中更改了$(SystemDrive)\Builds1\$(BuildAgentId)\$(BuildDefinitionPath),那么现在使用此代理的所有其他构建将更改为C:\ Builds1 \ 1 \ xxx

如果您没有更改该值,由于您搞乱了工作目录文件夹,您可以删除代理计算机(服务器)上的C:\ builds ,它会自动重新创建一个当您触发代理的新构建时,新的。