Visual studio 2012 TFS 2012生成定义:要生成的参数项:无法转换值Microsoft.TeamFoundation.build.Workflow.Activities.BuildSettings
在对我的构建模板进行了大量编辑之后(为了避免任何问题,我在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进行对比。)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
如何修复?打开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后,它再次工作。