There are several templates to choose from when creating a workflow project.
- Empty Workflow Project
- Sequential Workflow Console Application
- State Machine Workflow Console Application
- Sequential Workflow Library
- State Machine Workflow Library
- Workflow Activity Library
So what’s the difference and how do you know which one to choose? As it turns out, like most things in WF there really is no magic going on here, and things are much simpler than they seem. The two "Console Application" project types will result in a project that creates and exe, and all the others will create dlls. Other than that, the only real difference seems to be what initial classes will be generated. If I create a "Workflow Activity Library" project, it will initially contain an activity item called "Activity1". A "Sequential Workflow Library" will contain a sequential workflow item called "Workflow1", etc.
There are some minor project metadata differences so that when you right-click on the project and select the "Add" flyout, it will suggest workflow-related classes to add. Other than that, there seem to be no real differences at all. That’s the thing about WF. You keep looking for "magic", complicated things and then find out that they’re all much simpler than you thought.