Problem using FinalBuilder with TFS 2012 and Visual Studio 2010

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?

Hi Henning

Please try this build : http://downloads.finalbuilder.com/downloads/finalbuilder/700/FB700_2176.exe

We made some changes to the installer a few days ago to hopefully resolve this issue, the installer was overwriting the 2012 assembly with the 2010 due to a typo.

Hi Vincent,

Thanks for the quick reply. 

I installed the version you supplied, but the same error occurred. Then I tried a uninstalling FinalBuilder and discovered that the assemblies were still in the GAC. When trying to delete them, I could see that the TFS 2012 service on the controller machine still had a lock on the files. Stopping the service (from the TFS2012 administration tool), deleting the dll's manually from GAC and then reinstalling the version you provided, seems to have fixed the problem.

So now we can move onto testing the actual features of FinalBuilder ;)

Hi,

I have the same errors and I cannot resolve them, even after having deleted dll from the GAC, desinstalled, reinstalled...

we use :

  • - TFS 2012 update 1 for TFS controller and agents
  • - Visual studio 2012 update 1 on the build machine
  • - final builder provided in previous message (7.0.0.2176)
  • - the build workflow found in C:\Program Files (x86)\FinalBuilder 7\TFS Templates\2012

 

And we have the following erros :

TF215097: An error occurred while initializing a build for build definition \ItesoftDev\rha-test: Exception Message: Cannot create unknown type '{clr-namespace:VSoftTechnologies.FinalBuilder.TFS.Workflow;assembly=FinalBuilder.TFS.Workflow.2012}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)

 

 

Try restarting the TFS service after installing FinalBuilder, for some reason it doesn’t find gac installed assemblies installed while it is running.

I stopped and restarted TFS service of the controller and the agent.

I always have the same errors.

I am getting the same error only I am using TFS2010 build controller connecting to TFS2010 repository and trying to build with VS2012.

Cannot create unknown type ‘{clr-namespace:VSoftTechnologies.FinalBuilder.TFS.Workflow;assembly=FinalBuilder.TFS.Workflow}FinalBuilder’

I have restarted the build controller after FinalBuilder v7.0.0.2183 was installed.

Any ideas as to why?

So I wound up having to install the FinalBuilder.TFS.Workflow.dll into the GAC using the gacutil. Once I did that, all started to work.

I assume something must be wrong in the FinalBuilder installer since it is not taking care of that for us.

We added FinalBuilder.TFS.Workflow.dll to the GAC on the build agent using gacutil.

However, we receive the following error after starting a build:

TF215097: An error occurred while initializing a build for build definition \AES\Test FB on 232 - FB: Cannot set unknown member 'VSoftTechnologies.FinalBuilder.TFS.Workflow.FinalBuilder.AssociateChangesets'.

Our build agent and build controller are on different machines.

Do we need to install FinalBuilder on the build controller, in order for the process template (FinalBuilderBuild.xaml) to work? 

Thanks,

Eric

FYI, we are using TFS Templates that are installed with build v7.0.0.2183

Yes you do. FinalBuilder only needs a license installed on the agent, but the server still needs the workflow assemblies.