向VS2017_DefaultTemplate添加自定义活动:未定义类型“ IBuildDetail”

时间:2019-02-05 15:50:14

标签: tfs visual-studio-2017 tfs2012 visual-studio-2017-build-tools

我们在结合了Visual Studio 2013的TFS2012中使用了自定义活动。该组合已成功构建在我们的构建服务器上。

此后,我们已升级到安装在生成服务器上的Visual Studio 2017 Professional 15.9.6。使用开箱即用的VS2017_DefaultTemplate.11.1.xaml,所有内容都可以正确构建,但是我们有一个自定义活动,可用来对所有程序集进行版本控制。

我在VS2017中从头创建了自定义活动,并确保所有内容都指向15.0 Microsoft.TeamFoundation。*。dll程序集。这导致构建服务器出现“无法识别的类型”的问题,直到我将所有内容手动添加到GAC为止,即使已将其检查到源代码控制中并重新注册了构建控制器。这不是理想的方法,但是可行。

克服这个障碍,我现在收到以下错误:

TF215097: An error occurred while initializing a build for build
definition \VGroup\Overnight - Results: Exception Message:

The root element of the build process template found at $/VGroup
/BuildProcessTemplates/CustomActivities/VS2017_Results.xaml (version
C41010) is not valid. 

(The build process failed validation. Details: Validation Error: The private
implementation of activity '1: DynamicActivity' has the following validation
error:   Compiler error(s) encountered processing expression "(Not
String.IsNullOrEmpty(PrivateDropLocation)) AndAlso BuildDetail.Reason =
Microsoft.TeamFoundation.Build.Client.BuildReason.ValidateShelveset".

Type 'IBuildDetail' is not defined.

我已经确保程序集匹配并重新注册了构建控制器。定制活动使用的所有程序集都在GAC中。

要注意的一件事是,当我在构建定义中切换构建模板时,在“输出”窗口中出现以下错误:

Error: Could not load file or assembly 'ResultsBuildActivities' or one of its dependencies. The system cannot find the file specified.

我在VS2012的自定义dll上也遇到了这些错误,但这些错误似乎可以很好地解决。

我检查过的许多资料中的一些:

https://social.msdn.microsoft.com/Forums/vstudio/en-US/96f837c0-44c1-4e8c-b8c3-f56e4c47fd70/tf215097-errors-on-tfs2010-to-tfs-2012-migrated-tfs-collections?forum=tfsbuild

https://social.msdn.microsoft.com/Forums/expression/en-US/cd47dbc4-b155-4393-8549-f6f1b99f2a7f/custom-activity-quottype-ibuilddetail-is-not-definedquot?forum=tfsbuild

TFS2012 Upgrade - Builds sometimes failing with TF215097 "DynamicActivity" error

TFS 2010 - Type 'IBuildAgent' and Type 'IBuildDetail' are not defined.

感谢您的帮助。谢谢。

0 个答案:

没有答案