XSharp XSharp
  • Home
  • Forum
    • Forum Index
    • Forum Rules
  • Articles
    • News
    • Blog
    • User contributions
    • Other articles
  • Downloads
    • All
  • Links
    • Examples
    • X# Tools Infominds
    • X# Documentation Website (User driven)
    • Phil Hepburns Enotes
  • Help
    • Why XSharp
    • FAQ
    • English Help
      • Online Help
      • Runtime & VO SDK documentation
    • Chinese Help
      • Online Help
      • Runtime & VO SDK documentation
    • XSharp Academy on Youtube
    • -------------------------------------------------------
    • Third party Help
  • Buy
    • Donations
    • The XSharp Corporate Sponsorship program
    • Online Shop
  • Contact
    • Login
    • Sitemap
    • Privacy Policy
    • Our Corporate Sponsors
    • Registration
  • Free software
    • XSharp Open Software License
    • Apache License
    • Antlr BSD License
    • Contributing
    • We believe in Open Source

Progress report April 2025

22 April 2025

We are nearing the release of X# 2.23, which is currently in beta. Initial feedback is positive, and we plan to publish a subscriber build and also a public build of this version shortly.
X# 2.23 will be the final release in the X# 2 series.

X# 3

Looking ahead, we are actively working on X# 3. This next major version introduces several key improvements and changes:

  • Multi Targeting: X# 3 supports both .NET Framework (4.x) and the latest .NET versions (6, 7, 8, etc.).

  • Enhanced Language Support: It is aligned with the latest C# compiler and includes new language features such as file-scoped namespaces and global using directives.

  • Modern Project Format: X# 3 adopts the new SDK-style project format in Visual Studio, enabling multi-targeting. You’ll be able to compile your applications and libraries for .NET Framework 4.x and .NET 8 or 9 simultaneously, with separate output directories for each target. This format is also much simpler, and requires fewer updates when code is added to a project. Thus makes it easier to work with this format in team environments.

  • NuGet Distribution: The X# runtime will be delivered via NuGet packages. For instance, referencing the XSharp.VO package will automatically include all necessary assemblies (XSharp.Core, XSharp.RT, XSharp.RDD, XSharp.VO, and XSharp.MacroCompiler). An additional package, XSharp.VOSDK, will provide the Visual Objects SDK classes (System Classes, RDD Classes, GUI Classes, etc.). These NuGet packages will be updated independently of the compiler and tools, streamlining the distribution of patches and runtime updates. They will also support multiple target frameworks.

While development of X# 3 is slightly behind schedule, we are aiming to release the first version before the summer.

Looking Ahead: A Milestone Year

This September marks the 10th anniversary of X#. It’s been an incredible journey since our initial announcement in the UK back in September 2015.
We plan to celebrate this milestone in a meaningful way—and we have some exciting announcements lined up for later this year.
Stay tuned!


12 comments

  • Wolfgang Riedmann
    Tuesday, 22 April 2025 17:08

    Great, thank you for letting us know, and thank you for your continued work!

    Wolfgang

  • Irwin
    Wednesday, 23 April 2025 08:54

    wow! this version sounds great. Keep going with the hard work guys.

  • Will
    Friday, 25 April 2025 04:36
    Whatever happened to the SQL RDD?Was that put in the too hard basket?
    • Robert van der Hulst
      Friday, 25 April 2025 09:00

      Will

      a new beta of the SQLRDD will be released shortly

      Robert

  • Dick
    Monday, 28 April 2025 10:44

    I would probably be the last one to use X# 3.0 anyway (all 3rd party libraries need to be recompiled and that is very likely to cause problems). But I understand the need for X# 3 to use .Net 8/9 etc which some of us would like to do (and I don't). There's however one other reason that would even more keep me from using X# 3.0: the NuGet distribution. The current installer works perfectly. In minutes, you can reinstall an older version or go back to a newer one and it all works, provided you don't store anything in the GAC.

    Every NuGet distribution means trouble. I don't understand why something which works perfectly needs to be replaced with something which causes trouble. I understand that this this is company policy for large software firms. They follow the general trend towards whatever is supposed to be the standard and they don't care at all about what their users think. Other bad ideas, like storing DLL's in the GAC, can easily be avoided in X# 2 during installation and I never had to uncheck it again after I first did. Great.

    So why replace something which works perfectly with something which does not? I did not expect this behaviour from X#.

    Dick

  • Robert van der Hulst
    Monday, 28 April 2025 11:19

    Dick,

    Nuget packages allow you to distribute DLLs with the same name, compiled for different target frameworks (for example .Net Framework 4.6 and .Net 9) in a single package. That simplifies things a lot.

    It is also an easy way to update and deploy the runtime without having to update the compiler and/or VS integration at the same time. There is no need to an installer, you can update the package from the Package Manager inside Visual Studio.

    We will most likely create a single package (for example, called XSharp.VO) that contains all the DLLs to compile for the X# VO dialect. Your app will have a single reference to XSharp.VO.

    In reality, this package would probably contain only a few VO dialect specific assemblies and a reference to another nuget package that contains the common DLLs for all the XSharp dialect (like XSharp.Core, XSharp.RT and XSharp.RDD)

     

  • Dick
    Monday, 28 April 2025 23:27

    Hello Robert,

    Thanks for explaining and I understand that it makes sense for you and also for a part of the users.

    this package would probably contain only a few VO dialect specific assemblies and a reference to another nuget package

    However, that all sounds even worse to me than I thought. As written, the current installer works great and as an end user I don't care if e.g. only the runtime is updated or everything. I couldn't care less about dealing with different target frameworks although I emphasize that I understand some of the users do.

    I also wonder if Xide users now need VS to update their X# versions to get new versions.

    I have converted some programs to make them more future proof, written a few small new programs in X# to get familiar with X# but almost all my code works just as well in VO. Wherever I used the latest technologies from Microsoft (e.g. WPF, WCF) it was not exactly a success. And most larger projects we started will remain in VO anyhow which makes it a lot easier and less frustrating to maintain.

    Where other users asked for compatibility from languages added later like Foxpro or Harbour, and also about language features not present in VO, I have mainly tried to  get as much of the ease-of-use I have in VO also in X#. But despite your appreciated efforts, some (for me important) features could never be realized, either because they were too time consuming and also because it is VS you have to deal with. Maybe 80% (after considering the few advantages VS offers above VO). I consider NuGet installs a serious step back.

    Just my thoughts. For me personally it doesn't matter if X# 2.23 will be the last X# version I use.

    Dick

    • Robert van der Hulst
      Tuesday, 29 April 2025 08:27

      Dick,

      Let's agree to disagree

      Robert

      • Wolfgang Riedmann
        Tuesday, 29 April 2025 13:30

        Hi Robert,
        if I understand it correctly: using Nuget for distribution is an option and not a must. We can continue to distribute our apps as before.
        Wolfgang

      • Robert van der Hulst
        Tuesday, 29 April 2025 14:57

        Wolfgang,

        Of course, you can use the "old way". We're not taking away things, but we're adding new things.

        Robert

  • 1
  • 2
  • End

Login to post a comment

Create an account
  • Forgot your username?
  • Forgot your password?
  • +31651200522
  • info@xsharp.eu

Main menu

  • Home
  • Forum
    • Forum Index
    • Forum Rules
  • Articles
    • News
    • Blog
    • User contributions
    • Other articles
  • Downloads
    • All
  • Links
    • Examples
    • X# Tools Infominds
    • X# Documentation Website (User driven)
    • Phil Hepburns Enotes
  • Help
    • Why XSharp
    • FAQ
    • English Help
      • Online Help
      • Runtime & VO SDK documentation
    • Chinese Help
      • Online Help
      • Runtime & VO SDK documentation
    • XSharp Academy on Youtube
    • -------------------------------------------------------
    • Third party Help
      • ReportPro 2 User Guide
      • ReportPro 2 Developer Guide
      • ReportPro 3
      • Xs2Ado
      • Vo2Ado
      • Vo2Jet
      • Vo2Btrieve
      • SeuiXp
  • Buy
    • Donations
    • The XSharp Corporate Sponsorship program
    • Online Shop
  • Contact
    • Login
    • Sitemap
    • Privacy Policy
    • Our Corporate Sponsors
    • Registration
  • Free software
    • XSharp Open Software License
    • Apache License
    • Antlr BSD License
    • Contributing
    • We believe in Open Source