It has been a while, so it is time for a progress update.
X# 2.21
At this moment we're finalizing X# 2.21 which should be presented to our beta testers in the coming week or so. This build will include some fixes for issues that were reported by our customers, and also a fix in the Visual Studio 2022 integration. This was needed because Microsoft has changed some very fundamental things in the Visual Studio editor in recent VS 2022 builds, which caused 3rd party components that were using a "legacy" language service to lose functionality, such as Format Document, Snippets and more.
In case you're wondering: we are using this "legacy" model because that's the only thing that works with VS 2017 and VS 2019 as well.
We also fixed an issue in the DBF driver to better support FoxPro tables for Multi Byte characters sets (Chinese, Japanese etc.) and to better support VO DBF files that are created in OEM mode (SetAnsi(FALSE)). And the Chinese Help file has many more translated pages.
X# 3
We are also working on X# 3. This version will support the .Net versions that came after .Net Framework. To support this, we had to update our build system and Visual Studio project support. X# 3 will also include an updated compiler that will be based on the C# 12 source. We will add support for new language features such as "Global Usings" and "File Based Namespaces". If you are missing a (recent) C# feature in X#, please let us know. Maybe you are missing "Records" or a special kind of pattern matching? With the update of the compiler, "all" we need to do is to invent a syntax that fits in the X# language.
The X# 3.0 runtime will introduce some breaking changes, so you will have to recompile your apps to work with X# 3. We will change some APIs to use 64 bit values instead of 32 bits values (such as the File IO functions) to support the larger file sizes on modern operating systems.
We also plan to release Runtime packages for X# 3 and later as NuGet Packages with assemblies for the various different platforms (.Net Framework, .Net 7, .Net 8 etc.). X# 3.0 should be available early 2025.
The X# Summit in Munich
In several weeks we will meet some of you at our summit in Munich. You can find the (preliminary) session schedule here.
The event is not sold out. We can (and would like) to add a few more of you to our list of attendees.
If you want to meet us and share your ideas about the future of the X# development, please register and join us in Munich.
Great, thank you very much and looking forward to see you at the Summit!
That's a great new for the X# community, thanks for the update, I'm looking forward to trying out X# 3.
I wonder if there is any update on the FoxPro Project converter.
You wrote: "If you are missing a (recent) C# feature in X#, please let us know". What I am missing is not a C# feature but it works in C# and not in X# (basically the only advantage in VS above VO) and that is CodeLens. Is that something which is (now) easier realizable?
Dick,
CodeLens is not a compiler feature but a feature of the VS Editor. We are looking at that, but as with so many VS features, it is a challenge to implement this with very little impact on the speed of the editor.
Hello Robert,
Thanks for the quick reply. I realized that it was not a compiler feature but I hoped that also editor features were easier to implement. My guess is that more users benefit from editor related improvements than from extra compiler options or language elements but if it takes so much effort get these implemented I understand that you have to postpone these sometimes.
Hello Robert
At the moment we unfortunately still need the support of VS2019 because of the problem with the Winforms Designer in 32 bit applications. If this problem is solved, at least we would no longer need this support. If it facilitates the development of the addin for Visual Studio, you should consider supporting only VS2022 in the future to save development time. This could possibly be discussed briefly with the participants at the conference.
Hansjörg
Hansjörg,
We plan to drop support for VS 2017 with X# 3. However, exactly because of the Form designer issue, we will keep supporting VS2019 as long as possible.
Fortunately, we are using the Visual Studio Community Toolkit, which abstracts away a lot of the differences between the 32 bit and 64 bits versions of VS.
However, this change in the Language Service caught us by surprises and was also not documented at all by Microsoft.
If you check the Roslyn code for the C# and VB language service, then you can see that they have made this change in May 2024.
Robert