Wisej.NET 4 Designer Progress

Work on the .NET Core designer for Wisej.NET is progressing well. We should be able to provide an early beta version to Technology Partners sooner than expected!

To put things in perspective, this is why it’s taking some time: With the release of .NET Core and the updated WinForms and WPF designers Microsoft had to split the designer code into a separate process. It was necessary because Visual Studio is built on .NET Framework (and will remain so for the foreseeable future), while the designer code that uses core components must be compiled using .NET Core. Which also means that now Visual Studio cannot load the designer.

The designer is loaded in a separate process (DesignToolServer.exe) and “embeds” itself inside Visual Studio (in a special IRootDesigner) but it cannot reference any of the hundreds of APIs provided by VS. It must communicate through remote procedure calls (RPCs) that route a large number of properties and methods.

Our designers are more complicated than other component vendor’s because we need to install our own root document designer, custom toolbar, interact with VS, and take over many things that are usually taken for granted. To make a long story short, the VS team at Microsoft has been very helpful and we now have the initial infrastructure in place.

wisej-4-designer-preview

Work proceeds… We have to split every designer into two designers: one in core running in the hidden server and a proxy designer interacting with Visual Studio. All custom editors have to run in Visual Studio (client side in net48) and communicate with the server through new endpoints and payloads. It’s basically a large remoting system.

The main part was to get the system in place and now it is.