TFS 2013 Build:无法将解决方案/项目文件字段留空

时间:2015-07-16 20:50:32

标签: powershell tfs build tfsbuild tfs2013

我正在使用TFS 2013附带的构建过程模板(TfvcTemplate.12.xaml)。我想创建一个运行一堆PowerShell脚本的新构建定义;但是,我没有任何.NET构建。 TF构建似乎不喜欢这样。将解决方案/项目文件字段留空时,我收到以下错误。有没有办法解决这个问题?

  

TF215097:初始化构建定义的构建时发生错误\ MyProjectRoot \ MyBuildDefinition:

     

异常消息:

     

过程参数ProjectsToBuild是必需的,但未设置任何值。必须在定义上或构建排队时设置值(类别:#200 Build,Display Name:1。Projects)。 (输入ArgumentException)

     

异常堆栈跟踪:

at Microsoft.TeamFoundation.Build.Hosting.BuildWorkflowInstance.ValidateParameters(BuildWorkflowDefinition definition, IDictionary`2 passedInParameterValues) at Microsoft.TeamFoundation.Build.Hosting.BuildWorkflowInstance.Initialize(BuildWorkflowDefinition definition, IDictionary`2 dataContext) 
at Microsoft.TeamFoundation.Build.Hosting.BuildWorkflowManager.TryStartWorkflow(WorkflowRequest request, WorkflowManagerActivity activity, BuildWorkflowInstance& workflowInstance, Exception& error, Boolean& syncLockTaken)

3 个答案:

答案 0 :(得分:1)

在TFS 2015(或Visual Studio Online)中,新的TFS Build系统不再具有此限制。

在TFS 2013中我经常做的事情(为了避免不得不使用工作流),只提供一个无效的虚拟MSBuild .proj文件。

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" InitialTargets="Build">
  <Target Name="Build">
    <Message Text="This MSBuild is a placeholder and does nothing" /> 
  </Target>
</Project>

答案 1 :(得分:1)

Dylan解决方案的替代方案,但我做的非常类似于在visual studio中创建一个空的解决方案文件(.sln),并在构建定义/工作流程中提及。

答案 2 :(得分:0)

您需要创建自己的流程模板(您可能会从标准模板中偷走很多),并且您需要删除Run MsBuild for Project活动以及定义的参数特别针对该活动(这将是相当多的默认模板)。

这应该允许您直接跳转到powershell部分。