KNSoft.Quic 1.0.0-beta

This is a prerelease version of KNSoft.Quic.
dotnet add package KNSoft.Quic --version 1.0.0-beta
                    
NuGet\Install-Package KNSoft.Quic -Version 1.0.0-beta
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="KNSoft.Quic" Version="1.0.0-beta" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="KNSoft.Quic" Version="1.0.0-beta" />
                    
Directory.Packages.props
<PackageReference Include="KNSoft.Quic" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add KNSoft.Quic --version 1.0.0-beta
                    
#r "nuget: KNSoft.Quic, 1.0.0-beta"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package KNSoft.Quic@1.0.0-beta
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=KNSoft.Quic&version=1.0.0-beta&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=KNSoft.Quic&version=1.0.0-beta&prerelease
                    
Install as a Cake Tool

KNSoft.Quic

NuGet Downloads GitHub Actions Workflow Status GitHub License

KNSoft.Quic packages MsQuic:

  • Provides /MT and /MD DLLs, regular and LTCG static libraries, and bundled PGO profiles for Windows
  • Exposes function-table entries for direct calls
  • Integrates with Visual Studio through NuGet

Usage

Install KNSoft.Quic, then select Configuration Properties > KNSoft.Quic > Integration Mode.

Mode Artifact
DLL MT /MT DLL
DLL MD /MD DLL
Static Static library
Static LTCG LTCG static library
Static LTCG + Bundled PGO LTCG library with bundled PGO
Manual None; adds the library search path
None None

Function table (standard MsQuic usage)

#include <KNSoft.Quic.h>

const QUIC_API_TABLE* Api;
QUIC_STATUS Status = MsQuicOpenVersion(QUIC_API_VERSION_2, (const void**)&Api);
if (QUIC_SUCCEEDED(Status)) {
    MsQuicClose(Api);
}

Direct calls (KNSoft.Quic exposes the function-table entries)

QUIC_STATUS Status = KNSoftQuicInitialize();
if (QUIC_SUCCEEDED(Status)) {
    const QUIC_REGISTRATION_CONFIG Config = {
        "Application",
        QUIC_EXECUTION_PROFILE_LOW_LATENCY
    };
    HQUIC Registration;

    Status = MsQuicRegistrationOpen(&Config, &Registration);
    if (QUIC_SUCCEEDED(Status)) {
        MsQuicRegistrationClose(Registration);
    }
    KNSoftQuicUninitialize();
}

Compatibility

Windows user mode with Schannel. x86, x64, ARM64, and ARM64EC. LTCG builds require the matching MSVC toolset generation.

PGO

Profiles are trained with SecNetPerf using local and emulated-network scenarios defined in Training.json. Results and validation data are recorded in each platform's manifest.json under PGO.

.\PGO\Build-SecNetPerf.ps1
.\PGO\Train.ps1

License

KNSoft.Quic is licensed under the MIT License. It incorporates MsQuic, also licensed under the MIT License.

There are no supported framework assets in this package.

Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.0-beta 32 7/28/2026