Подавление устаревших предупреждений в VB.NET

У меня есть код VB.NET в Visual Studio 2008 с использованием устаревшего метода и хотел бы подавить предупреждение. К сожалению, в соответствии с рекомендацией это не является хорошим решением, потому что для этого важно использовать другой класс, который по-разному работает по-разному.

Я пытаюсь подавить предупреждение с помощью System.Diagnostics.CodeAnalysis.SuppressMessage, но я не знаю, что писать в качестве параметров для атрибута и не могу найти никакой соответствующей ссылки.

Я также должен сказать, что, щелкнув правой кнопкой мыши на ошибке в списке ошибок, у меня нет опции "Подавить сообщение".

Ответ 1

Если вы используете Visual Studio, вы можете сделать следующее.

  • Щелкните правой кнопкой мыши по проекту и выберите "выгрузить"
  • Щелкните правой кнопкой мыши по проекту и выберите "Изменить SomeProjectName.vbproj"
  • Вы должны увидеть два тега элемента XML с именем "NoWarn". Добавьте номер 40000 в список уже имеющихся номеров (обязательно сделайте это для каждого тега NoWarn в файле)
  • Сохранить файл
  • Щелкните правой кнопкой мыши по проекту и выберите перезагрузку (вам придется закрыть файл .vbproj)

Это избавит вас от предупреждения. Номер 40000 - это номер ошибки VB.Net для предупреждения об ошибке. Вы можете подавить любое предупреждение таким образом.

Примечание. Если тега NoWarn отсутствует, добавьте его в основной элемент PropertyGroup со следующими значениями

<NoWarn>40000</NoWarn>

Ответ 2

В VS.NET вы можете щелкнуть правой кнопкой мыши и отключить предупреждения анализа кода. Это добавит вам атрибут.

Однако предупреждение "не использовать устаревшие API" не исходит из анализа кода, поэтому приложение SurpressMessage не будет работать. Это предупреждение компилятора.

Для VS.NET вам нужно отключить это предупреждение...

/nowarn:0618

... в командной строке (или просто добавив "0618" в поле Suppress Warnings в свойствах csproj). Вы должны сделать то же самое с любым номером предупреждения VB.

Ответ 3

Я смог разрешить это с ответом JaredPar в своем проекте VB, спасибо!

У меня было такое же предупреждение для моего тестового проекта С#, который я удалил, добавив 618 в раздел "Предупреждение" вкладки "Сборка" в "Свойства проекта".

Помните, что коды ошибок для VB и С# отличаются.


Если вы хотите исправить эти предупреждения, необходимо установить и использовать ODP.NET для разработчиков Microsoft OracleClient Developers

Microsoft обесценивает System.Data.OracleClient, также известный как Microsoft OracleClient. Разработчики Microsoft OracleClient могут использовать эту возможность, чтобы переоценить, какой поставщик данных использовать для текущих и будущих проектов. Oracle рекомендует начать создавать новые приложения Oracle.NET с Oracle Data Provider для .NET(ODP.NET) и перенести существующие приложения в ODP.NET.

http://www.oracle.com/technetwork/topics/dotnet/index-085703.html