1.2 Installation
Chapter 1: Start here · Section 2 · Guide map
RandEXom v1.5b targets .NET Standard 2.1. Use it from a project whose runtime supports that target. The repository's verification project targets .NET 8. RandEXom is currently distributed as a DLL and a GitHub release, not as a NuGet package.
1.2.1 Use the published DLL
- Download RandEXom.dll from the latest source build release.
- Place the DLL in your project, for example at
lib/RandEXom.dll. Add a reference in your IDE. In Visual Studio, right-click your project, choose Add > Project Reference (or Add Reference), use Browse, and select the DLL. You can also add a file reference directly to your
.csproj:<ItemGroup> <Reference Include="RandEXom"> <HintPath>lib/RandEXom.dll</HintPath> </Reference> </ItemGroup>Build your application, then import a namespace such as
RandEXom.RandomLib.
The latest DLL on the project site has SHA-256 781585415b14d979b0c787d75f289f12a1492c0ebb4e37dd862ef684b23d719a. Checksums for all downloads also cover the TestOut and benchmark packages. These packages target Windows x64 and require the .NET 8 runtime.
1.2.2 Reference the source project
If you cloned the repository, you can reference the project instead of copying a DLL:
dotnet add path/to/YourApp.csproj reference path/to/RandEXom/RandEXom.csproj
Use paths appropriate to your checkout. A project reference builds RandEXom with your application and follows local source changes; the published DLL keeps your application on the selected release.
1.2.3 First compile check
using RandEXom.RandomLib;
var random = new ModuloRandom(seed: 12345);
Console.WriteLine(random.NextInt(1, 7)); // one of 1, 2, 3, 4, 5, 6
For this top-level-statement example, use a recent C# SDK project. See getting started for more examples and random sources for choosing a generator.
1.2.4 Build and verify this repository
From the repository root:
dotnet build RandEXom.sln
dotnet run --project Verification/Verification.csproj
The verification program checks generator sequences and range, percentage, weighted-draw, and distance edge cases. A successful run prints All verification checks passed.
For interactive examples, start TestOut. For speed, allocation, and randomness diagnostics, use the separate DLL-loaded benchmark runner and comparison results.
← Previous: 1.1 How the library fits together · Guide map · Next: 1.3 Getting started →