Почему один проект дает «устаревшие» предупреждения, а другой нет? - PullRequest
0 голосов
/ 15 августа 2011

У меня есть два очень похожих проекта vb.net. Оба были недавно преобразованы из .net 1.1 в 3.5.

В одном из следующих кодов нет предупреждений. В другом я получаю предупреждение при попытке установить параметры объекта команды mysql:

 Public Sub mySub(ByVal applid As Integer, ByVal text1 As String,ByVal text2 As String)
            Dim objMYSQL As New Classes.DataAccess.clsMysql
            Dim objConnection As New MySQL.Data.MySQLClient.MySqlConnection
            objConnection = objMYSQL.ConnectionNew("myDB")
            Dim objCommand As MySqlCommand

            Dim InsertSQL As String = ""

            InsertSQL = "insert into [myTable] ([text1],[text1])"
            InsertSQL = InsertSQL + " values(@txt1,@txt2)"

            objCommand = New MySQL.Data.MySQLClient.MySqlCommand(InsertSQL, objConnection)
            objCommand.CommandType = CommandType.Text

           'Set parameters
            objCommand.Parameters.Add("@txt1", text1) ' Warning here...
            objCommand.Parameters.Add("@txt2", text2) '...and here!

            objCommand.ExecuteNonQuery()

        End Sub

Вот предупреждение:

Открытая функция Add (имя_параметра как строка, значение как объект) как MySql.Data.MySqlClient.MySqlParameter 'устарел:' Добавить (String имя_параметра, значение объекта) устарело. использование AddWithValue (String параметрName, значение объекта) '

Если я следую инструкциям и вместо этого использую «AddWithValue», предупреждения исчезают. Но я не могу понять, почему я не получаю эти сообщения в первом проекте.

Кажется, в их конфигурации что-то другое, но я не могу понять, что именно. Оба используют одну и ту же версию mysql.data.dll. И то, и другое настроено на показ предупреждений при одинаковых обстоятельствах через проект> свойства> меню компиляции Кто-нибудь может подсказать, где еще проверить?

1 Ответ

2 голосов
/ 15 августа 2011

Возможно, он был отключен с помощью / nowarn .

Возможно, стоит закрыть проект и открыть файл .vbproj в текстовом редакторе и выполнить поиск NoWarn, поскольку я думаю, что он также может быть где-то еще там.

...