主要的库
通常情况下,我们需要使用以下5个库:
Microsoft Orleans Core Abstractions
PM> Install-Package Microsoft.Orleans.Core.Abstractions
这个库包含了Orleans.Core.Abstractions.dll
,它包含了开发Orleans应用所需的公共类型,任何Orleans项目都需要直接或间接的引用此类库。
Microsoft Orleans Build-time Code Generation
-
Microsoft.Orleans.OrleansCodeGenerator.Build.
PM> Install-Package Microsoft.Orleans.OrleansCodeGenerator.Build
自 1.2.0 开始使用,在 Grain 接口及实现项目中引用。高效的代码生成是Orleans runtime的重要支柱之一,它利用生成的代码来确保集群中的类型能够正确序列化并生成对实现细节的抽象方法、异常传递的样板文件。
Orleans 的代码生成有两种模式(运行时生成、构建时生成),默认情况下采用构建时生成。
-
Microsoft.Orleans.CodeGenerator.MSBuild.
PM> Install-Package Microsoft.Orleans.CodeGenerator.MSBuild
自 2.1.0 之后提供,是 Microsoft.Orleans.OrleansCodeGenerator.Build
的替代方法,利用Roslyn进行代码分析,通过增量构建提升构建效率。
Microsoft Orleans Server Libraries
Microsoft Orleans Server Libraries
PM> Install-Package Microsoft.Orleans.Server
一个易于构建和启动Silo的元数据包, 包含下面这些库:
- Microsoft.Orleans.Core.Abstractions
- Microsoft.Orleans.Core
- Microsoft.Orleans.OrleansRuntime
- Microsoft.Orleans.OrleansProviders
Microsoft Orleans Client Libraries
Microsoft Orleans Client Libraries
PM> Install-Package Microsoft.Orleans.Client
一个易于构建和启动Client的元数据包, 包含下面这些库:
- Microsoft.Orleans.Core.Abstractions
- Microsoft.Orleans.Core
- Microsoft.Orleans.OrleansProviders
Microsoft Orleans Core Library
Microsoft Orleans Core Library
PM> Install-Package Microsoft.Orleans.Core
它包含了开发Orleans应用所需的公共类型,同时包含在Microsoft.Orleans.Client
和Microsoft.Orleans.Server
中,任何Orleans项目都需要直接或间接的引用此类库,我们通常引用它来构建使用Orleans类型,但不处理 hosting 和silo 的应用。