TFS 2013 Build:无法将 solution/project 文件字段留空

TFS 2013 Build: Cannot leave solution/project files field blank

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

TF215097: An error occurred while initializing a build for build definition \MyProjectRoot\MyBuildDefinition:

Exception Message:

The process parameter ProjectsToBuild is required but no value was set. A value must be set on the definition or when the build is queued (Category: #200 Build, Display Name: 1. Projects). (type ArgumentException)

Exception Stack Trace:

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)

您需要创建自己的流程模板(您可能可以从标准模板中窃取很多),并且您还需要删除 Run MsBuild for Project activity作为专门为该 activity 定义的参数(这将是相当多的默认模板)。

这应该可以让您直接跳转到 powershell 部分。

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

在 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>

Dylan 解决方案的替代方案,但与我所做的非常相似的是在 visual studio 中创建一个空的解决方案文件 (.sln) 并在构建 definition/workflow.[=10 中提及它=]