Как исключить проект .NET 5.0 из сборки в зависимости от операционной системы

#visual-studio #build #dotnet-build

Вопрос:

У нас есть решение Visual Studio с несколькими проектами .NET 5.0, одним из которых является Windows Application ( TargetFramework is net5.0-windows ). Очевидно, что он не может работать на Linux и Mac. Как мы можем сделать так, чтобы он строился или не строился, в зависимости от операционной системы? Сценарии, которые мы должны поддерживать, следующие:

  1. Сборка из Visual Studio в Windows.
  2. Сборка из JetBrains Rider на Windows и Mac.
  3. Построение из командной строки в Windows, Mac и Linux. Для командной строки , которую мы в настоящее время используем dotnet build , а также dotnet test dotnet pack для создания решения в первую очередь.