Портируя код с WPF на Windows Forms, я снова столкнулся с предупреждениями CA1416 в компиляторе:
Warning CA1416 This call site is reachable on all platforms. ‘Application.SetCompatibleTextRenderingDefault(bool)’ is only supported on: ‘windows’ 6.1 and later.
Поскольку я действительно использую много методов и NuGet библиотек, которые работают только с Windows, то можно было бы добавить перед классом специальный аттрибут:
[System.Runtime.Versioning.SupportedOSPlatform("windows")]
Решение
Но, если мне бы мне потребовалось ограничить версию, например, в случае использования пакетов NuGet, которые кроме этого ещё и требовательны к определённой минимальной версии сборки, можно было бы указать и это прямо перед классом, в котором эти предупреждения появились:
[SupportedOSPlatform("windows10.0.19041")]
Если таких предупреждений много (например, если несколько методов), то можно указать это ограничение для всего файла (после using):
using System.Windows.Forms;
[assembly: SupportedOSPlatform("windows10.0.19041")]