我正在尝试使用Perl脚本将WinSCP用于SFTP。我几乎使用了WinSCP site逐字的代码。但我收到以下错误:
Win32 :: OLE :: CONST->加载:test.pl中没有或无效的类型库名称 第12行.Win32 :: OLE(0.1712):GetOleTypeLibObject()不是 C:/Perl/lib/Win32/OLE/Const.pm第49行的Win32 :: OLE :: TypeLib对象。
有谁知道造成这种情况的原因是什么?
我的代码:
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');
答案 0 :(得分:4)
确保您拥有registered WinSCP .NET assembly for COM:
%WINDIR%\Microsoft.NET\Framework\<version>\RegAsm.exe WinSCPnet.dll /codebase /tlb