Can you give more specific examples where deploying to Linux does not work? I use AoT compiling with static linking to have one binary - which can be copied and executed like any other Linux binary.
https://learn.microsoft.com/en-us/dotnet/core/deploying/nati...