Unofficial.MsQuic
2.4.10
dotnet add package Unofficial.MsQuic --version 2.4.10
NuGet\Install-Package Unofficial.MsQuic -Version 2.4.10
<PackageReference Include="Unofficial.MsQuic" Version="2.4.10" />
<PackageVersion Include="Unofficial.MsQuic" Version="2.4.10" />
<PackageReference Include="Unofficial.MsQuic" />
paket add Unofficial.MsQuic --version 2.4.10
#r "nuget: Unofficial.MsQuic, 2.4.10"
#:package Unofficial.MsQuic@2.4.10
#addin nuget:?package=Unofficial.MsQuic&version=2.4.10
#tool nuget:?package=Unofficial.MsQuic&version=2.4.10
MsQuic
MsQuic is Microsoft implementation of Quic porotocol. The library version shipped with dotnet runtime only works on windows 11. Fortunately they compile it for Windows 10 and Linux, but there is no official nuget package for it.
Usage
Install the package
dotnet add package Unofficial.MsQuicPatch library loading method to use
msquic.dllfrom this packageUnofficial.MsQuic.HarmonyMsQuicLoadFix.Apply(Console.WriteLine);Explanation:
System.Net.Quicloadsmsquic.dllfrom dotnet sdk installation directory, which is compatible only with windows 11. The only way to load custommsquic.dllis to patchNativeLib.TryLoadto replace library path. Maybe in dotnet 10 it will be fixed (see pull request #103351).
Build
- Download latest release from MsQuic repository
msquic_windows_x64_Release_openssl.zipmsquic_linux_x64_Release_openssl.zipmsquic_linux_arm64_Release_openssl.zip
- Extract
msquic_windows_x64_Release_openssl.zip/bin/msquic.dll→runtimes/win-x64/native/msquic.dllmsquic_linux_x64_Release_openssl.zip/bin/libmsquic.so.*→runtimes/linux-x64/native/libmsquic.somsquic_linux_arm_Release_openssl.zip/bin/libmsquic.so.*→runtimes/linux-arm64/native/libmsquic.so
-
dotnet pack -o bin
| 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
- Lib.Harmony (>= 2.3.6)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.