Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/UiPath/CoreWF
WF runtime ported to work on .NET 6
https://github.com/UiPath/CoreWF
workflows
Last synced: 3 months ago
JSON representation
WF runtime ported to work on .NET 6
- Host: GitHub
- URL: https://github.com/UiPath/CoreWF
- Owner: UiPath
- License: mit
- Created: 2016-08-25T20:07:20.000Z (over 8 years ago)
- Default Branch: develop
- Last Pushed: 2024-04-18T17:46:58.000Z (9 months ago)
- Last Synced: 2024-04-20T17:07:49.711Z (9 months ago)
- Topics: workflows
- Language: C#
- Homepage:
- Size: 9.34 MB
- Stars: 1,094
- Watchers: 99
- Forks: 215
- Open Issues: 30
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Codeowners: CODEOWNERS
Awesome Lists containing this project
- awesome_ai_agents - Corewf - WF runtime ported to work on .NET 6 (Building / Workflows)
README
[![Build Status](https://uipath.visualstudio.com/CoreWF/_apis/build/status/UiPath.CoreWF?repoName=UiPath%2FCoreWF&branchName=develop)](https://uipath.visualstudio.com/CoreWF/_build/latest?definitionId=2249&repoName=UiPath%2FCoreWF&branchName=develop)
# CoreWF
A port of the Windows Workflow Foundation (WF) runtime to .NET 6. It
is [licensed](LICENSE) under the MIT License.__This is not an official Microsoft release of WF on .NET 6. CoreWF is a derivative work of Microsoft's copyrighted
Windows Workflow Foundation.__## WF Overview
Workflows are multi-step processes composed of activities. Activities are single-purpose elements that can be composed
of other activities. Workflows have only one root activity in the same way that an XML document has only one root
element.Developers can create workflows in code:
```csharp
var helloWorldActivity = new Sequence()
{
Activities =
{
new WriteLine
{
Text = "Hello World!"
}
}
};
```The workflow can be run with the following code:
```csharp
System.Activities.WorkflowInvoker.Invoke(helloWorldActivity);
```The similarity of workflow/activity concepts to XML's document/element concepts means it's possible to write workflows
in XML; specifically, an extension of XML called [XAML](https://docs.microsoft.com/dotnet/desktop-wpf/fundamentals/xaml)
. The "Hello World!" workflow from above can be written as:```xml
```
The XAML workflow can be loaded in CoreWF
through [ActivityXamlServices](https://docs.microsoft.com/dotnet/api/system.activities.xamlintegration.activityxamlservices):```csharp
var helloWorldActivity = ActivityXamlServices.Load(new StringReader(xamlString));
System.Activities.WorkflowInvoker.Invoke(helloWorldActivity);
```WF in the .NET Framework includes a visual, drag-and-drop designer for workflows that produces XAML. The "Hello World!"
workflow looks like this in the designer:![Hello World! workflow in WF designer](WfDesignerHelloWorld.png)
The designer experience is not part of CoreWF but the XAML produced by the designer can be run in CoreWF (with some
limitations). The WF designer experience is available in Visual Studio 2019 by enabling the "Windows Workflow
Foundation" individual component in the Visual Studio Installer.## Target Frameworks
CoreWF targets .NET 6 and .NET 6 Windows. The .NET Windows target uses the **System.Xaml** included in the .NET Desktop
Runtime. To use CoreWF on non-Windows runtimes, use the portable .NET 6 target. This is possible because CoreWF includes
a copy of the **System.Xaml** code.## Usage
To add this library to your project, use
the [NuGet package](https://www.nuget.org/packages/UiPath.Workflow).## Debug using Source Link
[Preview builds setup](https://docs.microsoft.com/en-us/azure/devops/pipelines/artifacts/symbols?view=azure-devops#set-up-visual-studio)
[![MyGet (dev)](https://img.shields.io/badge/CoreWf-Preview-brightgreen.svg)](https://uipath.visualstudio.com/Public.Feeds/_packaging?_a=package&feed=UiPath-Internal&view=versions&package=UiPath.Workflow&protocolType=NuGet)
## ContributingCheck out the [contributing guide](CONTRIBUTING.md) for information on how to help CoreWF.
## Code of Conduct
This project has adopted the code of conduct defined by the Contributor Covenant to clarify expected behavior in our
community. For more information see the [.NET Foundation Code of Conduct](https://dotnetfoundation.org/code-of-conduct).## .NET Foundation
This project is supported by the [.NET Foundation](https://dotnetfoundation.org).