C# 键入名称";OLEDB数据适配器“;在命名空间“中找不到”;System.Data.OleDb“;

C# 键入名称";OLEDB数据适配器“;在命名空间“中找不到”;System.Data.OleDb“;,c#,.net,wpf,dataset,C#,.net,Wpf,Dataset,在WPF C#(.NET5.0)中制作项目时,我希望使用数据库中的数据。我有一个Microsoft Access文件(2000-2003兼容版本,*.mdb),我需要将其用于我的项目 在我添加新源之后 添加>新项目…>Data>DataSet并正确指定了数据库(连接测试成功),已创建文件DataSetProj.xsd 但是,当我尝试运行代码时,出现了以下错误: Error CS1069: The type name 'OleDbDataAdapter' could not be found

在WPF C#(.NET5.0)中制作项目时,我希望使用数据库中的数据。我有一个Microsoft Access文件(2000-2003兼容版本,*.mdb),我需要将其用于我的项目

在我添加新源之后
添加>新项目…>Data>DataSet
并正确指定了数据库(连接测试成功),已创建文件
DataSetProj.xsd

但是,当我尝试运行代码时,出现了以下错误:

Error   CS1069: The type name 'OleDbDataAdapter' could not be found in the namespace 'System.Data.OleDb'. This type has been forwarded to assembly 'System.Data.OleDb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' Consider adding a reference to that assembly.
单击
CS1069
超链接时,站点打开(遗憾的是,没有提供有关错误的详细信息)

我试图自己修复错误,找到了名称空间文档。下面是我有趣的观察:由
DataSetProj.Designer.cs
文件自动生成的代码有类(假定在名称空间中定义),比如
OleDbConnection
,或者
OleDbDataAdapter
。有趣的是,名称空间提到了类,但它们似乎不是名称空间的一部分(尽管这是官方的MS文档)。当我输入任何一个类时,它们都包含在
System.Data.Ole.Db
名称空间中。这是一个奇怪且非常不清楚的文档(至少对我来说是初级开发人员)


我尝试切换到ErikEJ使用的.NET4.8Framework(不幸的是,它不能与Access*.mdb文件一起使用)。我在任何地方都找不到这个问题的答案,尽管似乎很多人都会有这样的问题。因此我决定分享我的解决方案。

我注意到类中引用的名称空间位于
System.Data.OleDb.dll
Assembly中。当谷歌搜索程序集的名称时,我找到了链接。下载并安装程序集(使用NuGet软件包管理器)后,错误得到解决

我希望其他有同样问题的人在访问此帖子时也能解决它