In a recent blog post, Microsoft announced that the first generation objects of their Windows Workflow Foundation technology are being deprecated in the upcoming .NET 4.5 release. Windows Workflow Foundation, which is a workflow engine leveraged by .NET developers as well as a handful of Microsoft server products, has multiple new capabilities included in .NET 4.5 while officially putting application that leverage the old .NET 3.0 objects on notice.
Windows Workflow Foundation, also known as WF, was initially released in 2006 with the intention of becoming the common workflow engine for Windows-based applications. At the time, Microsoft had a variety of different workflow-like engines powering server products like Microsoft SharePoint, Microsoft Exchange Server and Microsoft BizTalk Server. A 2005 whitepaper outlined many of the ambitious goals for WF and identified the use cases that called for a visually modeled, embedded workflow engine that could be used by developers and server products alike. WF was quickly adopted as the workflow engine of SharePoint Server 2007 but efforts stalled to make WF a core component of BizTalk Server. In 2008, WF was updated as part of .NET 3.5 and included integration with Microsoft’s Windows Communication Foundation in addition to support for hosting of workflows in the Microsoft IIS web server. Radical changes to the underpinnings of WF’s tooling, runtime components and programming model were made in .NET 4.0. While Microsoft retained full backwards compatibility for WF in the .NET 4.0 release, there was a clear directive for developers to upgrade their applications. Now with .NET 4.5 around the corner, Microsoft is building upon the new WF4 model and introducing new features such as contract-first support for workflow services, improvements to the graphical designer tool, and support for workflow versioning.
As part of this latest blog post, Microsoft clearly identifies which assemblies have deprecated types and explains what WF3 developers will see when they compile their applications in .NET 4.5.
The following assemblies have one or more public types that will be deprecated:
- System.Workflow.Activities.dll
- System.Workflow.ComponentModel.dll
- System.Workflow.Runtime.dll
- System.WorkflowServices.dll
- Microsoft.Workflow.DebugController.dll
- Microsoft.Workflow.Compiler.exe
- Wfc.exe
As a result, customers who are using the deprecated WF3 APIs will encounter build warnings with a message similar to “ Warning BC40000: X is obsolete: ‘WF 3 types are deprecated. Please use WF 4 instead.’” We will remove the types from the .NET Framework in a future release, but we have not yet determined that timeframe (post-.NET 4.5).
For those with existing investments in WF3, Microsoft provides assistance to aid in the migration process. A set of guidance documents outline the differences between WF3 and WF4 solutions and help developers figure out how to map WF3 components to their WF4 counterparts. In addition, the WF CodePlex site hosts a WF Migration Kit that can translates select WF3 activities into WF4-compatible ones.