We had promised a X# 2.13 release "end of July"
We were about to release this build to our beta testers, but we found some last minute issues, mostly in the VS integration.

Since some of our team members are going for a short, well deserved, holiday, we will delay this build for a couple of weeks.
If you are "deperately" waiting for some of the new features, please contact us.
We can still give you the current installer, but there are a few "known issues" that some people may see as "show stoppers".

We think it is time for a progress update and a preview of what you can expect the rest of this year from us.

When What
End of July 2022 A new build X# 2.13 for our FOX subscribers.
This build will have some changes to the compiler, mostly in the area of the handling of DEFINES and numeric conversions and the /vo4 and /vo11 compiler options.
No real new features are planned for the compiler.
The runtime contains some fixes for FoxPro code and contains some small enhancements.
The VS Integration contains improvements in the formatting and intellisense, Windows Forms editor
End September 2022 We plan to release a new build (most likely called X# 3.0) that is compatible with .Net 5 and beyond.
This requires changes to the build system and VS integration and some changes to the compiler.
We will also additional compile the X# runtime for .Net 5 and beyond.
This build will also no longer be "binary compatible" with X# 2, so new versions of 3rd party components will be needed.
Of course we will still support .Net Framework 4.x
We also plan to release the first version of the VFP Xporter  that takes a VFP project file and converts that to a .Net solution.
October 2022 We hope to meet many of you during our X# summit in Memmingen.
And you can still register for this event.
We will also present a session on Virtual FoxFest about converting FoxPro apps to .Net.
December 2022 We plan to release the final version of the AnyCpu/Unicode VO Compatible GUI Classes and the AnyCpu/Unicode VO Compatible SQL Classes.
A first beta version of the X# SQL RDD is also planned for this month
These runtime components will be for FOX subscribers only.

Today we have released a public installer for XSharp Cahors 2.12.

The what's new document describing all the changes can be found here:

The public installer can be downloaded here.

{rsfiles path="installers/XSharpSetupPublic2.12.2.0.zip"}

We have also updated the installer for the FOX version of 2.12.

{rsfiles path="fox/Compiler/XSharpSetupFox2.12.2.1.zip"}

We have made the following changes in this installer (these changes are also included in the public version)

  • Restored support for VS 2022, versions 17.0 and 17.1
  • Fixed an issue in the VS integration that would cause problems with TFS
  • The runtime help for functions and methods with CLIPPER calling convention (such as the Str() function) has been updated.

If you have downloaded before and you do not use VS 2022 version 17.0 or 17.1 and you do not use TFS then you do not need to download this update, unless you want to get the updated help file.

Today we have released an installer for our FOX subscribers only for XSharp Cahors 2.12 which contains some fixes for problems reported with X# 2.11, and some new features.

The what's new document describing all the changes can be found here:

{rsfiles path="fox/Compiler/XSharpSetupFox2.12.2.1.zip"}

A public release is planned for next week.


You have not heard from us in a while, but that does not mean that we have been idle.
We are finalizing the 2.12 build of X# at this moment that comes with several changes that people have asked for:


  • TEXT .. ENDTEXT support in all dialects. We have change how this command is implemented to make it as flexible as possible. The TEXT .. ENDTEXT is a UDC that is translated to a #text .. #endtext preprocessor directive. You will have the ability to change how this command works.
  • We have added a new compiler option (/vo17) to make the BEGIN SEQUENCE commands more compatible with Visual Objects. Commands with a RECOVER USING statement were "swallowing" exceptions in the past. With this option the exceptions will be sent to a special function (FUNCTION _SequenceError(e AS Exception) AS USUAL)) that you can override in your code. The default implementation of this function calls the runtime error handler.
    And when there is NO RECOVER USING then the compiler will generate one and will call a runtime function that you can also override (FUNCTION _SequenceRecover(uBreakValue AS USUAL) AS VOID).) Of course "real" exceptions will also call the _SequenceError that was mentioned above.
  • We fixed several issues in the compiler


  • We fixed several issues in the runtime

Visual Studio integration

  • Many issues were fixed in the editor.
  • We have added a new options page (Tools/Options/Text Editor/X#) where you can control which suggestions the editor will suggest in "general" code completion list. Code completion after a colon or dot will show namespaces, types, members etc. And codecompltion after AS or IS will show types and namespaces. But for example code completion after the := operator may show locals, fields & properties of the current class, Globals, Functions etc. You can control where the editor looks for these entries.
  • You can now control the indenting settings from the .editorconfig file.

The new version will be tested by a small group of beta testers this week. We plan to release it to the rest of the subscribers next week, and a new public version will most likely be released a week after that.