logo SERENITY
Game Systems Foundation
Search Results for

    Show / Hide Table of Contents

    Class DriverNativeBinary

    One native binary a backend needs, for one runtime identifier.

    Inheritance
    object
    DriverNativeBinary
    Inherited Members
    object.Equals(object)
    object.Equals(object, object)
    object.ReferenceEquals(object, object)
    object.GetHashCode()
    object.GetType()
    Namespace: Serenity.StructuredPersistence.Infrastructure.Editor.Drivers
    Assembly: Serenity.UnityStructuredPersistence.Infrastructure.Editor.dll
    Syntax
    public sealed class DriverNativeBinary
    Remarks

    Modelled separately from DriverPackage because a native binary fails differently and later: a missing managed assembly is refused at compile time with the type named, while a missing native leaves a project that compiles and then throws at the first real call. Sqlite is the case that forces this — without e_sqlite3 beside the managed assemblies it fails at schema creation, and no amount of checking managed DLLs would have caught it.

    NuGet lays these out as runtimes/<rid>/native/; where they must land in a Unity project is a different layout, so ProjectRelativeFolder records the destination rather than the source.

    Constructors

    DriverNativeBinary(string, string, string, string, string)

    Describes a native binary and where it has to land.

    Declaration
    public DriverNativeBinary(string packageId, string version, string runtimeIdentifier, string fileName, string projectRelativeFolder)
    Parameters
    Type Name Description
    string packageId
    string version
    string runtimeIdentifier
    string fileName
    string projectRelativeFolder

    Properties

    FileName

    Declaration
    public string FileName { get; }
    Property Value
    Type Description
    string

    File that must be present, e.g. e_sqlite3.dll.

    PackageId

    Declaration
    public string PackageId { get; }
    Property Value
    Type Description
    string

    NuGet package that carries the binary, e.g. SQLitePCLRaw.lib.e_sqlite3.

    ProjectRelativeFolder

    Declaration
    public string ProjectRelativeFolder { get; }
    Property Value
    Type Description
    string

    Folder the file must sit in, relative to the drivers folder, e.g. x64. Empty means alongside the managed assemblies.

    RuntimeIdentifier

    Declaration
    public string RuntimeIdentifier { get; }
    Property Value
    Type Description
    string

    Runtime identifier the binary is built for, e.g. win-x64.

    Version

    Declaration
    public string Version { get; }
    Property Value
    Type Description
    string

    The exact version verified against this repository.

    Methods

    ToString()

    Declaration
    public override string ToString()
    Returns
    Type Description
    string
    Overrides
    object.ToString()
    In this article
    © 2026 Serenity. All Rights Reserved