Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 2012 TFS 2012生成定义:要生成的参数项:无法转换值Microsoft.TeamFoundation.build.Workflow.Activities.BuildSettings_Visual Studio 2012_Build_Build Definition - Fatal编程技术网

Visual studio 2012 TFS 2012生成定义:要生成的参数项:无法转换值Microsoft.TeamFoundation.build.Workflow.Activities.BuildSettings

Visual studio 2012 TFS 2012生成定义:要生成的参数项:无法转换值Microsoft.TeamFoundation.build.Workflow.Activities.BuildSettings,visual-studio-2012,build,build-definition,Visual Studio 2012,Build,Build Definition,在对我的构建模板进行了大量编辑之后(为了避免任何问题,我在2012年重新创建了它们。)但我想我可能变得草率,只是简单地复制/粘贴了旧工作流中的整个块,我想这一定完全破坏了我的版本控制。现在,我在基于我编辑的构建模板的一个构建定义上遇到了问题。(所有其他的似乎都工作得很好..所以我想其中一个在所有的编辑过程中都遇到了问题。(我主要是在构建模板中添加和删除Version=11.0.0.0的程序集)) 确切的错误是: 要生成的参数项:无法转换值 的“Microsoft.TeamFoundation.B

在对我的构建模板进行了大量编辑之后(为了避免任何问题,我在2012年重新创建了它们。)但我想我可能变得草率,只是简单地复制/粘贴了旧工作流中的整个块,我想这一定完全破坏了我的版本控制。现在,我在基于我编辑的构建模板的一个构建定义上遇到了问题。(所有其他的似乎都工作得很好..所以我想其中一个在所有的编辑过程中都遇到了问题。(我主要是在构建模板中添加和删除Version=11.0.0.0的程序集))

确切的错误是:

要生成的参数项:无法转换值 的“Microsoft.TeamFoundation.Build.Workflow.Activities.BuildSettings” 键入Microsoft.TeamFoundation.Build.Workflow.Activities.BuildSettings 打字 Microsoft.TeamFoundation.Build.Workflow.Activities.Buildsettings, 重置为默认值

当编辑生成定义并希望选择要生成的项目/解决方案和配置时,将显示此对话框。事实上,现在我无法保存(没有错误),并且该值再次被删除

(我使用VS 2012(VS 2010仍在安装)与TFS 2012进行对比。)


如何修复?

打开XAML,查看
活动
根节点上的
xmlns

这是我的剪贴版:

<Activity mc:Ignorable="sads sap sap2010" <!--Removed-->
 xmlns="http://schemas.microsoft.com/netfx/2009/xaml/activities"
 xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
 xmlns:mt="clr-namespace:Microsoft.TeamFoundation;assembly=Microsoft.TeamFoundation.Common"
 xmlns:mtbc="clr-namespace:Microsoft.TeamFoundation.Build.Client;assembly=Microsoft.TeamFoundation.Build.Client"
 xmlns:mtbw="clr-namespace:Microsoft.TeamFoundation.Build.Workflow;assembly=Microsoft.TeamFoundation.Build.Workflow"
 xmlns:mtbwa="clr-namespace:Microsoft.TeamFoundation.Build.Workflow.Activities;assembly=Microsoft.TeamFoundation.Build.Workflow"
 xmlns:mtbwt="clr-namespace:Microsoft.TeamFoundation.Build.Workflow.Tracking;assembly=Microsoft.TeamFoundation.Build.Workflow"
 xmlns:mttbb="clr-namespace:Microsoft.TeamFoundation.TestImpact.BuildIntegration.BuildActivities;assembly=Microsoft.TeamFoundation.TestImpact.BuildIntegration"
 xmlns:mtvc="clr-namespace:Microsoft.TeamFoundation.VersionControl.Client;assembly=Microsoft.TeamFoundation.VersionControl.Client"
 xmlns:mtvc1="clr-namespace:Microsoft.TeamFoundation.VersionControl.Common;assembly=Microsoft.TeamFoundation.VersionControl.Common"

以下是如何更改TFS模板中的程序集:

  • 在源代码管理资源管理器中,浏览到BuildprocessTemplates和 打开(双击或从右键单击菜单中选择“查看”) 构建所基于的模板(提供上述内容的模板) (错误)
  • 您应该会看到工作流的可视化图表。底部是 三个选项卡:变量、参数和导入。点击参数
  • 选择BuildSettings参数
  • 找到属性框。参数的属性包括: ArgumentType、方向、IsRequired、名称和值
  • Microsoft.TeamFoundation.Build.Workflow.Activities.BuildSettings 应为所选类型,但问题是(典型的)您不能 说明选择了此程序集的哪个版本。单击下拉菜单 放下
  • 在列表底部选择“浏览类型…”
现在您可以看到所有可用的程序集及其版本。选择您想要的,最有可能升级到最新版本。一定要检查所有的各种参数,并确保它们的类型都设置为相同的版本,以确保兼容性

现在保存文件时可能会遇到问题。一切似乎都没问题。TFS表示它知道文件已更改,签入似乎进行得很顺利,但当文件打开时,程序集仍然反映v10。如果从文件系统中打开同一个文件,您可能会发现文件中的程序集实际上是v11。给什么?不知道。VS中的一些小故障

但这里有一个解决办法:

卸载VS 2010 Team Foundation服务器动力工具 显影机
  • 打开VS 2012,确保模板没有挂起的更改(撤消),并获取最新版本
  • 签出进行编辑(重要),但不要在VS(it)中进行任何更改 无论如何都不会打开,因为10个程序集已在中卸载 上一步)
  • 关闭VS 2012(很重要,因为如果打开它,则显示您的更改未被接受)
  • 从文件系统中打开模板(我使用记事本消除VS的任何干扰),对“Version=10.0.0.0”和“Version=11.0.0.0”执行查找/替换,并保存文件
  • 打开VS 2012,现在您应该能够看到工作流设计器
  • 当然,签入文件

  • 已经这样做了——模板似乎没有问题,因为它是正确的(我已经尝试了几个版本,有版本和没有版本)。可能是由于在同一模板上构建的其他定义起作用,所以实际定义间歇性地被破坏。另一方面,在重新启动studio后,它再次工作。