Perl - Win32::OLE::const 错误

Perl - Win32::OLE::const error

我正在尝试将 WinSCP 用于带有 Perl 脚本的 SFTP。我几乎是逐字使用 WinSCP site 中的代码。但是我收到以下错误:

Win32::OLE::CONST->Load: No or invalid type library name at test.pl line 12. Win32::OLE(0.1712): GetOleTypeLibObject() Not a Win32::OLE::TypeLib object at C:/Perl/lib/Win32/OLE/Const.pm line 49.

有人知道是什么原因造成的吗?

我的代码:

use Win32::OLE;
use Win32::OLE::Const;
use Win32::OLE::Variant;
 
Win32::OLE->Initialize(Win32::OLE::COINIT_OLEINITIALIZE);
my $session = Win32::OLE->new('WinSCP.Session');
 
my $consts = Win32::OLE::Const->Load($session);
 
my $sessionOptions = Win32::OLE->new('WinSCP.SessionOptions');

确保你有 registered WinSCP .NET assembly for COM:

%WINDIR%\Microsoft.NET\Framework\<version>\RegAsm.exe WinSCPnet.dll /codebase /tlb