无法在ASP.NET Core RC2中导入Oracle客户端

时间:2016-05-26 21:39:56

标签: oracle asp.net-core

使用新的dotnet核心,我们无法再从外部导入我们引用的dll,而是必须通过Nuget源。我想让Oracle.ManagedDataAccess Nuget包与我的项目一起工作,但到目前为止还没有运气。

以下是project.json文件中的错误:

geometric series

The dependency Oracle.ManagedDataAccess >= 12.1.24160419 could not be resolved.

这是Package Manager输出中的错误:

Project Oracle.ManagedDataAccess is not compatible with netcoreapp1.0 (.NETCoreApp,Version=v1.0). Project Oracle.ManagedDataAccess supports: net451 (.NETFramework,Version=v4.5.1)

这是否意味着我不能再使用这个包了?从我到目前为止所读到的,dotnet核心不支持.net framework v4.5.1。如果确实如此,我可以使用哪些替代方法连接到Oracle数据库?

1 个答案:

答案 0 :(得分:1)

我刚看了Oracle.ManagedDataAccess NuGet包,我认为它不能在CoreClr上运行。首先,它有一个仅针对net40的dll,因此它可能使用CoreClr / CoreFx中不可用的某些API,或者依赖于框/ GAC中的内容。其次,它在bin \ x64和bin \ x86子文件夹中有本机二进制文件。我想即使你把这个包强制成netcoreapp1.0也可能无法正常工作。如果他们使用DllImport属性导入这些dll,CoreClr将无法找到它们,因为包含本机资产的包的结构在新世界中有点不同。在我看来,由于这种依赖性,你的应用程序应该只针对完整的.NET(例如net451或更新版本)。