Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
加载MySQL连接器DLL时出错0x80131047_Mysql_Macos_Powershell_.net Core_Powershell Core - Fatal编程技术网

加载MySQL连接器DLL时出错0x80131047

加载MySQL连接器DLL时出错0x80131047,mysql,macos,powershell,.net-core,powershell-core,Mysql,Macos,Powershell,.net Core,Powershell Core,PowerShell刚刚开源(v6.0.0-alpha.10),我很高兴 试图让它从OSX连接到MySQL实例 甲骨文似乎暗示(如果我没有看错的话)他们有 .Net核心连接器 . 我按如下方式运行安装: Install-Package MySql.ConnectorNET.Entity -Destination /MySQL [System.Reflection.Assembly]::Load(/MySQL/MySql.ConnectorNET.Data.6.8.3.2/lib/net45/M

PowerShell刚刚开源(v6.0.0-alpha.10),我很高兴 试图让它从OSX连接到MySQL实例

甲骨文似乎暗示(如果我没有看错的话)他们有 .Net核心连接器 . 我按如下方式运行安装:

Install-Package MySql.ConnectorNET.Entity -Destination /MySQL
[System.Reflection.Assembly]::Load(/MySQL/MySql.ConnectorNET.Data.6.8.3.2/lib/net45/MySql.Data.dll)
而且输出看起来不错:

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 我得到以下错误(请注意,我用 变量
$dll
):

我尝试注册我能想到的所有程序集:

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 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]: 验证是否加载了包含此类型的程序集


这不是.NET核心库-这里的“核心”一词表示EF6和Web包之间共享的功能,并且早于.NET核心的引入


在撰写本文时,Entity Framework Core正在开发MySql库。

解决方案

所以,事实证明我(大部分)走的是正确的道路。需要加载所有DLL。通过将它们复制到自己的目录中,然后通过迭代每个目录来加载它们,从而简化操作:

将DLL复制到新位置

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
}

好的,谢谢。你知道有任何用于.Net Core的MySql库吗?是的,请看一看并感谢James。我能够使用以下两个命令安装MySQL提供程序:Register PackageSource-Name nuget.org-ProviderName nuget-Location&install Package MySQL.Data.EntityFrameworkCore。然而,开发一个新的对象MySql.Data.MySqlClient并没有什么成效。我用附加信息编辑了这篇文章,如果格式有点奇怪,我表示歉意-我不知道如何通过可怕的“您的文章似乎包含格式不正确的代码”消息
Get-ChildItem "/Volumes/Main/libraries/mysql/*/lib/netstandard1.*/*.dll" | Copy-Item -Destination "/Volumes/Main/libraries/NEW_mysql" -Force
Get-ChildItem "/Volumes/Main/libraries/NEW_mysql" | ForEach-Object {
$path = "/Volumes/Main/libraries/NEW_mysql/" + $_.Name
Add-Type -Path $path -PassThru | Out-Null
}