fmo*_*iro 4 .net vb.net oledb sqlclient .net-standard
在下图中可以看到两个项目(Visual Studio 2017 v15.9.6):
-GeneralFunctions 是 .NET 标准 2.0
-TestFramework 是 .NET Framework 4.6.1
我的想法是在 .NET Std 项目中开发一些功能并从 .NET Framework 访问它们。我一直在努力使“System.Data.SqlClient .SqlConnection ”和“System.Data.Odbc .OdbcConnection ”正常工作。在这里回答。
现在我想实现“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("")
Run Code Online (Sandbox Code Playgroud)
OleDB 的错误是:错误 BC30002 类型“System.Data.OleDb.OleDbConnection”未定义。
它不起作用的原因是 OLE 是 Windows 平台特定的技术。您不能在非 Windows 平台上使用 OLE。
因此,Microsoft 没有创建 .NET Standard System.Data.OleDbNuGet 包,您需要在完整的 .net 框架库中创建 Ole 连接,并将其作为IDbConnection.NET Standard 代码传入。
您可以在此处查看支持 Ole Db 的框架列表
更新:(复制自Peter的一个不错的答案,已被版主删除)
MS 两周前发布了 OleDb 的 NuGet 包: https: //www.nuget.org/packages/System.Data.OleDb/