我正在使用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)
答案 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部分。