Ran into a nasty little error this afternoon and after stumbling around finding very little in the way of answers in forums or using Bing and Google, when I stumbled across the resolution that seems to work, I thought I'd post it.
My Scenario Wasn't all that Uncommon
I had been using Visual Studio 2012 with Update 3 applied and the Office Developer Tools for SharePoint 2013 until just recently. When Visual Studio 2013 came out I jumped on the bandwagon, uninstalled Visual Studio 2012 and installed Visual Studio 2013. Why not right? Microsoft said that everything you needed for SharePoint 2013 development was included in Visual Studio 2013!
But today when I tried to create a workflow in a SharePoint 2013 project, I got this nasty error after the workflow as added to my project. Instead of the workflow designer, I got this message:
System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.VisualStudio.SharePoint.WorkflowExtensions, Version=18.104.22.168, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified. File name: 'Microsoft.VisualStudio.SharePoint.WorkflowExtensions, Version=22.214.171.124, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'"
That error then continued with a massive stack trace (I'll spare you that part). That got me thinking so I did a quick little PowerShell script:
PS C:\> Get-ChildItem -include "Microsoft.VisualStudio.SharePoint.WorkflowExtensions.dll" -recurse
That showed me two instances of this file on my machine:
C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\Extensions\WorkflowDesigner C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\Extensions\WorkflowDesigner
So they were there, but what gives? Some people had the same problem, some didn't. Every time I tried to add a workflow to a project on two different machines I got the same result. I even tried a repair installation of Visual Studio 2013... no luck.
For some reason I decided to close the tab that was opening
workflow.xaml with the error message in place of the designer and then reopening it.
All the sudden the designer showed up... no more error! Seriously? Yeah... that's what I thought.
From that point forward on that machine, no more problems with the workflow designer! I tried the same process on another machine and was able to replicate it. Go figure.