首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >构建项目tfs visual studio中生成路径中的持续集成错误

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

Stack Overflow用户
提问于 2015-12-09 11:36:56
回答 1查看 878关注 0票数 0

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

代码语言:javascript
复制
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是构建成功的

另外,我在TFS Build Agent $(SystemDrive)\Builds\$(BuildAgentId)\$(BuildDefinitionPath)中具有以下属性

提示我将$(BuildAgentId)更改为$(BuildAgentName),它也不起作用--没有文件夹

我的Build.proj如下

代码语言:javascript
复制
<?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>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-12-10 12:34:50

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

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

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

更新

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

首先,尝试创建一个新的porject并将其构建为,检查您的Build.proj是否导致了这个错误

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

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34177864

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档