FlowNet.Core
0.2.2
.NET 5.0
This package targets .NET 5.0. The package is compatible with this framework or higher.
.NET Standard 2.0
This package targets .NET Standard 2.0. The package is compatible with this framework or higher.
dotnet add package FlowNet.Core --version 0.2.2
NuGet\Install-Package FlowNet.Core -Version 0.2.2
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="FlowNet.Core" Version="0.2.2" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="FlowNet.Core" Version="0.2.2" />
<PackageReference Include="FlowNet.Core" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add FlowNet.Core --version 0.2.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: FlowNet.Core, 0.2.2"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package FlowNet.Core@0.2.2
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=FlowNet.Core&version=0.2.2
#tool nuget:?package=FlowNet.Core&version=0.2.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Flow.NET
面向现代 .NET 应用程序的轻量级生命周期与流程控制框架。
[WORKING IN PROGRESS]
快速开始
添加依赖:
dotnet add package FlowNet.Core
添加代码:
using FlowNet.Core;
using System.Threading.Tasks;
namespace YourApp.Namespace;
[Flow.Scope("app")]
public sealed partial class Program
{
// Start application by Flow.NET
public static Task Main() => FlowInterops.Initialize("app:start");
[Flow.Task]
public static async Task Start()
{
// 这个 Task 的全局标识是 app:start, 其中 start 是从方法名推断出来的
// 若要自定义标识, 可以使用 [Flow.Task("custom")]
// do something...
}
}
然后就可以开始写业务逻辑了——就这么简单,简单到连 template 都不用。
基于流程的开发
将 Program 类改成这样:
using FlowNet.Core;
using System.Threading.Tasks;
namespace YourApp.Namespace;
[Flow.Scope("app")]
internal static partial class Program
{
// Run application based on flow control
public static Task Main() => FlowInterops.Run();
// Define base flows
[Flow.Task]
[Flow.Task("loading")]
[Flow.Task("exit")]
private static Task Wildcard() => Task.CompletedTask;
}
然后使用 Flow.Run 标记来定义各流程间的依赖关系,例如:
using FlowNet.Core;
using System.Threading.Tasks;
namespace YourApp.Namespace;
[Flow.Scope("config")]
public sealed partial class ConfigService
{
[Flow.Task]
[Flow.Run(After = "app:loading", Before = "*:start")]
private static async Task _()
{
// 这是一个特殊的 Flow 任务,按照一般的标识符推断规则,它的标识符是空的
// 因此这个任务的全局标识就是外部 scope 的标识,即 config
// Initialize config service...
}
}
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 is compatible. net5.0-windows was computed. net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 is compatible. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
.NETStandard 2.0
- System.Runtime.CompilerServices.Unsafe (>= 6.1.2)
-
net5.0
- No dependencies.
-
net6.0
- No dependencies.
-
net7.0
- No dependencies.
NuGet packages (2)
Showing the top 2 NuGet packages that depend on FlowNet.Core:
| Package | Downloads |
|---|---|
|
FlowNet.Collector
Component collector for Flow.NET based on source generation |
|
|
FlowNet.Configuration
Prioritized configuration system for Flow.NET based on source generation |
GitHub repositories
This package is not used by any popular GitHub repositories.