Как исправить предупреждение C# CA1416 в UWP с помощью Visual Studio

У меня есть проект с минимальной версией Windows 10, версия 1809 (10.0; сборка 17763), и я получаю тысячи предупреждений:

This call site is reachable on all platforms. 'ValueSet.this[string]' is only supported on: 'Windows' 10.0.10240.0 and later. 

Я прочитал документацию, там предлагается использовать:

[UnsupportedOSPlatform("windows")]
[SupportedOSPlatform("windows10.0.17763")]

Я не могу использовать его, потому что:

CS0246: The type or namespace name 'UnsupportedOSPlatformAttribute' could not be found (are you missing a directive or an assembly reference?)
CS0246: The type or namespace name 'UnsupportedOSPlatform' could not be found (are you missing a directive or an assembly reference?)

Как это исправить и почему я получаю предупреждающее сообщение, если версия выше 10.0.10240.0?

Есть ли у вас директива использования для этих атрибутов? using System.Runtime.Versioning;Я верю...

Jon Skeet 11.07.2024 09:50

Да. Когда я выбираю System.Runtime.Versioning.SupportedOSPlatform, появляется предупреждение: «Указывает, что API поддерживается для указанной платформы или операционной системы. Если указана версия, API не может быть вызван из более ранней версии. Можно применить несколько атрибутов для указания поддержки в нескольких операционных системах». системы Проект 1 – Нет в наличии Проект 2 – Не доступен Проект 3 – В наличии».

steam3d 11.07.2024 09:54
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
2
60
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я понял, поскольку у меня есть несколько проектов с разными фреймворками, и я использую между ними файлы cs, я не могу использовать их напрямую [SupportedOSPlatform("windows10.0.17763")].

Я должен указать, для какого правила структуры:

#if NET
        [System.Runtime.Versioning.SupportedOSPlatform("windows10.0.17763")]
#endif

«Я понял, потому что у меня есть несколько проектов с разными платформами, и я использую между ними общие файлы cs» — каждый раз, когда вы задаете вопрос, если вы находитесь в таком необычном контексте (совместное использование файлов .cs между проектами), это действительно важно, чтобы вы предоставили весь соответствующий контекст. Никто, кроме вас, не мог дать такой ответ, потому что вы не предоставили достаточно информации в вопросе. (В идеале для начала предоставьте минимальный воспроизводимый пример — придумав его, вы, вероятно, в первую очередь решили бы проблему.)

Jon Skeet 11.07.2024 10:26

@JonSkeet Да, но это было совсем не очевидно, потому что проект был выбран UWP и уведомление все равно отображалось, соответственно это меня ввело в заблуждение

steam3d 11.07.2024 10:36

И именно здесь вы могли бы потратить время на попытку воспроизвести это на минимальном примере.

Jon Skeet 11.07.2024 10:55

Другие вопросы по теме