我希望这个解释有意义。 我有一条线
(new Shell()).NameSpace(TargetDirectory).CopyHere(SourceFile, 16 | 2048);
当我按顺序调用它时它工作得很好。意思是我有我的Main方法,在那里,我调用包含该行的方法。 什么不起作用是从事件调用包含方法。我有一个FileSystemWatcher,在它的Changed事件中,我调用包含这一行的方法。然后我得到
System.InvalidCastException: 'Unable to cast COM object of type 'System.__ComObject' to interface type 'Shell32.Shell'. This operation failed because the QueryInterface call on the COM component for the interface with IID '{34936BA1-67AD-4C41-99B8-8C12DFF1E974}' failed due to the following error: No such interface supported (Exception from HRESULT: 0x80004002 (E_NOINTERFACE)).'
这就是我被困住的地方。我现在该线本身工作得很好,所以我不知道要修理什么以及如何修复。