我有一个.NET 4.0库,它使用
Shell32和Folder.GetDetailsOf()从WTV文件中获取元数据.我已经成功使用它与控制台和
Windows窗体应用程序没有问题.但是由于某些原因,当从.NET 4.0 Windows服务调用组件时,启动Shell类的调用会导致COM错误.
库内失败的代码:
Shell32.Shell shell = new Shell();
错误:
无法将类型为“System .__ ComObject”的COM对象转换为接口类型“Shell32.Shell”.此操作失败,因为由于以下错误,IID'{286E6F1B-7113-4355-9562-96B7E9D64C54}接口的COM组件上的QueryInterface调用失败:不支持此类接口(HRESULT异常:0x80004002(E_NOINTERFACE)) .
我读了我的公寓线程,COM Interops,动态,PIA等等的填充等:)但是我没有找到的解决方案的组合已经解决了这个问题.它必须是来自另一个线程的调用,看不到Interop.请帮助 :)