logo SERENITY
Game Systems Foundation
Search Results for

    Show / Hide Table of Contents

    Class DriverPackage

    One NuGet package a backend needs, named as the assembly file that has to end up on disk.

    Inheritance
    object
    DriverPackage
    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 DriverPackage
    Remarks

    Both the package id and the assembly file name are carried because they answer different questions: the file name is what a folder scan can look for, and the package id plus version is what the reader has to fetch to produce it. They differ often enough that deriving one from the other would be wrong — ZstdSharp.Port ships ZstdSharp.dll.

    TargetFramework is recorded per package rather than per backend because the verified working set is not uniform: the Sqlite chain is netstandard2.0 while the other three drivers are netstandard2.1, and a manifest that stated one value for a whole backend would be describing something nobody installed.

    Properties

    AssemblyFileName

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

    The assembly file that must be present on disk, e.g. Npgsql.dll.

    IsRequestedDirectly

    Declaration
    public bool IsRequestedDirectly { get; }
    Property Value
    Type Description
    bool

    Whether the reader asks for this package by name, as opposed to it arriving as a dependency. Only used to phrase findings: a missing top-level package means the driver was never installed, a missing dependency means the install was incomplete.

    PackageId

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

    NuGet package id, e.g. Npgsql.

    TargetFramework

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

    The target framework whose build must be extracted, e.g. netstandard2.1.

    Version

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

    The exact version verified against this repository.

    Methods

    Dependency(string, string, string, string)

    Describes a package that arrives as a dependency of a requested one.

    Declaration
    public static DriverPackage Dependency(string packageId, string version, string targetFramework, string assemblyFileName)
    Parameters
    Type Name Description
    string packageId
    string version
    string targetFramework
    string assemblyFileName
    Returns
    Type Description
    DriverPackage

    RequestedDirectly(string, string, string, string)

    Describes a package the reader asks for by name.

    Declaration
    public static DriverPackage RequestedDirectly(string packageId, string version, string targetFramework, string assemblyFileName)
    Parameters
    Type Name Description
    string packageId
    string version
    string targetFramework
    string assemblyFileName
    Returns
    Type Description
    DriverPackage

    ToString()

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