为什么一个项目提供“过时”警告,而另一个项目没有?

时间:2011-08-15 08:05:31

标签: vb.net warnings obsolete

我有两个非常相似的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

这是警告:

  

Public Function Add(parameterName As String,value As Object)As   MySql.Data.MySqlClient.MySqlParameter'已废弃:'添加(字符串)   parameterName,Object value)已被弃用。使用   AddWithValue(String parameterName,Object value)'

如果我按照说明操作,并改为使用“AddWithValue”,警告就会出现。但我无法弄清楚为什么我在第一个项目中没有收到这些消息。

它们的配置似乎有些不同,但我无法弄清楚是什么。两者都使用相同版本的mysql.data.dll。两者都配置为通过项目>属性>编译菜单在相同的情况下显示警告。谁能建议在哪里检查?

1 个答案:

答案 0 :(得分:2)

可能已使用/nowarn禁用了该功能。

可能值得关闭项目并在文本编辑器中打开.vbproj文件并搜索NoWarn,因为我认为它可能也在其他地方。