我使用DSOFile
使用以下代码将自定义属性写入文件:
DSOFile.OleDocumentProperties file = new DSOFile.OleDocumentProperties();
file.Open(@"C:\More_info.docx",false,DSOFile.dsoFileOpenOptions.dsoOptionDefault);
但是在运行代码时它会给我以下错误:
未处理的类型' System.InvalidCastException'发生了 在batchFile.exe中
附加信息:无法转换类型的COM对象 ' DSOFile.OleDocumentPropertiesClass'到界面类型 ' DSOFile._OleDocumentProperties&#39 ;.此操作失败,因为 QueryInterface在具有IID的接口的COM组件上调用 ' {58968145-CF01-4341-995F-2EE093F6ABA3}'由于以下原因而失败 错误:不支持此类接口(HRESULT异常:0x80004002 (E_NOINTERFACE))。
然后将file
的类型更改为dynamic
它执行该行,但无法添加或查看与该文件关联的属性,所有属性都显示功能评估需要所有线程跑。
那就是代码看起来像这样:
dynamic myFile = new DSOFile.OleDocumentProperties();
file.Open(@"C:\More_info.docx",false,DSOFile.dsoFileOpenOptions.dsoOptionDefault);
以下是我在调试时观察变量时发生的情况:
我做错了什么?任何建议将不胜感激。