We are currently evaluating FinalBuilder to see if this should be our new build automation tool. This evaluation happens as a part of our company upgrading from TFS2010 to TFS2012.
The current setup is as such:
- - TFS Server, Controller and Agents are all running TFS 2012.
- - The Agent (build machine) has Visual Studio 2010 installed (We cannot upgrade to VS2012 yet, since we have a bunch of projects using the setup projects, which has been discontinued in VS2012.)
- The Agent (build machine) has FinalBuilder (FB700_2161) installed. - - We have created a new build definition on TFS2010 that makes use of the FinalBuilderTemplate (FinalBuilderBuild.xaml). (we have tried both the supplied 2010 and 2012 templates with no luck so far).
When the build is triggered, the following error occurs (taken from the TFS log):
--------------------------------
TF215097: An error occurred while initializing a build for build definition \TFS2012 Finalbuilder Tests\FinalBuilderTests:
Exception Message: Cannot create unknown type '{clr-namespace:VSoftTechnologies.FinalBuilder.TFS.Workflow;assembly=FinalBuilder.TFS.Workflow}FinalBuilder'. (type XamlObjectWriterException)
Exception Stack Trace: at System.Xaml.XamlObjectWriter.WriteStartObject(XamlType xamlType)
at System.Xaml.XamlServices.Transform(XamlReader xamlReader, XamlWriter xamlWriter, Boolean closeWriter)
at System.Activities.XamlIntegration.FuncFactory`1.Evaluate()
at System.Activities.DynamicActivity.OnInternalCacheMetadata(Boolean createEmptyBindings)
at System.Activities.Activity.InternalCacheMetadata(Boolean createEmptyBindings, IList`1& validationErrors)
at System.Activities.ActivityUtilities.ProcessActivity(ChildActivity childActivity, ChildActivity& nextActivity, Stack`1& activitiesRemaining, ActivityCallStack parentChain, IList`1& validationErrors, ProcessActivityTreeOptions options, ProcessActivityCallback callback)
at System.Activities.ActivityUtilities.ProcessActivityTreeCore(ChildActivity currentActivity, ActivityCallStack parentChain, ProcessActivityTreeOptions options, ProcessActivityCallback callback, IList`1& validationErrors)
at System.Activities.ActivityUtilities.CacheRootMetadata(Activity activity, LocationReferenceEnvironment hostEnvironment, ProcessActivityTreeOptions options, ProcessActivityCallback callback, IList`1& validationErrors)
at System.Activities.Validation.ActivityValidationServices.InternalActivityValidationServices.InternalValidate()
at Microsoft.TeamFoundation.Build.Workflow.WorkflowHelpers.ValidateWorkflow(Activity activity, ValidationSettings validationSettings)
at Microsoft.TeamFoundation.Build.Hosting.BuildProcessCache.LoadFromXaml(String workflowXaml, TextExpressionImports textExpressionImports)
at Microsoft.TeamFoundation.Build.Hosting.BuildControllerWorkflowManager.PrepareRequestForBuild(IBuildDetail build, WorkflowRequest request, IDictionary`2 dataContext)
at Microsoft.TeamFoundation.Build.Hosting.BuildWorkflowManager.TryStartWorkflow(WorkflowRequest request, WorkflowManagerActivity activity, BuildWorkflowInstance& workflowInstance, Exception& error, Boolean& syncLockTaken)
--------------------------------
The same error occurs if switching to the supplied 2012 buildtemplate
- The dll is located in the GAC (C:\Windows\Microsoft.NET\assembly\GAC_MSIL\FinalBuilder.TFS.Workflow\v4.0_7.0.0.0__7ad94876295de5fe\FinalBuilder.TFS.Workflow.dll) but for some reason it cannot be found. It is, however, not found in the registry (HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\AssemblyFolders) which may or may not be a requirement.
Did we miss something obvious or do we need to do something extra to make this work?