CSHTML5 has now become OpenSilver!

We are happy to announce that CSHTML5 has been significantly improved and rebranded to 'OpenSilver', which stands for 'Open-source reimplementation of Silverlight'. It is fully backward compatible and it can be downloaded from Upgrading from CSHTML5 to OpenSilver is very easy.
Read the FAQ

C#/XAML for HTML5 stable 1.1 release, new showcase, and Blazor/Bridge.NET experiments.

May 22, 2018

Today makes for a special announcement:

CSHTML5 is released as a first stable release with its 1.1 update.

This version marks the beginning of CSHTML5 as a final product, with regular updates on the way.

The 1.1 release contains tens of bug fixes and also brings a few improvements to CSHTML5, including support for custom fonts, ItemContainerStyle, AncestorType, RadialGradientBrush, the ability to customize the Loading screen, and more.

This release comes with a new showcase, showing what's possible using CSHTML5 so far and giving access to snippets of the source code to help you get a better sense of how things work.

We have also been working on different proof-of-concepts lately, experimenting with the possible integration of Blazor / WebAssembly and Bridge.NET technologies into CSHTML5.

Make sure you take a look at what we've been experimenting with. We gathered the initial results of our experiments in two PoC, available for you to try out with our new CSHTML5 showcase at

While these two PoC suggest a great future for CSHTML5 and opportunities to improve our technology, it's still a long way to figure out which would be more appropriate for our users. Please provide as much feedback as possible, and stay tuned for updates.

To celebrate the first stable release and our new showcase, CSHTML5 Professional Edition will be available for only $9/mo for the 3 first months if you subscribe for the annually-billed payment, or $15/mo for the first 3 months if billed monthly. This will only be available until June 8th, so make sure you get your license on discount now.


Changelog (what's new since v1.0 Release Candidate):

  • Support for custom fonts (more details and a tutorial can be found here)
  • RadialGradientBrush
  • Ability to display a Custom Splash-Screen Image while your app is loading (a tutorial can be found here)
  • Fixed crashes on Edge
  • Label control
  • Support for ItemContainerStyle (in ListBox for example)
  • Support for TextBox templating
  • Support for Binding with RelativeSource AncestorType
  • HtmlWindow.Eval
  • HttpUtility.UrlEncode and UrlDecode
  • Uri.Host, Uri.Port, Uri.Scheme
  • HtmlDocument.QueryString
  • System.Windows.Interactivity.Behavior and BehaviorCollection
  • System.Windows.Deployment.Current
  • Dispatcher.CheckAccess
  • System.ComponentModel.DesignerProperties.IsInDesignMode and IsInDesignTool
  • JavaScript errors in the Simulator are now reported all at once rather than in separate windows.
  • DebuggerDisplayAttribute
  • Improved performance of TextBox controls loading
  • Improved DataContractSerializer
  • Improved WrapPanel control
  • Fixed JsonConvert extension support (there was an issue with deserialization)
  • Fixed issues on Edge and IE where <Path> elements sometimes did not render properly
  • Fixed an issue with the WebClient class and Encoding.UTF8 after the Windows 10 spring 2018 update
  • Fixed an issue that prevented the ComboBox from working properly when its ItemsSource was bound to a collection
  • Fixed Simulator crash when there was a JS interop error
  • Fixes error "Invalid or unexpected token" in "app.config.g.js" at runtime
    Fixed the "InvalidCastException" with message "Unable to cast object of type 'DotNetBrowser.JSNumber' to type 'System.IConvertible'" that happened when calling Convert.ToDouble during interop
  • Fixed the "InvalidCastException" when calling Convert.ToDouble after JS interop
  • Fixed an issue that happended when Interop.ExecuteJavaScript contained a "for" loop with a callback inside it: the variables inside the loop were not correctly captured, so the callback was called multiple times with the same arguments.
  • Fixed a compilation error that occurred when specifying a {Binding} in XAML on a property of a UserControl or custom control.
  • Fixed an exception when removing and re-adding a ComboBox in the Visual Tree
  • Fixed an issue that prevented binding a property which itself was of type Binding
  • Fixed double.TryParse when the string was malformed such as "0.6.7"
  • Fixed GridSplitter direction when "ResizeDirection" was set to "Auto"
  • Fixed an issue that caused DateTime.MaxValue to have the value of DateTime.MinValue
  • Fixed an issue where the TextBox was 2 pixels too big due to the border on it
  • Fixed an issue where the "PointerExited" event was not raised when the element under the cursor was removed from the visual tree
  • Fixed an issue where ToolTip controls remained visible when their parent was removed from the visual tree


Contacting Us

For any bug report or trouble related to the new version of CSHTML5, please contact us at:
For any thought regarding this post, please use Journalists or bloggers, if you're thinking about writing on CSHTML5, please contact me to get access to our pressroom.

Logo: cshtml5_high_resolution_logo.png (1700px*1700px, 60KB)