Orleans.FSharp.Analyzers
5.0.1
dotnet add package Orleans.FSharp.Analyzers --version 5.0.1
NuGet\Install-Package Orleans.FSharp.Analyzers -Version 5.0.1
<PackageReference Include="Orleans.FSharp.Analyzers" Version="5.0.1" />
<PackageVersion Include="Orleans.FSharp.Analyzers" Version="5.0.1" />
<PackageReference Include="Orleans.FSharp.Analyzers" />
paket add Orleans.FSharp.Analyzers --version 5.0.1
#r "nuget: Orleans.FSharp.Analyzers, 5.0.1"
#:package Orleans.FSharp.Analyzers@5.0.1
#addin nuget:?package=Orleans.FSharp.Analyzers&version=5.0.1
#tool nuget:?package=Orleans.FSharp.Analyzers&version=5.0.1
Orleans.FSharp.Analyzers
An opt-in FSharp.Analyzers.SDK CLI plugin for Orleans.FSharp.
What it does
OF0001 flags unsuppressed async { } expressions in the files you select for analysis. Prefer task { } in grain handlers; [<AllowAsync>] marks intentional Async interop. This is a syntax-based style rule, not proof that a binding executes inside a grain.
Setup
Add the package to your project, then keep its normal library assets so the public AllowAsync attribute is available. Pin your selected package version instead of floating it in production:
<ItemGroup>
<PackageReference Include="Orleans.FSharp.Analyzers" Version="*"
PrivateAssets="all" GeneratePathProperty="true" />
</ItemGroup>
Run the matching CLI host against the package's directory, not the DLL file:
dotnet tool install --global fsharp-analyzers --version 0.37.2
dotnet restore MyGrains.fsproj
analyzer_package="$(dotnet msbuild MyGrains.fsproj -nologo -getProperty:PkgOrleans_FSharp_Analyzers)"
fsharp-analyzers --project MyGrains.fsproj --analyzers-path "$analyzer_package/lib/net8.0"
This package exports a CliAnalyzer, not an EditorAnalyzer or Roslyn analyzer. Installing it alone does not run OF0001 during dotnet build or in an editor. Invoke the CLI explicitly in CI. The ordinary lib/net8.0 package layout is intentional and follows the F# SDK's library-plugin model.
Requirements
- .NET 8+ host (the analyzer assembly targets
net8.0) fsharp-analyzers0.37.2 (matching the package's FSharp.Analyzers.SDK dependency)
Documentation
Full docs and examples: https://github.com/Neftedollar/orleans-fsharp
License
MIT
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. 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. |
-
net8.0
- FSharp.Analyzers.SDK (>= 0.37.2)
- FSharp.Core (>= 10.1.201)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.9)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.