Идентификаторы диагностики
Диагностические идентификаторы используются для идентификации API или шаблонов, которые могут вызывать предупреждения или ошибки компилятора. Это можно сделать с помощью DiagnosticId или ExperimentalAttribute. Их можно подавлять на уровне потребителя для каждого идентификатора диагностики.
Экспериментальные API
OOXML0001
Заголовок: API-интерфейсы, связанные с IPackage, в настоящее время являются экспериментальными
С версии 3.0 был добавлен новый уровень абстракции между System.IO.Packaging
и DocumentFormat.OpenXml.Packaging.OpenXmlPackage
. В настоящее время это экспериментальный метод, но при необходимости его можно использовать. Это будет стабилизировано в будущем выпуске и может потребовать или не требовать изменения кода.
Подавление предупреждений
По возможности рекомендуется использовать доступный обходной путь. Однако если вы не можете изменить код, вы можете подавить предупреждения с помощью #pragma
директивы или <NoWarn>
параметра проекта. Если необходимо использовать устаревшие или экспериментальные API и OOXMLXXXX
диагностика не отображается как ошибка, можно отключить предупреждение в коде или в файле проекта.
Чтобы отключить предупреждения в коде, выполните следующие действия:
// Disable the warning.
#pragma warning disable OOXML0001
// Code that uses obsolete or experimental API.
//...
// Re-enable the warning.
#pragma warning restore OOXML0001
Чтобы отключить предупреждения в файле проекта, выполните следующие действия:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<!-- NoWarn below suppresses SYSLIB0001 project-wide -->
<NoWarn>$(NoWarn);OOXML0001</NoWarn>
<!-- To suppress multiple warnings, you can use multiple NoWarn elements -->
<NoWarn>$(NoWarn);OOXML0001</NoWarn>
<NoWarn>$(NoWarn);OTHER_WARNING</NoWarn>
<!-- Alternatively, you can suppress multiple warnings by using a semicolon-delimited list -->
<NoWarn>$(NoWarn);OOXML0001;OTHER_WARNING</NoWarn>
</PropertyGroup>
</Project>
Примечание.
Подавление предупреждений таким образом отключает только указанные предупреждения об удалении. Он не отключает другие предупреждения, включая предупреждения об устареваете с различными идентификаторами диагностики.