Skip to content
Support for running C# on the web browser.
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Examples Update example code. Aug 16, 2017
GettingStarted Setup up screenshots directory in vsc doc directory Oct 31, 2016
PepperPlugin Fix build error on windows after Mono update Jul 17, 2017
PepperSharp Use GCHandleType.Normal as we do not need to get the address, just ke… Nov 10, 2016
Tools ✏️ Update generator-electron-dotnet template generator documentation … Aug 17, 2017
docs Update convert source for windows packaging. Sep 8, 2017
electron-dotnet Mac: Add loading from unpacked asar support to electron-dotnet.js. Sep 8, 2017
.gitattributes Initial commit of Pepper API interface for use with Electron. Jun 7, 2016
.gitignore Update .gitignore to include some support files. Apr 12, 2017
LICENSE Initial commit Jun 6, 2016
Makefile Fix mac restore/build after additional nuget dependency. Aug 23, 2017
Makefile.win
README.md Update document references Mar 29, 2017
setup.ps1 Add windows Makefile.win to simplify the setup Sep 22, 2016

README.md

WebSharp

This project is intended to support running .NET code as an Electron Plugin, running code using the Mono runtime, side-by-side the V8 engine and to provide both C# API bindings to Electron's plugin API as well as the Web browser API.

This will be made up of a few components:

  • The plugin that launches the Mono process and runs code on behalf of the user.
  • The Xamarin.PepperSharp.dll API bindings that will provide access to the APIs surfaced to Chromium plugins to C# code.
  • Xamarin.W3C.dll API bindings that will provide access to the browser APIs, built on top of Xamarin.PepperSharp.dll
  • System.Windows.Browser this API surfaces the DOM tree to C# as a strongly typed set of objects. An MIT licensed implementation of this is part of Moonlight that could be refactored.

For the Xamarin.W3C APIs, we intend to use the TypeScript type definitions to generate a strongly typed .NET API.

Current Work

This is a work in progress, and we are only getting started. This means that the activation workflow for .NET code is not finalized, nor is the API that is exposed to .NET code running on Electron.

With that being said, check the GettingStarted documents for the basics.

Future Work

We hope that the Xamarin.W3C API would be used in the future when we compile .NET code to WebAssembly.

You can’t perform that action at this time.