首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么使用DSOFile库设置的自定义文件属性在保存后不会保留?

为什么使用DSOFile库设置的自定义文件属性在保存后不会保留?
EN

Stack Overflow用户
提问于 2010-05-18 00:04:06
回答 1查看 4.6K关注 0票数 6

我目前正在开发一个用于AutoCAD的插件,它允许用户与文档版本控制应用程序进行交互,并且为了在远程存储库和本地机器之间同步文件,我计划使用自定义文件属性。这些属性将在最初下载文件时设置,然后只要文件保留在用户的本地驱动器上,这些属性就会一直存在。我对特定于AutoCAD的解决方案并不真正感兴趣,因为我的插件将处理AutoCAD图形以外的文件(文本文件、图像文件等)。因此,我想要一个能够处理尽可能多的潜在文件类型的库。

在搜索如何在C#中实现这类事情时,我几乎立即发现了DSOFile库。我读到的所有内容都说它是为MS Office设计的,但它应该适用于任何文件,只要文件系统是NTFS (至少我是这么理解的)。在纯文本文档(.txt)、AutoCAD绘图(.dwg)和图像(.jpg、.tif等)等文件上设置自定义属性没有问题。但是,我注意到,一旦保存了这些文件中的任何一个,自定义属性就会被清除。我看到自定义属性在保存后保持不变的唯一情况是在MS Office文档上。我认为这个问题与我用来保存文件的应用程序(AutoCAD、MS Paint、记事本等)有关,但我不能100%确定这一点。在我决定使用DSOFile以外的其他解决方案之前,我想看看是否有人对这个问题有一些见解。

我使用自己的代码和DSOFile附带的演示程序进行了测试,两次都看到了相同的结果。保存除MS Office (Word和Excel)文档以外的任何类型的文件后,自定义属性将被清除。

下面是一个类似于我用来添加新的自定义属性的代码的示例……

代码语言:javascript
复制
var docProperties = new OleDocumentProperties();
docProperties.Open("myfile.txt", false, dsoFileOpenOptions.dsoOptionDefault);

try
{
  object value = "some value";
  docProperties.CustomProperties.Add("MyCustomProp", ref value);
}

finally
{
  docProperties.Close(true); // save and close
}
EN

回答 1

Stack Overflow用户

发布于 2010-08-20 09:54:36

这可能太晚了,但我已经使用了这个或Autodesk Revit RFA文件以及PDF文件,它工作得很好。但是,当RFA处于打开状态时,您不能编辑它们。

你有没有调用过docProperties.Save()?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2850671

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档