【问题标题】:"PublicKeyToken <..> is not a valid extension type." Error?“PublicKeyToken <..> 不是有效的扩展类型。”错误?
【发布时间】:2013-05-04 20:08:59
【问题描述】:

我在我的应用程序中添加了一条 UPDATE 语句,它运行良好。它正确更新了数据库,除了四个错误消息之外,我没有看到任何问题。这是什么意思?

Error   1   Type Microsoft.Data.Tools.Schema.Sql.Sql90DatabaseSchemaProvider, Microsoft.Data.Tools.Schema.Sql, Version=10.3.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a is not a valid extension type.        0   0   
Error   2   Type Microsoft.Data.Tools.Schema.Sql.Sql100DatabaseSchemaProvider, Microsoft.Data.Tools.Schema.Sql, Version=10.3.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a is not a valid extension type.       0   0        
Error   3   Type Microsoft.Data.Tools.Schema.Sql.Sql110DatabaseSchemaProvider, Microsoft.Data.Tools.Schema.Sql, Version=10.3.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a is not a valid extension type.       0   0   
Error   4   Type Microsoft.Data.Tools.Schema.Sql.SqlAzureDatabaseSchemaProvider, Microsoft.Data.Tools.Schema.Sql, Version=10.3.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a is not a valid extension type.     0   0

我的代码:

Using sqlCon = New SqlConnection("Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\ITCSDatabase.mdf;Integrated Security=True")
    sqlCon.Open()
    Dim name As String = "Name"
    Dim link As String = "link"
    Dim dec As Integer = 0
    Dim sqlUpdate = "INSERT INTO appTable " & _
    "VALUES (41, @name, @link, 0, @dec, 0)"
    Dim updateCmd = New SqlCommand(sqlUpdate, sqlCon)
    updateCmd.Parameters.AddWithValue("@name", Name)
    updateCmd.Parameters.AddWithValue("@link", link)
    updateCmd.Parameters.AddWithValue("@dec", dec)
    updateCmd.ExecuteNonQuery()
    sqlCon.Close()
End Using

*注意:它是本地存储在用户机器上的本地数据库 (.mdf)。 **局部变量; name、link 和 dec 仅用于测试。一旦它正常工作,它们将被用户输入替换。

【问题讨论】:

  • Phil,希望你看到编辑后的标题是一个更好的标题。事实上,只要看到几乎没有任何信息的标题,我就知道这个问题是你的问题。
  • 另外,Visual Studio 和 .Net 的版本是什么? (很抱歉所有后续行动,但这是您希望在问题中包含的信息以获得最佳回复。)
  • 我刚刚编辑了他的大约五个标题。这就是他创建标题的方式,我希望它停止。
  • 我正在研究它,约翰。我现在明白这是不可接受的。谢谢。
  • @PhilJFry:我希望如果您查看编辑后的标题并将其与您自己的标题进行比较,您将学会创建更好的标题。

标签: .net sql vb.net visual-studio


【解决方案1】:

似乎是 VisualStudio 2012 的 known problem。重新启动应该有助于删除这些消息。

【讨论】:

  • 谢谢。重启解决了这个问题,并添加它与上面列出的代码无关。错误引用的公钥在我的 app.config 文件中。
【解决方案2】:

试试这个:

Using sqlCon = New SqlConnection("Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\ITCSDatabase.mdf;Integrated Security=True")
    sqlCon.Open()
    Dim name As String = "Name"
    Dim link As String = "link"
    Dim dec As Integer = 0
    Dim sqlUpdate = "INSERT INTO appTable " & _
    "VALUES (41, @name, @link, 0, @dec, 0)"
    Dim updateCmd = New SqlCommand(sqlUpdate, sqlCon)
    updateCmd.Parameters.AddWithValue("@name", Name)
    updateCmd.Parameters.AddWithValue("@link", link)
    updateCmd.Parameters.AddWithValue("@dec", dec)
    updateCmd.ExecuteNonQuery()
    sqlCon.Close()
End Using

【讨论】:

    猜你喜欢
    • 2021-02-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-15
    • 1970-01-01
    相关资源
    最近更新 更多