Q: .NET execution environment for .NET6 or later

A:

In .NET for .NET6 or later, the built application entity is implemented in a DLL file.
The EXE file that is output at the same time has an architecture that loads this DLL file and executes it.

If you specify "Any CPU" and build an EXE application, the DLL file will be "Any CPU" managed code, but the EXE file will be native code that can run on the platform.
Therefore, in a 64-bit OS environment, 64-bit native code is output for the EXE file. In a 32-bit OS environment, 32-bit native code is output for the EXE file.
So, an EXE application built in a 64-bit OS environment can only be executed in a 64-bit OS environment, and cannot be executed in a 32-bit OS environment.

Please note that it is different from .NET Framework, which can be executed in both 64-bit OS environment and 32-bit OS environment if you specify "Any CPU" and build an EXE application.