TFS生成错误:TF215097-输入字典中的以下键未映射到参数,必须删除

TFS生成错误:TF215097-输入字典中的以下键未映射到参数,必须删除,tfs,build-process,tfsbuild,build-process-template,Tfs,Build Process,Tfsbuild,Build Process Template,从生成模板中删除几个参数并更新相应的生成定义后,我收到以下错误: TF215097: An error occurred while initializing a build for build definition \Automated Deployments\AutoDeploy-Kentico-Test: Exception Message: The values provided for the root activity's arguments did not satisfy

从生成模板中删除几个参数并更新相应的生成定义后,我收到以下错误:

    TF215097: An error occurred while initializing a build for build definition \Automated Deployments\AutoDeploy-Kentico-Test:
Exception Message: The values provided for the root activity's arguments did not satisfy the root activity's requirements:
'DynamicActivity': The following keys from the input dictionary do not map to arguments and must be removed: ServerDeploymentScriptLocation, DestinationBinDirectory.  Please note that argument names are case sensitive.
Parameter name: rootArgumentValues (type ArgumentException)
Exception Stack Trace:    at System.Activities.Validation.ActivityValidationServices.ValidateRootInputs(Activity rootActivity, IDictionary`2 inputs)
   at System.Activities.Hosting.WorkflowInstance.InitializeCore(IDictionary`2 workflowArgumentValues, IList`1 workflowExecutionProperties)
   at System.Activities.Hosting.WorkflowInstance.Initialize(IDictionary`2 workflowArgumentValues, IList`1 workflowExecutionProperties)
   at System.Activities.WorkflowApplication.EnsureInitialized()
   at System.Activities.WorkflowApplication.Enqueue(InstanceOperation operation, Boolean push)
   at System.Activities.WorkflowApplication.WaitForTurn(InstanceOperation operation, TimeSpan timeout)
   at System.Activities.WorkflowApplication.InternalRun(TimeSpan timeout, Boolean isUserRun)
   at Microsoft.TeamFoundation.Build.Hosting.BuildWorkflowInstance.Start()
   at Microsoft.TeamFoundation.Build.Hosting.BuildWorkflowManager.TryStartWorkflow(WorkflowRequest request, WorkflowManagerActivity activity, BuildWorkflowInstance& workflowInstance, Exception& error, Boolean& syncLockTaken) 
显然,TFS很生气,因为“输入字典”中有一些键不应该存在,这可能是因为我删除了它们。问题是,我不知道TFS在哪里找到了不应该找到的值


如何更正此错误?

我想我在删除生成定义的参数时遇到了类似的问题,但生成定义仍然保留了参数的默认值。我建议尝试:

  • 将参数放回构建定义中
  • 编辑生成定义并删除参数的默认值,使其为空
  • 再次删除参数
  • 您还可以尝试在生成模板的xaml中搜索以下值:

    • ServerDeploymentScriptLocation
    • 目的地目录

    从构建过程模板中删除参数时,我遇到了相同的问题。使用更新模板的现有生成定义报告了相同的错误,但在更新定义后,问题消失了。我只是编辑了一个值,然后将其更改回去并保存了定义。

    已从生成模板XAML文件中删除了一个或多个参数,在本例中为ServerDeploymentScriptLocation和DestinationBinDirectory

    但是,该参数及其值仍存在于TFS的生成定义数据库中

    要解决此问题,需要刷新并保存生成模板定义。在“流程”选项卡中,有一个刷新按钮,用于重新加载和刷新生成定义,然后可以保存该定义

    为此:

  • 在团队探索中,选择构建

  • 在“所有生成定义”下,选择要修复的生成,右键单击“编辑生成定义”

  • 在左窗格中,选择“流程”

  • 在右侧窗格中,有一个标有“Build process template”的带边框区域,其右侧有一个“Show details”选项。按向下箭头展开该部分

  • 按刷新按钮。(在我的例子中,我真的很迂腐,选择了另一个构建定义,保存了它,然后重新选择了原始定义,然后重新保存)

  • 启动另一个构建


  • 来源:

    谢谢您的回复。我通过添加变量修复了构建。我还没有尝试再次删除它们,我有点害怕这样做。到目前为止,TFS给了我一个宝贵的教训:不要试图学习这个工具。这一过程中没有任何事情是顺利的。再次感谢你的帮助。