Observations on .Net 11

I have upgraded all of my development host computers to .Net SDK 11, upgraded all of my target computers to .Net Runtime 11, and updated all of my projects and templates for same.

This will be the first in a series of posts containing my observations of the interactions between RemObjects Elements (all version 14.0.0.3155) and .Net 11.

macOS

Building in the Fire IDE produces perfect executables. The .runtimeconfig.json file correctly references .Net 11.

Building from the command line with the following command:

/Applications/Fire.app/Contents/Resources/DotNet/dotnet exec /Applications/Fire.app/Contents/Resources/EBuild.dll --configuration:Release --setting:ReferencePath="/Applications/Fire.app/Contents/Resources/References/Echoes/NET"

also produces perfect executables, even though /Applications/Fire.app/Contents/Resources/DotNet/dotnet is version 10.0.14.

I did learn the hard way to remove an old Fire.app directory before copying the new one.

Windows

Building in either Visual Studio or Water IDE produces perfect executables. The .runtimeconfig.json file correctly references .Net 11.

Building from the command line with the following command:

"C:/Program Files (x86)/RemObjects Software/Elements/Bin/EBuild.exe" --configuration:Release also produced perfect executables

also produces perfect executables. The .runtimeconfig.json file correctly references .Net 11.

Linux

Here things fail. Building in the Earth IDE succeeds, but the .runtimeconfig.json references .Net 10:

{
  "runtimeOptions": {
    "tfm": ".NETCoreApp,Version=v10.0",
    "framework": {
      "name": "Microsoft.NETCore.App",
      "version": "10.0.14"
    }
  }
}

This was what I actually expected, at best. I was surprised that macOS and Windows produced .Net 11 executables.

Building from the command line with the following command:

ebuild --configuration:Release --setting:ReferencePath="/usr/local/lib/elements/References/Echoes/NET"

fails with the following error messages:

You must install or update .NET to run this application.

App: /usr/local/lib/elements-14.0.0.3153/Core/EBuild.dll
Architecture: x64
Framework: 'Microsoft.NETCore.App', version '10.0.9' (x64)
.NET location: /usr/local/lib/dotnet-sdk-11.0.100/

The following frameworks were found:
  11.0.0 at [/usr/local/lib/dotnet-sdk-11.0.100/shared/Microsoft.NETCore.App]

Learn more:
https://aka.ms/dotnet/app-launch-failed

To install missing framework, download:
https://aka.ms/dotnet-core-applaunch?framework=Microsoft.NETCore.App&framework_version=10.0.9&arch=x64&rid=linux-x64&os=linux

I tried manually editing /usr/local/lib/elements-14.0.0.3153/Core/EBuild.runtimeconfig.json to reference .Net 11. Now I can build the project, but the resulting application program .runtimeconfig.json references .Net 10.