NEW!
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
OpenSilver.net. Upgrading from
CSHTML5 to OpenSilver is very easy.
Read the FAQ
Most of your C# and XAML code can be reused when migrating with CSHTML5, resulting in:
CSHTML5 is the only tool that lets you compile a large subset of Silverlight and WPF code to HTML and JavaScript, while keeping your source code in standard C# and XAML.
This results in:
Yes, we have a very experienced team dedicated to the migration of Silverlight and WPF applications. We have already successfully ported many applications to HTML5, and we are constantly migrating Silverlight and WPF applications using CSHTML5.
The benefits of our services include:
To get an estimate for the work needed and cost, please contact us - Usually we start by signing an NDA, then you send us your source code, we analyze it, and we send you a proposal that contains the cost, the schedule, the deliverables, and the terms.
Note: please know that, due to the high number of demands that we are currently receiving, our team's availability varies. The sooner you contact us, the sooner we can guarantee the capacity and allocate the resources for your migration project.
Please keep reading for Frequently Asked Questions about our migration services.
Yes, you can also do the migration by yourself by purchasing the CSHTML5 Migration Edition and following this step-by-step tutorial. You can either do the migration entirely on your own, or you can get some assistance from us. As we are very flexible, you can choose the level of assistance that best suits your needs. For example, you can have meetings with us on a regular basis, or you can have us do some specific developments, or you can hire us to do the whole migration (cf. previous question).
- If you do the migration on your own, when a feature is not supported, you have the choice to:
- If you hire us to do the full migration, we take care of implementing all the workarounds in your application, and every time that we make a change to your source code, we mark it with a "#if CSHTML5" compiler directive, so that you can easily track it and see what has been modified.
After the migration you won't be coding in Silverlight or WPF any longer, but rather in .NET Standard, C#, and XAML (Note: a standard for XAML is in the works by Microsoft and will be supported by CSHTML5 as soon as it is ready), so your code base will become completely independent from Silverlight or WPF, and mostly compatible with the many other .NET Standard-based technologies and platforms.
While in the short term you will keep using CSHTML5 to compile your code to HTML5 - note that you do have access to the full source code of CSHTML5 so you are fully independent -, in the longer term you will be able to choose between a variety of alternative compilers. Microsoft itself is working on an open-source C# to WebAssembly compiler (cf. the Mono WASM repository), which by the way we plan to support in CSHTML5 as soon as it is ready.
Feel free to contact us if you have any questions.
The converted application GUI comes back very similar to the original one. By default, to ensure the best performance, basic controls such as buttons have flat styles (ie. they have a uniform background rather than a LinearGradientBrush), but those are very minor changes, and it is possible to obtain almost the exact same GUI as the original application if needed. Only third-party controls may render slightly differently depending on which JS libraries are used to replace them (read below, or contact us for more information).
After the conversion, you will be able to adjust the GUI. In fact, the source code is delivered to you in the form of a Visual Studio solution that contains only C# and XAML files (very similar to your original application), so you will be familiar with it and you will be able to adjust the GUI to suit your needs. You will then be able to make new versions by simply modifying the C# and XAML code and recompiling.
We handle them by implementing simple lightweight "adapter" projects that redirect the calls from the original third-party Silverlight or WPF suite of controls to a JavaScript-based implementation.
For example, the calls to the "Telerik UI for Silverlight" controls are usually mapped to the "Telerik Kendo UI for jQuery" controls. Your C#/XAML code remains unchanged but the underlying implementation is rendered via "Telerik Kendo UI for jQuery" instead of "Telerik UI for Silverlight". (See also: "Kendo UI wrappers for CSHTML5")
Even though the functionality of a third-party control can be huge (take the Syncfusion Spreadsheet control for example), it often requires only very few lines of code to make it available to the migrated application, so this "adapters" approach can be really powerful and cost-effective.
To implement the "adapter" projects, we leverage the two following automated tools:
We then finish the work by manually mapping each used feature.
Regardless of whether you hire us to do the full migration of your application or only to implement those "adapter" projects, we deliver to you the full source code of those projects, as well as the tools that were involved in their generation.
Please note that you will need a valid license for the third-party JavaScript controls that you will use in your migrated application. For example, if we map "Telerik UI for Silverlight" to "Telerik Kendo UI for jQuery", you will need to obtain a license from Telerik for the "Kendo UI for jQuery" suite of controls.
Feel free to contact us for any questions.
We send you a Visual Studio solution that is very similar to your original solution, but where the Silverlight and WPF projects have been replaced with CSHTML5 projects.
Those projects contain the same C# and XAML files as your original Silverlight or WPF projects, with minor changes to make them compatible with CSHTML5. Usually less than 3% of your original code is modified. We always surround the changes with a "#if CSHTML5" compiler directive, so that you can easily track it and see what has been modified. If you would like to get an idea of the kind of changes that we may make to your code, you can have a look at the XAML-related limitations, as well as some examples of .NET workarounds.
When you compile those CSHTML5 projects, Visual Studio generates the JavaScript and HTML files that you can use to deploy your application. One of the benefits of migrating with CSHTML5 is that your code base remains in C# and XAML (JavaScript is considered as a "compilation target", meaning that it is not intended to be modified manually because it is re-generated every time that you compile your project - sort of like how TypeScript transpiles to JavaScript).
In addition to those projects, we also send you the following additional Visual Studio projects:
You do not have to do any work: we take care of everything. You only need to assist us at the very beginning to make sure that the development environment is all set (ie. your client-side application needs to compile and run locally on our development machines), and at the very end to test the migrated application thoroughly to report any deficiencies.
Yes. Migration contracts usually include 3 to 5 years of complimentary support for the tooling. After that period, the cost of the annual support plan depends on whether you want Standard Support (which most people find sufficient) or Premium Support: the difference between the two plans and their costs are detailed on the Pricing page here (click the small "i" icon in the "Support" row to open the popup with all the details).
Please note that you only need us to support the tooling, not the code of your migrated application, because, as said above, your original C#/XAML source code remains almost unchanged, so you do not need support for that code that you have written. This is one of the benefits of migrating with CSHTML5 compared to hiring a company to re-write the application from scratch.
Userware is a private company founded in 2007 and located in Paris, France. The product CSHTML5 has been in the works since 2014 and counts several hundred paid customers, with at least a few dozens of professional applications successfully migrated from Silverlight and WPF. Userware has a portfolio of products that total more than 25,000 paid customers in 60+ countries. The company is growing rapidly and is in good financial health. More information about the company can be found on the About Us page.
To get an estimate for the work needed and cost, please contact us - Usually we start by signing an NDA, then you send us your source code, we analyze it, and we send you a proposal.
Note: please know that, due to the high number of demands that we are currently receiving, our team's availability varies. The sooner you let us know about your migration project, the sooner we can allocate resources to help you.