为什么 SQL 服务器无法识别,即使我有对 DAL05.dll 的引用?

Why is SQL Server not recognized, even though I've got a reference to DAL05.dll?

似乎每当我向使用 commonClass.vb 文件中的代码的项目添加任何内容时,我都会收到关于 SQL 服务器未被识别的错误。

我确实参考了 DAL05。

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

我需要添加其他参考资料吗?另一个或不同的进口?或者什么?

如您所见,我引用的是 DAL05,它不是作为识别 SQL 服务器的方式提供的:

更新:

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

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

更新 2:

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

Dim sqlDAL As New DAL05.DataAccess.SQLServer(

结果如下:

  1. 这不会减少错误的数量。

  2. 这似乎是 superfluous/moot 因为 DAL05.DataAccess." 是灰色的。

  3. SQLServer 的第二个和最后一个 r 上的红色下划线未删除。

然而,当我从错误列表中双击顶部的“Type 'SQLServer' is not defined.”错误消息时,它不再将我带到对 "SQLServer" 的引用,我在其中附加了看似无用的 "DAL05.DataAccess",但只转到 "naked" 对 "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:

Ever stranger: 我改了之后:

Imports DAL05.DataAccess

...为此:

Imports DAL05.DataAccess.SQLServer

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

Import DAL05.DataAccess.SQLServer' and other missing references?

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

并且 Imports DAL05.DataAccess.SQLServer 完全变灰,并显示以下有用信息:

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

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

2) 删除 .suo 文件和(可能与此无关)

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

另一个案例

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

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

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

3) 重新启动我的电脑。

它解决了问题