2016-05-26 9 views
0

新しいdotnetコアでは、参照先のDLLを外部からインポートすることができず、代わりにNugetフィードを使用する必要があります。私はOracle.ManagedDataAccess私のプロジェクトで動作するようにNugetパッケージを取得しようとしていますが、これまでの運はありません。ASP.NETコアRC2でOracleクライアントをインポートできません

ここに私project.jsonファイル内のエラーです:

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

これは私がもはやできることを意味しないん:

enter image description here

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

これはパッケージマネージャの出力からの誤差で言いますこのパッケージを使用しますか?私がこれまでに読んだことから、dotnet coreは.net framework v4.5.1をサポートしていません。それが事実である場合、私はOracleデータベースに接続するために使用できるいくつかの選択肢は何ですか?

+0

完全な 'project.json'ファイルを共有できますか? –

+0

Oracle.ManagedDataAccessがCoreClrと互換性がないため、プロジェクトはnet451以降をターゲットにする必要があり、netcorapp1.0をターゲットにする必要はありません。 – Pawel

+0

@Pawel私はそれを知っています。しかし、アプリケーションはnetcoreapp1.0を対象としています。それがnet451だったなら、私はこの問題を抱えませんでした。 – painiyff

答えて

1

Oracle.ManagedDataAccess NuGetパッケージを見ましたが、CoreClrで実行できないと思います。まず、net40のみを対象とするdllを持っているので、CoreClr/CoreFxで利用できないいくつかのAPIを使用するか、ボックス/ GACにあるものに依存している可能性があります。次にbin \ x64とbin \ x86サブフォルダにネイティブバイナリがあります。私はあなたがこのパッケージをnetcoreapp1.0に強制しても動作しないかもしれないと思います。彼らがDllImport属性を使用してこれらのdllをインポートすると、CoreClrはそれらを見つけることができません。なぜなら、ネイティブアセットを含むパッケージの構造が新しい世界では少し異なるからです。私の意見では、この依存関係のため、アプリケーションは完全な.NET(たとえばnet451以上)をターゲットにする必要があります。

+0

ありがとう、ありがとう。 :( – painiyff

関連する問題