Архив рубрики: Software

Visual Studio: Предупреждение CA1416

Портируя код с 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")]