During our last online session on March 25th there was a dicsussion about how we make it easier for  people to migrate their applications to X# and how to document the common pitfalls and other problems. People suggested that they would want to help out with for example documenting compiler errors with examples of code that throws these errors and examples of how to solve these problems.

In this article we would like to list several areas of the XSharp project where we could use some help


On Thursday March 25th at 16:00 CET (Amsterdam time)  Chris Pyrgas will present part 2 of his online presentation about  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.

The session that was originally planned for Thursday about transporting FoxPro apps to X# has been rescheduled to April.

The session will use Zoom and the login details will be published here on Thursday morning.

If you missed part 1, you can still see it in our Youtube channel "X# Academy"

The recording of the session will be uploaded later today to the same Youtube Channel

We will open the session room at 15:30 so you can chat with eachother before the session if you want.

If time permits and if the attendees are interested then we will also preview some of the changes for X# 2.8 that will be released soon.


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
.
END FUNCTION

Some remarks: