The compiler for the upcoming 2.8 build of X# has received an "overhaul". We have updated the Roslyn code to the latest C# level (the same C# that comes with VS 2019 Preview 4). This means that we now benefit from many changes in the C# compiler. You should see that the compiler is a bit faster. The new compiler requires .Net framework 4.7.2 or .Net core 3.0. The apps created with the new compiler can still target the framework versions from 2.0 until 4.8, .Net Core 2.0, 3.0 and .Net 5 and .Net 6.

We have also taken the opportunity to add a few new things to the language:

Local Functions and Local Procedures

You can declare local function  and local procedures inside methods, properties, functions and procedures.

The syntax is

LOCAL FUNCTION <Name> (<Parameters>) AS <Type>
. statements

Some remarks:

As of today X# is a dealer of Advantage Database Server (ADS). You can buy ADS Client Access Licenses (CAL) from us in several sized batches (1,2,5,10,25,50, 100, 250, unlimited) and you can also buy "expansion packs" to increase the number of licenses of your server.

The ADS pricelist is quite complicated, so we will not add all possible options to our online store, but just a few to give you an idea.

In all cases: contact us to get a quote.


There will be another online presentation this week.
It will be take place on Thursday February 25th at 16:00 CET (Amsterdam time).
The presentation will be done by our Devteam member Chris Pyrgas.
The subject will be:

migrating applications from Visual Objects to X# and the changes that you have to make to your source code because of the differences between the two.

Afterwards the recording of the sessions will be uploaded to our Youtube channel "X# Academy"

In January we have shared our list of "things to do" with our subscribers and asked them to help us prioritize the development.
We have analyzed the feedback and combined that with our own ideas and have come with the following plan for 2021.
But before we list the results, we would really like to thank our subscribers for the very positive feedback. The most requested feature was "that we stay in business". And that is exactly what we plan to do !

Finally the obvious disclaimer: these are our plans. They are not set in stone. We will adjust these plans whenever we see fit.

When SubSystem Deliverables


Compiler /
  • New compiler based on C# 9 with support for Local Functions, USING statements and more. This also prepares the compiler for new features in .Net 5 and .Net Core.
  • Additional FoxPro runtime functions
  • Improved FoxPro array support
  • Beta version of VO GUI Classes based on Windows Forms and VO SQL classes based on Ado.Net
  • ExecScript() support based on the Full Roslyn scripting engine 
  • Runtime Debugging support with windows built in the Runtime to show workareas/cursors, globals, privates and settings
  • Visual Studio performance enhancements and improvements in the code completion.
  • FoxPro project to VS solution converter. This includes a first layer of UI classes that map the FoxPro UI to Windows Forms.


  • New languages features, such as improved Tuples support
  • Parsing of FoxPro embedded SQL
  • Beta version of SQL RDD that uses Ado.Net to fetch data.
  • Implementation of FoxPro embedded SQL based on Advantage Database Server
  • Additional FoxPro runtime functions
  • Release of VO GUI Classes based on Windows Forms and VO SQL classes based on Ado.Net
  • Speed improvements for Shared DBF access
VS / Build
  • Beta version of support for .Net 5 and .Net Core (the compiler already supports this)
  • Improvements to the FoxPro project converter and support libraries

Later /
when it is ready

Compiler /
  • Adjust our runtime to work with .Net 5 and .Net Core
  • The last missing FoxPro runtime functions
  • Optimized version of the ExecScript() support
  • FoxPro reporting (based on ReportPro)
VS / Build System
  • Release version of support for .Net 5 and .Net Core in the build system and Visual Studio
  • Debugger improvements
  • Support for .Net 6
  • Additional project templates for various platforms and problems.
  • Adjust ReportPro 2 to use Windows Forms for its UI and support FoxPro reports

We'll pick up the series of online presentations that we did last year. From now on, until further notice, we plan an online session at the last Thursday of every month, at 16:00 Amsterdam time (GMT+1 at this moment).

Next week, on Thursday 28th, the session will demonstrate the new ExecScript() support that we have added to the runtime. With this support you can execute single lines of code or even whole blocks of code. This includes the use of UDCs and passing in parameters. The script is now fully "dialect aware" and supports all Xbase types.
We'll also (briefly) show some other new features that we have worked on, such as local functions, expression bodied members and more. Robert will present this session.

In the last week of February we will go back to the "fundamentals" and will demonstrate how apps can be xported from VO to X#. Most likely Chris will present this session.

End of March we hope to present Exporting a FoxPro app to X#, including Forms, Menus and databinding. Most likely Fabrice will present this session.

The online sessions will use Zoom and the login info will be posted here on the morning of the session. Afterwards the recording of the sessions will be uploaded to our Youtube channel "X# Academy"