项目中多个构建模板(xaml文件)的问题

gng*_*gng 7 tfs build-process tfs2012

我的TFS Build项目遇到了问题.就在VS中设置项目而言,我是从这里开始的示例.

我有一个仅用于自定义活动的项目和一个仅用于模板的单独项目.我遇到的问题是Templates项目只能包含一个xaml文件.如果我复制并将其粘贴到同一个项目中,它就不会构建.我收到以下错误:

错误102在"Resources"参数中多次指定项"obj\Debug\TfsBuild_Process_BeforeInitializeComponentHelper.txt"."Resources"参数不支持重复项.

但如果我删除它,它会建立得很好.一切正常,这意味着如果我对构建进行排队,它就会构建.

我也试过这里建议的解决方案,但它似乎没有解决我的问题.

解:

在解决方案资源管理器中重命名表单名称.

更改.cs和Designer.cs文件中的类名.

更改构造函数和析构函数名称(与类名称相同)

更改名称空间名称(如果需要).

是下载项目的链接.

我似乎无法弄清楚为什么.任何帮助是极大的赞赏!

llM*_*Mll 8

我不知道你是否还有这个问题,但我今天也遇到了这个问题.我找到了一个解决方案(如果你仍然面临问题)可以帮助你或其他人.

复制Build Process模板时,它会自动将x:Class属性设置为TfsBuild.Process.当您有多个具有相同值的流程模板时,您将在构建项目时遇到此错误.

<Activity mc:Ignorable="sads sap sap2010" x:Class="TfsBuild.Process" this:Process.BuildNumberFormat="$(BuildDefinitionName)_$(Date:yyyyMMdd)$(Rev:.r)" this:Process.AgentSettings="[New Microsoft.TeamFoundation.Build.Workflow.Activities.AgentSettings() With {.MaxWaitTime = New System.TimeSpan(4, 0, 0), .MaxExecutionTime = New System.TimeSpan(0, 0, 0), .TagComparison = Microsoft.TeamFoundation.Build.Workflow.Activities.TagComparison.MatchExactly}]" this:Process.Verbosity="[Microsoft.TeamFoundation.Build.Workflow.BuildVerbosity.Normal]" this:Process.OutputFullHistory="True" this:Process.OutputBranchOrigin="True" this:Process.OnlyOutputChangedFiles="True" this:Process.StartChangeset="0"...... 
Run Code Online (Sandbox Code Playgroud)

我通过用每个模板的另一个名称替换TfsBuild.Process解决了这个问题(例如TfsBuild.ProcessLabDefault).请注意,您还应该更改此实例:Process,因为这两个实例是链接在一起的(例如:ProcessLabDefault).

<Activity mc:Ignorable="sads sap sap2010" x:Class="TfsBuild.MyProcess" this:MyProcess.BuildNumberFormat="$(BuildDefinitionName)_$(Date:yyyyMMdd)$(Rev:.r)" this:MyProcess.AgentSettings="[New Microsoft.TeamFoundation.Build.Workflow.Activities.AgentSettings() With {.MaxWaitTime = New System.TimeSpan(4, 0, 0), .MaxExecutionTime = New System.TimeSpan(0, 0, 0), .TagComparison = Microsoft.TeamFoundation.Build.Workflow.Activities.TagComparison.MatchExactly}]" this:MyProcess.Verbosity="[Microsoft.TeamFoundation.Build.Workflow.BuildVerbosity.Normal]" this:MyProcess.OutputFullHistory="True" this:MyProcess.OutputBranchOrigin="True" this:MyProcess.OnlyOutputChangedFiles="True" this:MyProcess.StartChangeset="0"...... 
Run Code Online (Sandbox Code Playgroud)

我找不到通过使用界面,查看代码和查找和替换工作来改变这种情况的方法.希望能帮助到你.


har*_*357 5

我使用了以下方法,但效果非常好.所有需要替换的是原始xaml第一行上的两个位置的TfsBuild.

http://social.msdn.microsoft.com/Forums/vstudio/en-US/d3fb6b89-b711-4a02-a10a-a88a0cb4f714/unable-to-add-more-than-one-templatexaml-into-activity-library-工作流的项目?论坛= tfsprocess

从链接:

1在"源代码管理"中右键单击"DefaultTemplate.xaml",然后选择"查看方式..."以在记事本中打开它(也可以右键单击VS中的模板并选择"查看代码").

2然后在第一行更改:

  1. **x:Class="TfsBuild.Process"****x:Class="YourProcessTemplateName.Process"**
  2. **xmlns:this="clr-namespace:TfsBuild"****xmlns:this="clr-namespace:YourProcessTemplateName"**