В Java используют BOM (но не тот, который Unicode!), в C# NuGet умеет в локфайлы (правда, делает это хреново на старой SDK из-за кривого fallback folder, который они в неё нечаянно зашили).
С переездом всех аппов на .NET 5-only планирую попробовать его снова включить. Посмотрим, заработает ли уже или нет.