我正在尝试创建一个Continuous Integration - CI。在构建运行后,我使用build.proj在CI期间构建项目,出现以下错误
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 1C:\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如下
<?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=""$(ToolsHome)NuGet.exe" restore "$(MSBuildThisFileDirectory)HCMS.sln"" />
</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>发布于 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,当您触发代理的新构建时,它将自动重新创建一个新的。
https://stackoverflow.com/questions/34177864
复制相似问题