3

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

    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 在哪里找到了它不应该找到的值。

如何纠正这个错误?

4

3 回答 3

3

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

  1. 将参数放回构建定义中
  2. 编辑构建定义并删除参数的默认值,使其为空
  3. 再次删除参数。

您还可以尝试在构建模板的 xaml 中搜索以下值:

  • 服务器部署脚本位置
  • 目的地Bin目录
于 2013-11-01T20:58:39.987 回答
3

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

于 2014-01-16T09:39:18.003 回答
0

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

但是,该参数及其值仍然存在于 TFS 的构建定义数据库中。

要解决此问题,需要刷新并保存构建模板定义。在进程选项卡中,有一个刷新按钮,它将重新加载和刷新构建定义,之后可以保存它。

去做这个:

  1. 在团队探索中,选择构建。

  2. 在“所有构建定义”下,选择要修复的构建,右键单击“编辑构建定义”

  3. 在左侧窗格中,选择“处理”。

  4. 在右侧窗格中,有一个标有“构建流程模板”的边框区域,其右侧是一个“显示详细信息”选项。按向下箭头展开该部分。

刷新构建过程模板

  1. 按刷新按钮。(在我的情况下,我真的很迂腐,选择了另一个构建定义,保存它,然后重新选择原始定义,然后重新保存)。

  2. 启动另一个构建。

资料来源: http: //geekswithblogs.net/jakob/archive/2010/04/21/getting-tf215097-error-after-modifying-a-build-process-template-in.aspx

于 2015-02-04T19:33:00.877 回答