我在尝试从 Windows 7 x64 中的 PowerShell 加载 System.Data.SQLite.dll 时遇到了困难。
# x64
[void][System.Reflection.Assembly]::LoadFrom("C:\projects\PSScripts\lib\System.Data.SQLite.x64.DLL")
# x86
#[void][System.Reflection.Assembly]::LoadFrom("C:\projects\PSScripts\lib\System.Data.SQLite.DLL")
$conn = New-Object -TypeName System.Data.SQLite.SQLiteConnection
$conn.ConnectionString = "Data Source=C:\temp\PSData.db"
$conn.Open()
$command = $conn.CreateCommand()
$command.CommandText = "select DATETIME('NOW') as now, 'Bar' as Foo"
$adapter = New-Object -TypeName System.Data.SQLite.SQLiteDataAdapter $command
$dataset = New-Object System.Data.DataSet
[void]$adapter.Fill($dataset)
尝试打开与x64程序集的连接会导致:
使用“0”参数调用“打开”的异常:“尝试加载格式不正确的程序。(来自 HRESULT 的异常:0x8007000B)”
尝试加载x86程序集会导致:
使用“1”参数调用“LoadFrom”的异常:“无法加载文件或程序集 'file:///C:\projects\PSScripts\lib\System.Data.SQLite.DLL' 或其依赖项之一。试图加载格式不正确的程序。”
有什么想法或想法吗?