RoyalApps.Community.FreeRdp.WinForms 2.2.4

Prefix Reserved
dotnet add package RoyalApps.Community.FreeRdp.WinForms --version 2.2.4
                    
NuGet\Install-Package RoyalApps.Community.FreeRdp.WinForms -Version 2.2.4
                    
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="RoyalApps.Community.FreeRdp.WinForms" Version="2.2.4" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="RoyalApps.Community.FreeRdp.WinForms" Version="2.2.4" />
                    
Directory.Packages.props
<PackageReference Include="RoyalApps.Community.FreeRdp.WinForms" />
                    
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 RoyalApps.Community.FreeRdp.WinForms --version 2.2.4
                    
#r "nuget: RoyalApps.Community.FreeRdp.WinForms, 2.2.4"
                    
#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 RoyalApps.Community.FreeRdp.WinForms@2.2.4
                    
#: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=RoyalApps.Community.FreeRdp.WinForms&version=2.2.4
                    
Install as a Cake Addin
#tool nuget:?package=RoyalApps.Community.FreeRdp.WinForms&version=2.2.4
                    
Install as a Cake Tool

FreeRDP Control

NuGet Version NuGet Downloads .NET

RoyalApps.Community.FreeRdp.WinForms embeds FreeRDP's Windows client in a WinForms application. It launches wfreerdp.exe with a parent-window handle; it does not use Microsoft RDP ActiveX or FreeRdpKit.

  • Typed destination, gateway, display, certificate, and redirection settings.
  • A bundled client, with support for selecting a compatible custom executable.
  • Connection events, credential/certificate retries, and resize/zoom reconnects.
  • Opt-in native diagnostics with per-launch configuration and stdout/stderr capture, introduced in 2.2.4.

The current source targets .NET 10 on Windows. Older package releases may have different framework requirements.

Documentation

The VitePress documentation lives in docs/:

See documentation development and deployment to preview the site locally or publish it to GitHub Pages.

FreeRDP demo

Installation

dotnet add package RoyalApps.Community.FreeRdp.WinForms

For the diagnostics APIs, install version 2.2.4 or later from a feed containing that version.

Quick start

On the WinForms UI thread, add the control to a form or container before connecting:

using System.Windows.Forms;
using RoyalApps.Community.FreeRdp.WinForms;

// In your form's constructor, after initialization:
var rdp = new FreeRdpControl { Dock = DockStyle.Fill };
Controls.Add(rdp);
rdp.Configuration.Server = "desktop.example.test";

// Obtain credentials through your host application's secure credential flow.
rdp.Configuration.Username = username;
rdp.Configuration.Password = password;
Shown += (_, _) => rdp.Connect();

Use rdp.Disconnect() to stop the client. The containing form owns and disposes the control. Keep certificate validation enabled; see the guide before implementing certificate exceptions.

Diagnostics

Set DiagnosticsOptionsProvider before connecting and subscribe to DiagnosticOutput. The provider is evaluated before every native launch, including internal retries.

Output is raw and potentially sensitive. Handlers must be thread-safe and nonblocking. The host owns redaction, bounded buffering, file writing, persistence, and enable/disable policy. See the diagnostics guide for an integration example and lifecycle details.

Demo and development

Open src/RoyalApps.Community.FreeRdp.slnx and run RoyalApps.Community.FreeRdp.WinForms.Demo.

dotnet build src/RoyalApps.Community.FreeRdp.slnx -c Release
dotnet test src/RoyalApps.Community.FreeRdp.WinForms.Tests/RoyalApps.Community.FreeRdp.WinForms.Tests.csproj -c Release
npm ci
npm run docs:dev

License and acknowledgements

MIT License. FreeRDP and other bundled dependencies retain their respective licenses.

Special thanks to Marc-André Moreau and akallabeth for their help.

Product Compatible and additional computed target framework versions.
.NET net10.0-windows7.0 is compatible. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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
2.2.4 105 9/6/2026
2.2.3 137 8/10/2026
2.2.2 193 6/26/2026
2.2.1 233 2/12/2026
2.2.0 486 11/21/2025
2.1.5 504 8/25/2025
2.1.4 416 3/27/2025
2.1.3 359 2/12/2025
2.1.2 275 2/7/2025
2.1.1 289 1/20/2025
2.1.0 366 11/14/2024
2.1.0-beta2 156 10/9/2024
2.1.0-beta1 154 9/19/2024
2.0.2 603 9/26/2023
2.0.1 322 9/20/2023
2.0.0 299 9/19/2023
1.3.1 661 6/22/2023
1.3.0 570 2/17/2023
1.2.8 527 11/22/2022
1.2.7 506 11/22/2022
Loading failed