2017-04-18 179 views
0

我使用TFS2017模板中工作流中的代碼活動實現來定製構建流程活動。不幸的是我必須要使用此代碼的活動在2010年TFS 我有,當我「複製/粘貼」我從TFS2017到TFS2010模板保持代碼活動的結構,這個錯誤:TFS - 使用從TFS 2017到TFS 2010的模板[遷移TFS 2017到2010]

TF215097: An error occurred while initializing a build for build definition \BCA3\BP8BA: The type ‘InArgument(mtbc:BuildParameter[])’ of property ‘AutomatedTests’ could not be resolved. 

我的結構TFS2017:

enter image description here

用於自定義活動TFS2017

enter image description here

將溶液

在TFS2017工作流(自定義活動被稱爲下面CopyActivity):

enter image description here

如何管理呢?

編輯:錯誤與模板TFS2010和VS2017:

構建過程驗證失敗。詳細信息:驗證錯誤:活動「1:DynamicActivity」的私有實現具有以下驗證錯誤:編譯器錯誤遇到處理表達式「BuildDetail.BuildNumber」。類型'IBuildDetail'未定義。驗證錯誤:活動「1:DynamicActivity」的私有實現具有以下驗證錯誤:編譯器錯誤遇到處理表達式「DropBuild並且不是String.IsNullOrEmpty(BuildDetail.DropLocation)」。類型'IBuildDetail'未定義。驗證錯誤:活動「1:DynamicActivity」的私有實現具有以下驗證錯誤:編譯器錯誤遇到處理表達式「BuildDetail.DropLocation」。類型'IBuildDetail'未定義。驗證錯誤:活動「1:DynamicActivity」的私有實現具有以下驗證錯誤:編譯器錯誤遇到處理表達式「BuildDetail.BuildNumber」。類型'IBuildDetail'未定義。驗證錯誤:活動「1:DynamicActivity」的私有實現具有以下驗證錯誤:編譯器錯誤遇到處理表達式「BuildDetail.BuildDefinition.Name」。類型'IBuildDetail'未定義。驗證錯誤:活動「1:DynamicActivity」的私有實現具有以下驗證錯誤:編譯器錯誤遇到處理表達式「associatedChangesets」。類型'Changeset'未定義。驗證錯誤:活動「1:DynamicActivity」的私有實現具有以下驗證錯誤:編譯器錯誤遇到處理表達式「associatedChangesets」。類型'Changeset'未定義。驗證錯誤:活動「1:DynamicActivity」的私有實現具有以下驗證錯誤:編譯器錯誤遇到處理表達式「treatTestFailureAsBuildFailure和(BuildDetail.TestStatus = Microsoft.TeamFoundation.Build.Client.BuildPhaseStatus.Failed)」。類型'IBuildDetail'未定義。 '客戶'不是'Build'的成員。驗證錯誤:活動「1:DynamicActivity」的私有實現具有以下驗證錯誤:編譯器錯誤遇到處理表達式「BuildDetail.TestStatus = Microsoft.TeamFoundation.Build.Client.BuildPhaseStatus.Unknown」。類型'IBuildDetail'未定義。 '客戶'不是'Build'的成員。驗證錯誤:活動'1:DynamicActivity'的私有實現具有以下驗證錯誤:編譯器錯誤遇到處理表達式「BuildDetail.CompilationStatus = Microsoft.TeamFoundation.Build.Client.BuildPhaseStatus.Unknown」。類型'IBuildDetail'未定義。 '客戶'不是'Build'的成員。驗證錯誤:活動「1:DynamicActivity」的私有實現具有以下驗證錯誤:編譯器錯誤遇到處理表達式「testAssemblies.Count()> 0」。 「計數」不是「系統」的成員。Collections.Generic.IEnumerable(Of String)'。驗證錯誤:活動「1:DynamicActivity」的私有實現具有以下驗證錯誤:編譯器錯誤遇到處理表達式「BuildDetail.RequestedFor」。類型'IBuildDetail'未定義。驗證錯誤:活動「1:DynamicActivity」的私有實現具有以下驗證錯誤:編譯器錯誤遇到處理表達式「String.Format(」Build Build in Build:{0}「,BuildDetail.BuildNumber)」「。類型'IBuildDetail'未定義。驗證錯誤:活動「1:DynamicActivity」的私有實現具有以下驗證錯誤:編譯器錯誤遇到處理表達式「Not String.IsNullOrEmpty(BuildDetail.DropLocation)」。類型'IBuildDetail'未定義。驗證錯誤:活動「1:DynamicActivity」的私有實現具有以下驗證錯誤:編譯器錯誤遇到處理表達式「if(platformConfiguration.IsEmpty或BuildSettings.PlatformConfigurations.Count = 1,BuildDetail.DropLocation +」\ logs「 ,如果(platformConfiguration.IsPlatformEmptyOrAnyCpu,BuildDetail.DropLocation +「\ logs \」+ platformConfiguration.Configuration,BuildDetail.DropLocation +「\ logs \」+ platformConfiguration.Platform +「\」+ platformConfiguration.Configuration))「。類型'IBuildDetail'未定義。類型'IBuildDetail'未定義。類型'IBuildDetail'未定義。驗證錯誤:活動「1:DynamicActivity」的私有實現具有以下驗證錯誤:編譯器錯誤遇到處理表達式「String.Format(」{0} @ $/{1}「,LabelName,BuildDetail.BuildDefinition。 TeamProject)」。類型'IBuildDetail'未定義。驗證錯誤:活動「1:DynamicActivity」的私有實現具有以下驗證錯誤:編譯器錯誤遇到處理表達式「String.Format(」$/{0}「,BuildDetail.BuildDefinition.TeamProject)」「。類型'IBuildDetail'未定義。驗證錯誤:活動「1:DynamicActivity」的私有實現具有以下驗證錯誤:編譯器錯誤遇到處理表達式「WorkspaceName.Length> Microsoft.TeamFoundation.VersionControl.Common.RepositoryConstants.MaxWorkspaceNameSize」。 'VersionControl'不是'TeamFoundation'的成員。驗證錯誤:活動'1:DynamicActivity'的私有實現具有以下驗證錯誤:編譯器錯誤遇到處理表達式「WorkspaceName.Substring(0,Microsoft.TeamFoundation.VersionControl.Common.RepositoryConstants.MaxWorkspaceNameSize).TrimEnd() 」。 'VersionControl'不是'TeamFoundation'的成員。驗證錯誤:活動'1:DynamicActivity'的私有實現具有以下驗證錯誤:編譯器錯誤遇到處理表達式「String.Format(」工作空間名稱{0}'超出了允許的最大限制'{1 }'字符。截斷它以匹配最大限制。「,WorkspaceName,Microsoft.TeamFoundation.VersionControl.Common.RepositoryConstants.MaxWorkspaceNameSize)」。 'VersionControl'不是'TeamFoundation'的成員。驗證錯誤:活動「1:DynamicActivity」的私有實現具有以下驗證錯誤:編譯器錯誤遇到處理表達式「String.Format(」{0} {1} {2}「,BuildDetail.BuildDefinition.Id, Microsoft.TeamFoundation.LinkingUtilities.DecodeUri(BuildAgent.Uri.AbsoluteUri).ToolSpecificId,BuildAgent.ServiceHost.Name)「。類型'IBuildDetail'未定義。 'LinkingUtilities'不是'TeamFoundation'的成員。類型'IBuildAgent'未定義。類型'IBuildAgent'未定義。

非常感謝!

+0

你是如何「複製\粘貼」?您是否直接將模板簽入TFS 2010? –

+0

我的意思是我將自定義活動的解決方案添加到TFS2010中。我在TFS 2010中檢入模板。 – FrankVDB

+0

您是否在此鏈接中執行了最後一步(啓用您的自定義構建過程):https://msdn.microsoft.com/en-us/library/hh850441(v=vs.120 ).aspx#啓用您的自定義構建過程 –

回答

0

請確保您從TFS 2017年整體結構「複製」到2010年TFS 按照this document以確保定製的活動項目,並與您的自定義活動的.dll文件簽入您的TFS 2010

不要忘記在該文檔中的最後一步(啓用您的自定義生成過程)。在構建控制器中,將版本控制路徑設置爲自定義程序集路徑。

下面是有關這些錯誤的另一個博客會談:https://nkdagility.com/tfs-2012-issue-tf215097-an-error-occurred-while-initializing-a-build-for-build-definition/

更新:

Becasue要使用模板2010 TFS你最好從TFS下載默認模板2010和定製。要自定義TFS 2010的默認模板,請使用VS2010。關於那些參考,請使用10.0。

+0

繼文檔之後,我使用TFS2010中的模板重新啓動。當我啓動構建定義時,我得到這些錯誤:類型'IBuildAgent'未定義。類型'IBuildAgent'未定義。 – FrankVDB

+0

@FrankVDB您是否在項目中添加了2個引用。 'Microsoft.TeamFoundation.Build.Client .dll'和 'Microsoft.TeamFoundation.Build.Workflow .dll' –

+0

是的,我完全按照這些步驟3次 – FrankVDB