为啥 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
那么我应该强制将Bin
和Bin\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 无法识别