为啥 SQL Server 无法识别,即使我有对 DAL05.dll 的引用?

Posted

技术标签:

【中文标题】为啥 SQL Server 无法识别,即使我有对 DAL05.dll 的引用?【英文标题】:Why is SQL Server not recognized, even though I've got a reference to DAL05.dll?为什么 SQL Server 无法识别,即使我有对 DAL05.dll 的引用? 【发布时间】:2017-04-17 22:52:57 【问题描述】:

似乎每当我在我的项目中添加任何使用 commonClass.vb 文件中的代码的东西时,我都会收到有关 SQL Server 无法识别的错误。

我确实提到了 DAL05。

文件中的 SQL Server 显示它无法识别,DAL05.DataAccess 导入也是如此:

我需要添加另一个参考吗?另一个或不同的进口?还是什么?

如您所见,我引用的是 DAL05,它不是作为识别 SQL Server 的一种方式:

更新

一个可能很重要的事实:遗留项目之间的区别 - 它在识别 SQL Server 方面没有问题 - 是它甚至没有References 文件夹; DAL05.dll(和DAL05.pdb)低于\<project>\bin\Common

那么我应该强制将BinBin\Common 文件夹放入我的项目(通过Windows 资源管理器),然后将这些文件添加到那里吗?这就是解决方案(没有双关语)吗?

更新 2

好的,现在这变得很奇怪;根据我在here 发现的类似问题的线索,我将DAL095.DataAccess. 添加到SQL Server 中,如下所示:

Dim sqlDAL As New DAL05.DataAccess.SQLServer(

结果如下:

    这不会减少错误的数量。

    这似乎是多余的/没有实际意义,因为 DAL05.DataAccess." 是灰色的。

    SQLServer 的第二个和最后一个 r 上的红色下划线不会被删除。

然而,当我从错误列表中双击顶部的“Type 'SQLServer' is not defined.”错误消息时,它不再将我带到对“SQLServer”的引用我添加了看似无用的“DAL05.DataAccess”,但只添加了对“New SQLServer”的“裸”引用:

如果它意味着什么,失败的功能是:

Public Function GetUserInfo(ByVal userid As String, ByVal password As String, ByVal memberno As String) As DataTable
    Dim sqlDAL As New SQLServer(System.Configuration.ConfigurationManager.AppSettings("OrderEnterConnection"))
    Dim dset As DataSet
    dset = sqlDAL.runSQLDataSet("Exec up_GetUserData_Web_2012 '" + userid + "','" + password + "','" + memberno + "'")
    Return dset.Tables(0)
End Function

更新 3

曾经的陌生人:在我改变这个之后:

Imports DAL05.DataAccess

...到这个:

Imports DAL05.DataAccess.SQLServer

我终于得到了一些看似明智的 Intellisense 帮助;它说,

导入 DAL05.DataAccess.SQLServer' 和其他缺失的引用?

我接受了,但我仍然有相同的 204 错误。

Imports DAL05.DataAccess.SQLServer 完全变灰,并带有以下有用的消息:

【问题讨论】:

并不是说 不相信你,但图像可以 证明 它有那个参考 a) Show all Files b) 扩展 参考 节点显示引用的任何问题 也许它在那个工具提示下? 查看之前关于对象浏览器和查看 DAL05 中的命名空间和类型的评论 - 它提供了该导入,因为您要创建一个 New DAL05.DataAccess.SQLServer。我们不知道这些是否有意义。 第一张图显示commonclass在类声明行(Public class commonclass)有错误,你能显示一下吗? 当引用的 dll 的 .NET Framework 版本与项目不兼容时,我遇到了此错误。您当前项目的 .NET 版本和 DAL05.dll 是否不同? 您是否尝试将项目作为网站而不是作为解决方案打开?您是否也将网站转换为应用程序? 【参考方案1】:

正如@B. Clay Shannon(OP)评论的解决方案是:

1) 清除所有 TFS 痕迹(.sln 文件中的文件和条目);

2) 删除 .suo 文件并且(可能与它无关)

3) 以管理员身份打开 Visual Studio。

另一个案例

我遇到了同样的问题,我做了以下步骤

1) 关闭所有打开的选项卡,清理所有项目并重建,

2) 关闭我所有的 Visual Studio 实例

3) 重新启动我的电脑。

它解决了这个问题

【讨论】:

?!大声笑..所以只需复制上面的评论并粘贴作为答案。该死!我自己应该更快

以上是关于为啥 SQL Server 无法识别,即使我有对 DAL05.dll 的引用?的主要内容,如果未能解决你的问题,请参考以下文章

为啥我的 SQL Server 列看起来没有默认值,即使它的行为就像它一样?

SQL Server 错误:“无法为标识列插入显式值”,即使我 SET IDENTITY_INSERT ON

无法在 SQL Server 视图中使用工作查询:“IS”无法识别“>”无法识别

SQL Server 10.50 OVER PARTITION 无法识别

为啥我无法在 SQL Server Management Studio 中打开此表?

为啥sql server 2008r2 数据库出现"可疑"导致无法访问