2016-09-18 20 views
1

PowerShellは、単にソース化(5月v6.0.0-alpha.10)が開かれている、と私は はエラー0x80131047の読み込みMySQLのコネクタDLL

Oracleは思わOS XからMySQLインスタンスに接続するためにそれを取得しようとしています(正しく読んでいれば) .Netコアコネクタ hereがあることを示唆してください。 私はこのようなインストール走っ:

Install-Package MySql.ConnectorNET.Entity -Destination /MySQL 

と出力が美味しそうでした:私はこのようなアセンブリをロードしようとすると

Name      Version Source Summary     

----      ------- ------ ------- 
MySql.ConnectorNET.Data 6.8.3.2 nugget ADO.Net driver for MySQL  
MySql.ConnectorNET.Entity 6.8.3.2 nugget MySql Connector/NET for Entity Framework 6

は:

[System.Reflection.Assembly]::Load(/MySQL/MySql.ConnectorNET.Data.6.8.3.2/lib/net45/MySql.Data.dll) 

私は(次のエラーを取得しますパス変数$dll)を渡します:

Exception calling "Load" with "1" argument(s): "Could not load 
file or assembly 
'/MySQL/MySql.ConnectorNET.Entity.6.8.3.2/lib/net40/MySql.Data.dll, 
Culture=neutral, PublicKeyToken=null'. The given assembly name or 
codebase was invalid. (Exception from HRESULT: 0x80131047)" At 
/development/scripts/test.ps1:28 char:1 
+ [System.Reflection.Assembly]::Load("$dll") 
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    + CategoryInfo   : NotSpecified: (:) [], MethodInvocationException 
    + FullyQualifiedErrorId : FileLoadException

回避策/修正に関するアイデアはありますか?私はPowerShellがまだ アルファにあることを認識しています。

Register-PackageSource -Name nuget.org -ProviderName NuGet -Location https://www.nuget.org/api/v2/ 
Install-Package MySql.Data.EntityFrameworkCore -Destination /Volumes/Main/libraries/MySQL/ -AllowPrereleaseVersions 

私は私が考えることができるすべてのアセンブリを登録してみました:

EDIT

が、私はこれらの2つのコマンドを使用してMySQLプロバイダをインストールすることができました

 
Microsoft.EntityFrameworkCore.1.0.1/lib/netstandard1.3/Microsoft.EntityFrameworkCore.dll 
Microsoft.Extensions.Configuration.1.0.0/lib/netstandard1.1/Microsoft.Extensions.Configuration.dll 
Microsoft.Extensions.Configuration.Json.1.0.0/lib/netstandard1.3/Microsoft.Extensions.Configuration.Json.dll 
MySql.Data.EntityFrameworkCore.7.0.5-IR21/lib/netstandard1.6/MySql.Data.EntityFrameworkCore.dll 
MySql.Data.7.0.5-IR21/lib/netstandard1.6/MySql.Data.dll

しかし、新しいMySqlオブジェクトを作成しようとすると、まだ の

で爆発します

新規オブジェクト:[MySql.Data.MySqlClient]タイプが見つからない: この型を含むアセンブリがロードされていることを確認します。

+0

謝罪をDLLをコピーします書式設定がちょっと奇妙な場合 - 恐怖を乗り越える方法を見つけられませんでした。「正しく書式設定されていないコードが含まれているようです」メッセージ – Jeremy

答えて

0

SOLUTION

だから、それは私が(主に)正しい軌道に乗っていたが判明しました。 すべてののDLLをロードする必要があります。自分のディレクトリにそれらをコピーすることによって人生を容易にし、各1を反復処理することによって、それらをロードします。

負荷

Get-ChildItem "/Volumes/Main/libraries/mysql/*/lib/netstandard1.*/*.dll" | Copy-Item -Destination "/Volumes/Main/libraries/NEW_mysql" -Force 
新しい場所にすべての必要なDLL

Get-ChildItem "/Volumes/Main/libraries/NEW_mysql" | ForEach-Object { 
$path = "/Volumes/Main/libraries/NEW_mysql/" + $_.Name 
Add-Type -Path $path -PassThru | Out-Null 
} 
1

これは.NETコアライブラリではありません。ここでの「コア」という語は、EF6とWebパッケージ間で共有される機能を示し、.NETコアの紹介より先です。

Entity Framework Coreには、作成時に開発中のMySqlライブラリがあります。

+0

ありがとうございました。 .NETコア用のMySqlライブラリを知っていますか? – Jeremy

+0

はい、https://docs.efproject.net/en/latest/providers/mysql/とhttps://docs.efproject.net/en/latest/providers/pomelo/index.htmlをご覧ください –

+0

ありがとうございましたJames 。 Register-PackageSource -Name nuget.org -ProviderName NuGet -Location https://www.nuget.org/api/v2/&Install-Package MySql.Data.EntityFrameworkCoreの2つのコマンドを使用して、MySQLプロバイダをインストールできました。しかし、新しいオブジェクトMySql.Data.MySqlClientを実行することは、実りあることを証明するものではありません。私は追加情報で投稿を編集した – Jeremy

関連する問題