A: In .NET
for .NET8 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.