Started off getting this error.
TF215097: An error occurred while initializing a build for build definition \<My Project Build Name> The values provided for the root activity's arguments did not satisfy the root activity's requirements:'DynamicActivity'
Bizarre. So what it comes down to is that 2012 does not work with artifacts either built against or referencing a component from 2010. A 2012 build controller won't run custom build activities (which I had) that were compiled against the TFS 2010 binaries. Further, the custom XAML files were polluted by the workflow designer, said to be a bug in the designer, but that smells fishy to me.
Here's the steps I took.
- I rebuilt my custom activities with all the references pointing at the new 2012 TFS .dlls.
- I overwrote the old custom activity .dlls in the $\BuildProcessTemplates\CustomActivities directory and checked them in.
- After that, my builds still didn't work, failing with essentially the same error, so I used the XAMLCleaner code I found here to scrub my custom build workflow templates (.XAML files).
- Running anything and causing one of these version issues requires the build controller to be reset. Use the TFS admin console to do so.
- My *.CI builds all use the DefaultTemplate.xaml. The upgrade gave me a DefaultTemplate.11.1.xaml. I deleted the DefaultTemplate.xaml locally, renamed the DefaultTemplate.11.1.xaml to DefaultTemplate.xaml, and checked it in. .CI builds ran fine.
- Once I had made all these changes, I checked everything in and ran my custom web and default release builds, and they worked.
Hope this can help someone. I love TFS ALM, but sometimes the stuff is daunting. The two links above really helped me out.
No comments:
Post a Comment