PeakSWC.RemoteBlazorWebView.WindowsForms 6.0.28-rc2

This is a prerelease version of PeakSWC.RemoteBlazorWebView.WindowsForms.
There is a newer version of this package available.
See the version list below for details.
dotnet add package PeakSWC.RemoteBlazorWebView.WindowsForms --version 6.0.28-rc2
                    
NuGet\Install-Package PeakSWC.RemoteBlazorWebView.WindowsForms -Version 6.0.28-rc2
                    
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="PeakSWC.RemoteBlazorWebView.WindowsForms" Version="6.0.28-rc2" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="PeakSWC.RemoteBlazorWebView.WindowsForms" Version="6.0.28-rc2" />
                    
Directory.Packages.props
<PackageReference Include="PeakSWC.RemoteBlazorWebView.WindowsForms" />
                    
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 PeakSWC.RemoteBlazorWebView.WindowsForms --version 6.0.28-rc2
                    
#r "nuget: PeakSWC.RemoteBlazorWebView.WindowsForms, 6.0.28-rc2"
                    
#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 PeakSWC.RemoteBlazorWebView.WindowsForms@6.0.28-rc2
                    
#: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=PeakSWC.RemoteBlazorWebView.WindowsForms&version=6.0.28-rc2&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=PeakSWC.RemoteBlazorWebView.WindowsForms&version=6.0.28-rc2&prerelease
                    
Install as a Cake Tool

RemoteBlazorWebViewTutorial

Microsoft has recently introduced two Blazor WebView Controls in .NET 6 Preview 3. One Blazor WebView control (Microsoft.AspNetCore.Components.WebView.Wpf) targets Windows Presentation Foundation (WPF) apps and the other (Microsoft.AspNetCore.Components.WebView.WindowsForms) targets Windows Form (WinForms) apps. The Microsoft controls allow developers to create user interfaces for desktop apps using Blazor web technology. The desktop apps using Blazor have the full feature set and performance of .NET 6 and are not contrained like a Blazor WebAssembly app.

The Remote versions of the Blazor WebView Controls (PeakSWC.RemoteBlazorWebView.Wpf and PeakSWC.RemoteBlazorWebView.WindowsForms) act as a drop-in replacement for the Microsoft controls along with the ability to share the user interface over a secure connection to a public server using a web browser. This is accomplished by setting up a secure server (RemoteWebWindowService) in the cloud and pointing your browser to it. With a couple of minimal changes you will be able to either run your app locally or remotely control your application.

Use Cases

The primary use case is to be able to share a desktop application controlling hardware with an external service technician. Typically, the application is behind a corporate firewall and is not easily accessed by the technician. The Remote Blazor controls allow the desktop application to be started in "Remote" mode which generates a unique Url for the technician to access the user interface.

Another use case is to be able to monitor data that is behind a firewall or on a private network without the cost and complexity to store the data externally. For example, if a brewer wanted to monitor fermentation data such as PH, Gravity, and Pressure they could build an app showing real-time graphical data using Blazor components and, with only a couple of changes, be able to view the user interface with a web browser from outside of the firewall.

How it works

RemoteBlazorWebView.Wpf has two modes of operation. In the first default mode, it works just like the Microsoft BlazorWebView Controls (see BlazorDesktopWPF). In the second mode, a url is specified on the control's properties. In this mode, all GUI interactions are sent to a server which can be accessed with a browser. Hosting the server (RemotableWebViewService.exe) in the cloud allows you to remotely control an application which is behind a firewall or does not have a static IP address.

Demo Quick Start

*** Note the name change to RemoteWebViewService

Install the RemoteWebViewService

dotnet tool update -g PeakSWC.RemoteWebViewService --version 6.*-* 

Start the server

RemoteWebViewService

Open the RemoteBlazorWebViewTutorial.sln with Visual Studio

Select the Local Profile from the dropdown next to the Run button and click on run

Make sure the RemoteBlazorWebViewTutorial.WppfApp is set as Startup Project

Next we will run the application remotely

Select the Remote Profile from the dropdown next to the Run button and click on run

A main window will come up with a URL. Click on it

At this point the sample blazor app will be running in a web browser served from RemoteWebViewService!

Finally, we will run the application from a cloud server (https://server.remoteblazorwebview.org/)

Select the Cloud Profile from the dropdown next to the Run button and click on run

A main window will come up with a URL. Click on it

At this point the sample blazor app will be running in a web browser served from https://server.remoteblazorwebview.org. Accessing the server will require that you set up a login. The server is setup for demo purposes only. Contact me at budcribar@msn.com if you would like help setting up a production server.

Product Compatible and additional computed target framework versions.
.NET net6.0-windows7.0 is compatible.  net7.0-windows was computed.  net8.0-windows was computed.  net9.0-windows 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.

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
10.0.0-preview5 172 6/14/2025
10.0.0-preview4 246 5/14/2025
10.0.0-preview3 77 4/12/2025
9.0.6 261 6/15/2025
9.0.5 298 5/14/2025
9.0.4 171 4/12/2025
9.0.2 238 2/16/2025
9.0.1 202 1/18/2025
9.0.0 203 11/14/2024
9.0.0-rc2 99 10/26/2024
9.0.0-preview7 177 8/19/2024
9.0.0-preview6 75 7/29/2024
9.0.0-preview5 93 6/23/2024
8.0.11 189 11/14/2024
8.0.10 242 10/10/2024
8.0.8 242 8/20/2024
8.0.7 184 7/29/2024
8.0.6 204 6/19/2024
8.0.4 219 6/19/2024
8.0.3 225 4/20/2024
8.0.2 239 2/23/2024
8.0.1 225 2/16/2024
8.0.0 315 12/30/2023
8.0.0-rc2 130 10/14/2023
8.0.0-preview5 201 6/15/2023
8.0.0-preview4 208 5/24/2023
8.0.0-preview3 212 4/21/2023
8.0.0-preview2 190 3/29/2023
7.0.16 244 2/25/2024
7.0.14 221 12/29/2023
7.0.12 306 10/14/2023
7.0.9 254 8/15/2023
7.0.7 253 6/14/2023
7.0.5 271 4/20/2023
7.0.4 344 3/24/2023
7.0.3 324 3/17/2023
7.0.2 417 1/29/2023
7.0.0 476 11/13/2022
7.0.0-rc1 203 10/9/2022
7.0.0-pre6 257 7/14/2022
7.0.0-pre5 241 7/2/2022
7.0.0-pre4 242 5/11/2022
6.3.9 365 2/11/2023
6.3.8 424 2/1/2023
6.3.7 409 1/31/2023
6.3.6 482 11/13/2022
6.3.5 536 10/11/2022
6.3.4 576 7/13/2022
6.3.3 588 7/3/2022
6.3.2 554 6/15/2022
6.3.1 573 5/25/2022
6.3.0 258 5/21/2022
6.2.0 267 5/8/2022
6.1.2-pre 249 4/7/2022
6.1.1-pre 270 2/19/2022
6.1.0-pre 264 2/7/2022
6.0.38-pre 260 2/1/2022
6.0.37-pre 249 1/25/2022
6.0.36 335 1/4/2022
6.0.35 311 1/1/2022
6.0.34 272 12/30/2021
6.0.33 263 12/29/2021
6.0.32 302 12/12/2021
6.0.31 297 12/4/2021
6.0.30 869 12/3/2021
6.0.29 296 11/17/2021
6.0.28-rc2 273 10/14/2021
6.0.27-rc1 274 10/11/2021
6.0.26-rc1 268 10/7/2021
6.0.25-rc1 311 10/4/2021
6.0.24-rc1 340 10/1/2021
6.0.23-rc1 302 9/26/2021
6.0.22-rc1 290 9/15/2021
6.0.21-preview7 306 9/7/2021
6.0.20-preview7 299 8/26/2021
6.0.16-preview7 262 8/25/2021
6.0.15-preview7 292 8/13/2021
6.0.13-preview6 261 8/9/2021
6.0.12-preview6 338 8/1/2021
6.0.11-preview6 257 7/16/2021
6.0.10-preview5 387 7/10/2021
6.0.9-preview5 341 6/29/2021
6.0.8-preview5 344 6/22/2021
6.0.7-preview4 280 6/17/2021

Update libraries to RC2