Hace un par de semanas estuve utilizando Visual Studio 2005 para desarrollar una biblioteca de actividades para SharePoint Designer y decidí migrar a Visual Studio 2008 mi solución para utilizar las nuevas características del producto. Entonces, para la mayoría de mis bibliotecas de clase les configure su Target Framework a .NET Framework 2.0.
Compile y todo funciono a la perfección. Cerré Visual Studio 2008 y cargue la solución y todo en orden. Hice algunos cambios y al compilar surgió una excepción en Visual Studio 2008 especificando que la clase WorkflowContext no estaba disponible.
The type or namespace name ‘WorkflowContext’ could not be found
(are you missing a using directive or an assembly reference?)
Al ver la referencias del proyecto encuentro que falta una dll en este caso System.Workflow.ComponentModel.dll
Lo primero que cualquier persona haría es referenciar de nuevo el ensamblado pero sorpresa, la ventana de referencias habilita y deshabilita acorde a la versión del .NET Framework que uses como Target Framework las dlls que puedes referencias.
Esto quiere decir que nuestro Target Framework para desarrollar actividades de Workflow es 3.0 y claro, Windows Workflow Foundation es uno de los pilares de funcionalidad de la version .NET Framework 3.0 . Como pude olvidarlo!!!!. Acto seguido cambiamos nuestro Target Framework a .NET Framework 3.0.
El resultado es que ya tenemos disponibles las dlls que ocupamos referenciar.
Compilamos y todo a la normalidad. Con Visual Studio 2008 tenemos amarradas las dependencias y versiones. Que bien, menos confusion y mas concentracion.