我们在结合了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上也遇到了这些错误,但这些错误似乎可以很好地解决。
我检查过的许多资料中的一些:
TFS2012 Upgrade - Builds sometimes failing with TF215097 "DynamicActivity" error
TFS 2010 - Type 'IBuildAgent' and Type 'IBuildDetail' are not defined.
感谢您的帮助。谢谢。