如何修复PowerShell中的DLL LoaderException

如何修复PowerShell中的DLL LoaderException,powershell,dll,dllimport,Powershell,Dll,Dllimport,我正在尝试加载itext7的.dll,但是如果我使用这个 Add-Type -Path "D:\Eigene\Packages\itext7.7.1.5\lib\net40\itext.kernel.dll" 我得到以下例外(翻译自德语): 当我使用: try { Add-Type -Path "D:\Eigene\Packages\itext7.7.1.5\lib\net40\itext.kernel.dll" } catch { $_.Exception.LoaderException

我正在尝试加载itext7的
.dll
,但是如果我使用这个

Add-Type -Path "D:\Eigene\Packages\itext7.7.1.5\lib\net40\itext.kernel.dll"
我得到以下例外(翻译自德语):

当我使用:

try   { Add-Type -Path "D:\Eigene\Packages\itext7.7.1.5\lib\net40\itext.kernel.dll" }
catch { $_.Exception.LoaderExceptions }
上面写着(也译成德语):

文件或程序集“BouncyCastle.Crypto,版本=1.8.1.0, 区域性=中性、PublicKeyToken=0e99375e54769942“或的依赖项 没有找到。系统找不到指定的文件

我怎样才能解决这个问题

编辑
我在我的系统上发现了一个BouncyCastle dll,当我安装itext7软件包时它也下载了该dll,但如果我加载
“D:\Eigene\Packages\Portable.BouncyCastle.1.8.5\lib\net40\BouncyCastle.Crypto.dll”,它也不起作用
在加载
itext.kernel.dll之前,请将这两个dll文件放在同一个文件夹中,然后再试一次。@很遗憾,没有解决这个问题的技术人员。可能是版本问题吗?bouncy castle dll是1.8.5,但错误表明它要加载1.8.1?我对dllI非常陌生,甚至没有注意到版本不匹配。取决于第一个DLL指定为依赖项的内容(如果它需要特定版本或最低版本)。我想看看你能不能弄到bouncy的确切版本castle@TheMadTechnician太好了,成功了!通常,Nuget包的版本与包内DLL的版本不匹配。您应该使用来确认依赖项DLL的版本是否正确。
try   { Add-Type -Path "D:\Eigene\Packages\itext7.7.1.5\lib\net40\itext.kernel.dll" }
catch { $_.Exception.LoaderExceptions }