PowerShell 刚刚开源(v6.0.0-alpha.10),我正试图让它从 OS X 连接到 MySQL 实例。
Oracle 似乎建议(如果我没看错的话)他们在 这里有一个 .Net Core 连接器。我像这样运行安装:
Install-Package MySql.ConnectorNET.Entity -Destination /MySQL
输出看起来不错:
名称 版本 来源 摘要 ---- -------- ------ -------- MySql.ConnectorNET.Data 6.8.3.2 用于 MySQL 的金块 ADO.Net 驱动程序 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
):
使用“1”参数调用“加载”的异常:“无法加载 文件或程序集 '/MySQL/MySql.ConnectorNET.Entity.6.8.3.2/lib/net40/MySql.Data.dll, 文化=中性,PublicKeyToken=null'。给定的程序集名称或 代码库无效。(来自 HRESULT 的异常:0x80131047)“在 /development/scripts/test.ps1:28 char:1 + [System.Reflection.Assembly]::Load("$dll") + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (:) [], MethodInvocationException + FullyQualifiedErrorId : FileLoadException
关于解决方法/修复的任何想法?我意识到 PowerShell 仍处于 alpha 阶段。
编辑
我能够使用以下两个命令安装 MySQL 提供程序:
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
我尝试注册所有我能想到的程序集:
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]:验证是否已加载包含此类型的程序集。