L'altro giorno, ho dovuto spostare un workflow dal suo progetto di partenza (di tipo Sequential Workflow Library o State Machine Workflow Library) ad un nuovo progetto, inizialmente di tipo Class Library.
Una volta spostato, ho tentato di aprirlo in modalità "design" e mi sono trovato di fronte al seguente errore:

One or more errors encountered while loading the designer. The errors are listed below. Some errors can be fixed by rebuilding your project, while others may require code changes.

The service 'System.Workflow.ComponentModel.Compiler.ITypeProvider' must be installed for this operation to succeed. Ensure that this service is available.


Cos'è successo ? In pratica, sto cercando di aprire un oggetto creato da un progetto legato a Workflow Foundation, all'interno di un normale progetto di tipo class library, che quindi non ha alcuna referenza alle strutture del framework di workflow targato Microsoft.
Per rimettere tutto a posto basta solamente aprire il file di progetto (.csproj) ed inserire le informazioni riguardanti al tipo di progetto e alle referenze a Windows Workflow Foundation, stando attenti alla posizioni in cui inserire queste aggiunte:

1) Inserire il tag:

<ProjectTypeGuids>{14822709-B5A1-4724-98CA-57A101D1B079};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>


subito sotto il tag <Assembly />.

2) Inserire il tag:

<Import Project="$(MSBuildExtensionsPath)\Microsoft\Windows Workflow Foundation\v3.5\Workflow.Targets" />


subito sotto il tag di import delle strutture di C#.
Se state utilizzando un progetto basato sulla versione 3.0 del .NET Framework, basta semplicemente cambiare la versione utilizzata nel tag di import delle strutture di Workflow Foundation.

Come unica raccomandazione, oltre alla creazione di una copia del file di progetto prima di procederne alla modifica, vi ricordo di porre attenzione alle referenze che avete sul vecchio progetto e riportarle sul nuovo.