QtGroup.Qt.Bridge.CSharp.linux-x64 0.3.0-beta

Prefix Reserved
This is a prerelease version of QtGroup.Qt.Bridge.CSharp.linux-x64.
dotnet add package QtGroup.Qt.Bridge.CSharp.linux-x64 --version 0.3.0-beta
                    
NuGet\Install-Package QtGroup.Qt.Bridge.CSharp.linux-x64 -Version 0.3.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="QtGroup.Qt.Bridge.CSharp.linux-x64" Version="0.3.0-beta" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="QtGroup.Qt.Bridge.CSharp.linux-x64" Version="0.3.0-beta" />
                    
Directory.Packages.props
<PackageReference Include="QtGroup.Qt.Bridge.CSharp.linux-x64" />
                    
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 QtGroup.Qt.Bridge.CSharp.linux-x64 --version 0.3.0-beta
                    
#r "nuget: QtGroup.Qt.Bridge.CSharp.linux-x64, 0.3.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 QtGroup.Qt.Bridge.CSharp.linux-x64@0.3.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=QtGroup.Qt.Bridge.CSharp.linux-x64&version=0.3.0-beta&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=QtGroup.Qt.Bridge.CSharp.linux-x64&version=0.3.0-beta&prerelease
                    
Install as a Cake Tool

Qt Bridge for C# – Pre-Release

Qt Bridge for C# is a bridge between C# and QML, designed to write application logic in C# while using Qt Quick for the UI. The bridging mechanism is based on interoperability between C# and C++.

Contents

Bring QML/Qt Quick to C#/.NET with a single package. This package ships:

  • A custom .NET host that also functions as QML engine bootstrap.
  • A Qt/.NET adapter module that handles interoperability between C# and QML.
  • Source code generator that discovers your C# types and exposes them to QML.
  • Filtering rules ([Qt.Include], [Qt.Ignore], [Qt.IgnoreType]) to control what becomes visible to QML.
  • C++ include headers used by the native side of the bridge.
  • On Windows packages, a minimal, open-source Qt Quick runtime subset sufficient to load and run QML.

Target framework: .NET 8+. Windows packages include Qt. Linux packages require an external Qt installation selected with QtDir.

Why use this package?

  • Ship Qt Quick UIs with C# backends. Keep your application logic in .NET while using QML for fast UI iteration.
  • Zero-glue plumbing. The generator inspects your assemblies and wires up eligible types automatically.
  • Precise surface control. Attribute-based filters let you decide exactly which types/members are exposed to QML.
  • Windows runtime included. Comes with the native headers and a minimal Qt Quick runtime so you can start quickly.

Install

# Project folder
dotnet add package QtGroup.Qt.Bridge.CSharp.linux-x64 --version 0.3.0-beta

Quick start

  1. Reference the package in your .NET 8+ project.

  2. On Linux, select Qt before building:

    dotnet build -p:QtDir=/path/to/qt-prefix
    

    The Qt prefix must contain lib/cmake/Qt6/Qt6Config.cmake.

  3. Manage the visibility of C# types and type members in QML:

    • By default, the set of types and type members exposed to QML includes all C# public types defined in the project.
    • Use the [Qt.Ignore] attribute to remove a type or member.
    • Use the [assembly: Qt.IgnoreType(...)] attribute to remove one or more types, or entire type hierarchies by specifying Inherited = true.
    • Use the [Qt.Include] attribute to include a type or member that would otherwise be excluded.
  4. Add your QML (for example, Main.qml) to the project.

  5. Build & run. The generator creates the interop surface; the adapter boots the QML engine and loads your entry file.

Platforms & requirements

  • Runtime: .NET 8 or newer.
  • OS: Windows x64 and Linux x64.
  • Qt: Windows packages include Qt. Linux packages require a Qt 6 installation from the target system or a Qt installation compatible with that system.
  • Tooling: dotnet SDK 8+, a C++ toolchain for native build steps is required.

Future plans

  • Expand interoperability between C# and Qt/QML.
    • For example, allow C# types to be used in QML as models for TableView and TreeView.
  • Remove the requirement of a C++ compiler.

Stay in touch

You can reach us on the Qt Forum, specifically in the Qt Bridges category.

License

Copyright (C) 2026 The Qt Company Ltd.
SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only

Qt Bridge for C# is available under the Qt Commercial License or the GNU Lesser General Public License v3.0-only (LGPL-3.0-only).

For commercial licensing, see:

For LGPL-3.0-only, see:

This information does not replace the full license terms. Use is subject to the applicable license.

Terms and Conditions

If you, your employer, or the legal entity you act on behalf of hold commercial license(s) with a Qt Group entity, Qt Bridges constitutes Pre-Release Code under the Qt License/Frame Agreement governing those licenses, and that agreement's terms and conditions relating to Pre-Release Code apply to your use of Qt Bridges as found in this repo. This Qt Bridges repo may provide links or access to third-party libraries or code (collectively "Third-Party Software") to implement various functions. Use or distribution of Third-Party Software is discretionary and in all respects subject to applicable license terms of applicable third-party right holders.

Additional Terms and Conditions

The Qt Bridge for C# is built using the .NET SDK and Runtime, which are developed and maintained by Microsoft and .NET Foundation

.NET and C# are trademarks of Microsoft Corporation. This project is not affiliated with, or endorsed by Microsoft.

The Qt Bridge for C# package includes the following modules in binary form, licensed under the MIT license:

  • System.Reflection.MetadataLoadContext
  • System.CommandLine
  • System.IO.Hashing

If you contribute to the code of Qt Bridge for C#, you will additionally need the following packages licensed under the MIT license:

  • Microsoft.NET.Test.Sdk
  • MSTest.TestFramework
  • Microsoft.CodeAnalysis.CSharp
  • coverlet.collector
Product 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net8.0

    • 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
0.3.0-beta 116 6/17/2026
0.2.0.1-beta 97 5/19/2026