.NET 标准 2.0 Data.OleDb

.NET Standard 2.0 Data.OleDb

在下图中可以看到两个项目(Visual Studio 2017 v15.9.6):

-GeneralFunctions 是 .NET Standard 2.0

-TestFramework 是 .NET Framework 4.6.1

我的想法是在.NET Std 项目中开发一些函数并从.NET Framework 中访问它们。我一直在努力让 "System.Data.SqlClient.SqlConnection" 和 "System.Data.Odbc.OdbcConnection" 工作。 Answer here.

现在我想实现 "System.Data.OleDb.OleDbConnection" 但我找不到它的 NuGet 包。

Dim connection As IDbConnection
connection = New System.Data.SqlClient.SqlConnection("")
connection = New System.Data.Odbc.OdbcConnection("")
connection = New System.Data.OleDb.OleDbConnection("")

OleDB 的错误是: 错误 BC30002 类型 'System.Data.OleDb.OleDbConnection' 未定义。

它不起作用的原因是 OLE 是 windows 的平台特定技术。您不能在非 windows.

平台上使用 OLE

出于这个原因,Microsoft 没有创建 .NET Standard System.Data.OleDb NuGet 包,您需要在完整的 .net 框架库中创建 Ole 连接并将其作为 IDbConnection 到您的 .NET Standard 代码中。

您可以查看 here 支持 Ole Db 的框架列表

更新:(从 Peter 的一个不错的答案中复制,已被版主删除)
MS 两周前为 OleDb 发布了一个 NuGet 包:https://www.nuget.org/packages/System.Data.OleDb/